import eu.etaxonomy.taxeditor.editor.ISecuredEditor;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
+import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
/**
* <p>
this.selection = selection;
}
- /* (non-Javadoc)
- * @see java.lang.Runnable#run()
- */
@Override
public void run() {
try{
- internal_selectionChanged(part, selection);
+ selectionChanged_internal(part, selection);
}
finally{
isInDelay = false;
* @param part The workbench part that has issued the selection change
* @param selection the new selection
*/
- protected abstract void internal_selectionChanged(IWorkbenchPart part, ISelection selection);
+ protected abstract void selectionChanged_internal(IWorkbenchPart part, ISelection selection);
/** {@inheritDoc} */
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- if(delaySelection==null){
+ /*to avoid widget is disposed exceptions
+ if(getViewer().getControl().isDisposed()){
+ return;
+ }*/
+ if(delaySelection==null){
delaySelection = new DelaySelection(part, selection);
}
delaySelection.setPart(part);
Display.getCurrent().asyncExec(delaySelection);
}
}
+
+
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createPartControl(org
- * .eclipse.swt.widgets.Composite)
- */
/** {@inheritDoc} */
@Override
public void createPartControl(Composite parent) {
((AbstractCdmViewPart) part).changed(object);
} else {
IEditorPart editor = getEditor();
- if (editor != null && editor instanceof IDirtyMarkableSelectionProvider) {
- ((IDirtyMarkableSelectionProvider) editor).changed(object);
+ if (editor != null && editor instanceof IDirtyMarkable) {
+ ((IDirtyMarkable) editor).changed(object);
}
}
}