ref #6595 Refresh after delete
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / name / e4 / handler / SwapSynonymAndAcceptedHandlerE4.java
index 95b8180402b7a730ca77cc89846235aa603c5ced..945a35c03726ddd4bc6390922c1875df0e9c8abe 100644 (file)
@@ -11,6 +11,7 @@ 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;
@@ -26,6 +27,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
+import eu.etaxonomy.taxeditor.editor.name.handler.NameEditorMenuPropertyTester;
 import eu.etaxonomy.taxeditor.editor.name.operation.SwapSynonymAndAcceptedOperation;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
@@ -68,6 +70,17 @@ public class SwapSynonymAndAcceptedHandlerE4 implements IPostOperationEnabled {
 
     }
 
+    @CanExecute
+    public boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection,
+            MHandledMenuItem menuItem){
+        boolean canExecute = false;
+        Object selectedElement = selection.getFirstElement();
+        canExecute =
+                NameEditorMenuPropertyTester.isSynonym(selectedElement);
+        menuItem.setVisible(canExecute);
+        return canExecute;
+    }
+
     @Override
     public boolean postOperation(CdmBase objectAffectedByOperation) {
         // Redraw existing editor