|
Re: Anyone know how to pickup all editor save events? [message #637792 is a reply to message #637772] |
Mon, 08 November 2010 21:35 |
|
Try the below snippet. From debugging the code i could see that there is only one document provider associated with each type of editor(Java, Text etc..) . You need to test for the other editors.
private Map<Object, Object> docProviders = new WeakHashMap<Object, Object>();
public void partOpened(IWorkbenchPart part) {
if (part instanceof ITextEditor) {
IDocumentProvider documentProvider = ((ITextEditor) part).getDocumentProvider();
if (!docProviders.containsKey(documentProvider)) {
documentProvider.addElementStateListener(saveEventListener);
}
}
}
private IElementStateListener saveEventListener = new IElementStateListener() {
@Override
public void elementDirtyStateChanged(Object element, boolean isDirty) {
if (!isDirty) {
System.out.println(element + " is saved at " + new Date());
}
}
@Override
public void elementMoved(Object originalElement, Object movedElement) {
}
@Override
public void elementDeleted(Object element) {
}
@Override
public void elementContentReplaced(Object element) {
}
@Override
public void elementContentAboutToBeReplaced(Object element) {
}
};
Regards,
Prasad
http://marketplace.eclipse.org/user/9964/listings
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03408 seconds