ref #8124: do not show move description(element) menu item for name facts
authorKatja Luther <k.luther@bgbm.org>
Tue, 9 Apr 2019 08:16:45 +0000 (10:16 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 9 Apr 2019 08:16:45 +0000 (10:16 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/MoveDescriptionElementsHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/MoveDescriptionToOtherTaxonHandlerE4.java

index 13f0eb5969e5fbed186e0c4abaca18ac0067550d..ec335b365d0e396e55f696877f5d0ddda256a6a6 100644 (file)
@@ -41,6 +41,7 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -250,9 +251,10 @@ public class MoveDescriptionElementsHandlerE4 implements IPostOperationEnabled{
         if(e4WrappedPart instanceof TaxonNameEditorE4){
             ISelection selection = factualDataPart.getViewer().getSelection();
             if(selection instanceof IStructuredSelection){
+                boolean selectionProviding = factualDataPart.getSelectionProvidingPart().getObject() instanceof TaxonNameEditorE4;
                 Object firstElement = ((IStructuredSelection) selection).getFirstElement();
-                canExecute = firstElement instanceof FeatureNodeContainer
-                        || firstElement instanceof DescriptionElementBase;
+                canExecute = (firstElement instanceof FeatureNodeContainer && !(((FeatureNodeContainer)firstElement).getContainerTree().getDescription() instanceof TaxonNameDescription))
+                        || (firstElement instanceof DescriptionElementBase && !(((DescriptionElementBase)firstElement).getInDescription() instanceof TaxonNameDescription)) ;
                 menuItem.setVisible(canExecute);
             }
         }
index b355e6a318b4f71b25d66d3c2d9d530ee1a41205..d0568702af43d260452ebb0ac038aefa0428a232 100644 (file)
@@ -31,6 +31,7 @@ import org.eclipse.swt.widgets.Shell;
 
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
@@ -208,7 +209,7 @@ public class MoveDescriptionToOtherTaxonHandlerE4 implements IPostOperationEnabl
             if(selection instanceof IStructuredSelection){
                 Object firstElement = ((IStructuredSelection) selection).getFirstElement();
                 canExecute = ((IStructuredSelection) selection).size()==1
-                        && firstElement instanceof DescriptionBase;
+                        && firstElement instanceof DescriptionBase && !(firstElement instanceof TaxonNameDescription);
                 menuItem.setVisible(canExecute);
             }
         }