[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.platform] Re: handle deleting a resource

Finally founded the solution :

protected IResourceChangeListener resourceChangeListener =
new IResourceChangeListener() {
public void resourceChanged(IResourceChangeEvent event) {{
IResourceDelta delta = event.getDelta();
try {
class ResourceDeltaVisitor implements IResourceDeltaVisitor {
public boolean visit(IResourceDelta delta) {
if (delta.getResource().getType() == IResource.FILE) {
if ((delta.getKind() & (IResourceDelta.REMOVED)) != 0) {
String deltaPath = delta.getFullPath().toString();
pageName = deltaPath.substring(deltaPath.lastIndexOf('/') + 1);
getSite().getShell().getDisplay().asyncExec
(new Runnable() {
public void run() {
IWorkbenchPage [] pages = getSite().getWorkbenchWindow().getPages();
for (int i = 0; i < pages.length;i++) {
IWorkbenchPage page = pages[i];
if (page.getActiveEditor().getTitle().equals(pageName)) {
getSite().getPage().closeEditor(page.getActiveEditor(), false);
}
}
}
});
}
}
return true;
}
}


						ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
						delta.accept(visitor);
			
					}
					catch (CoreException exception) {
						Logger.error("Excepttion",exception);
					}
				}
			}
		};