// $Id$\r
/**\r
* Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
import org.eclipse.core.commands.common.NotDefinedException;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
import org.eclipse.jface.dialogs.MessageDialog;\r
+import org.eclipse.jface.viewers.ISelection;\r
import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.IEditorPart;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
import eu.etaxonomy.taxeditor.editor.definedterm.operation.DeleteTermBaseOperation;\r
+import eu.etaxonomy.taxeditor.model.AbstractUtility;\r
import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import eu.etaxonomy.taxeditor.store.StoreUtil;\r
*/\r
public class DeleteTermBaseHandler extends AbstractHandler {\r
\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
- */\r
@Override\r
public Object execute(ExecutionEvent event) throws ExecutionException {\r
- DefinedTermEditor editor = (DefinedTermEditor) HandlerUtil\r
+ IEditorPart editor = HandlerUtil\r
.getActiveEditor(event);\r
\r
if (editor.isDirty()){\r
}\r
}\r
if (editor instanceof DefinedTermEditor){\r
- DefinedTermEditor dfe = (DefinedTermEditor) editor;\r
- try {\r
- String label = event.getCommand().getName();\r
- IUndoContext undoContext = StoreUtil.getUndoContext();\r
+ DefinedTermEditor dfe = (DefinedTermEditor) editor;\r
+ try {\r
+ String label = event.getCommand().getName();\r
+ IUndoContext undoContext = StoreUtil.getUndoContext();\r
\r
- IStructuredSelection selection = (IStructuredSelection) HandlerUtil\r
- .getCurrentSelection(event);\r
+ ISelection selection = dfe.getViewer().getSelection();\r
+ if(selection instanceof IStructuredSelection){\r
\r
- Iterator<TermBase> selectionIterator = selection.iterator();\r
+ Iterator<TermBase> selectionIterator = ((IStructuredSelection) selection).iterator();\r
\r
- while (selectionIterator.hasNext()){\r
+ while (selectionIterator.hasNext()){\r
\r
- TermBase term = selectionIterator.next();\r
+ TermBase term = selectionIterator.next();\r
\r
\r
- AbstractPostOperation operation = \r
- new DeleteTermBaseOperation(label, \r
- undoContext,\r
- term,\r
- dfe.getDefinedTermEditorInput(), \r
- editor);\r
- StoreUtil.executeOperation(operation);\r
-\r
- } \r
- } catch (NotDefinedException e) {\r
- MessagingUtils.error(getClass(), e);\r
- }\r
+ AbstractPostOperation operation =\r
+ new DeleteTermBaseOperation(label,\r
+ undoContext,\r
+ term,\r
+ dfe.getDefinedTermEditorInput(),\r
+ dfe);\r
+ AbstractUtility.executeOperation(operation);\r
+ }\r
+ }\r
+ } catch (NotDefinedException e) {\r
+ MessagingUtils.error(getClass(), e);\r
+ }\r
}\r
return null;\r
}\r