[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.platform] Re: handle deleting a resource
|
- From: Alexandre Jaquet <alexjaquet@xxxxxxxxx>
- Date: Mon, 26 Nov 2007 11:03:38 +0100
- Newsgroups: eclipse.platform
- Organization: EclipseCorner
- User-agent: Thunderbird 2.0.0.9 (Windows/20071031)
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);
}
}
}
};