Merge branch 'develop' into nameEditorE4
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / name / e4 / handler / CreateHeterotypicSynonymHandlerE4.java
index bdde05facf442c29c8c88f43816fe454bd55f73d..fd6b2dad4af000b494eb7dbd2daea82fc8ec7484 100644 (file)
@@ -11,13 +11,16 @@ package eu.etaxonomy.taxeditor.editor.name.e4.handler;
 
 import javax.inject.Named;
 
+import org.eclipse.e4.core.di.annotations.CanExecute;
 import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.viewers.IStructuredSelection;
 
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
+import eu.etaxonomy.taxeditor.editor.name.handler.NameEditorMenuPropertyTester;
 import eu.etaxonomy.taxeditor.editor.name.operation.CreateSynonymInNewGroupOperation;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
@@ -45,4 +48,12 @@ public class CreateHeterotypicSynonymHandlerE4 {
                        editor.getUndoContext(), editor.getTaxon(), newSynonymName, editor);
         AbstractUtility.executeOperation(operation);
        }
+
+    @CanExecute
+    public boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection,
+            MHandledMenuItem menuItem){
+        Object selectedElement = selection.getFirstElement();
+        boolean canExecute = NameEditorMenuPropertyTester.isAccepted(selectedElement);
+        return canExecute;
+    }
 }