ref #7010 Adapt edit polytomous key handler
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / e4 / handler / RefreshTreeHandlerE4.java
index 9419adb4dbbde5c7fce4c3b794d367f6d5886564..2f443f5a4c531518dbe4891b44f1155512e60018 100644 (file)
@@ -11,9 +11,14 @@ package eu.etaxonomy.taxeditor.navigation.navigator.e4.handler;
 
 import javax.inject.Named;
 
 
 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.basic.MPart;
+import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.viewers.TreeSelection;
 
 
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
 import eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4;
 
 /**
 import eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4;
 
 /**
@@ -24,10 +29,19 @@ import eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4;
  */
 public class RefreshTreeHandlerE4 {
 
  */
 public class RefreshTreeHandlerE4 {
 
+    @Execute
     public void execute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart) {
 
         TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject();
 
         taxonNavigator.refresh();
        }
     public void execute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart) {
 
         TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject();
 
         taxonNavigator.refresh();
        }
+
+    @CanExecute
+    private boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection, MHandledMenuItem menuItem){
+        boolean canExecute = false;
+        canExecute = selection.getFirstElement() instanceof TaxonNodeDto;
+        menuItem.setVisible(canExecute);
+        return canExecute;
+    }
 }
 }