ref #6907 Show factual data for derivatives
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 16 Aug 2017 12:46:19 +0000 (14:46 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 16 Aug 2017 12:46:19 +0000 (14:46 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/FactualDataPartE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/CreateDescriptionHandler.java

index 86657ea7d26641776fc597da6d13e1b17d4baa36..40a45f5754a7be3d65046eea69809b7f64c3a2c8 100644 (file)
@@ -11,6 +11,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import java.util.Set;
 
 import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.TreeNode;
 import org.eclipse.jface.viewers.Viewer;
 
 import eu.etaxonomy.cdm.model.common.Marker;
 import org.eclipse.jface.viewers.Viewer;
 
 import eu.etaxonomy.cdm.model.common.Marker;
@@ -58,6 +59,9 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
        /** {@inheritDoc} */
        @Override
     public Object[] getChildren(Object parentElement) {
        /** {@inheritDoc} */
        @Override
     public Object[] getChildren(Object parentElement) {
+           if(parentElement instanceof TreeNode){
+               parentElement = ((TreeNode) parentElement).getValue();
+           }
                if (parentElement instanceof IDescribable<?>) {
                        return getDescriptions((IDescribable<?>) parentElement).toArray();
                }
                if (parentElement instanceof IDescribable<?>) {
                        return getDescriptions((IDescribable<?>) parentElement).toArray();
                }
index 20bec5a5e0e7255b275331bbf3a4ae64d17e3fca..18e8d3730aab644695eecba3e0fbc64e2fabe958 100644 (file)
@@ -31,6 +31,7 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeNode;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
@@ -174,7 +175,9 @@ public class FactualDataPartE4 extends AbstractCdmEditorPartE4
                     return;
                 }
             }
                     return;
                 }
             }
-
+            if(firstElement instanceof TreeNode){
+                firstElement = ((TreeNode) firstElement).getValue();
+            }
             if(firstElement instanceof IDescribable<?>
                 && partObject instanceof IPartContentHasFactualData
                     && !(firstElement instanceof SpecimenOrObservationBase && partObject instanceof BulkEditor)){
             if(firstElement instanceof IDescribable<?>
                 && partObject instanceof IPartContentHasFactualData
                     && !(firstElement instanceof SpecimenOrObservationBase && partObject instanceof BulkEditor)){
index 61ed0931ef31394de509aefd33a267daff10c746..8b4fb4ad407e63931cbf005b184ddccd447212cf 100644 (file)
@@ -14,6 +14,7 @@ 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.MMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.viewers.TreeNode;
 
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
@@ -41,6 +42,9 @@ public class CreateDescriptionHandler {
 
         AbstractPostOperation<?> operation;
         Object viewerInput = factualDataPart.getViewer().getInput();
 
         AbstractPostOperation<?> operation;
         Object viewerInput = factualDataPart.getViewer().getInput();
+        if(viewerInput instanceof TreeNode){
+            viewerInput = ((TreeNode) viewerInput).getValue();
+        }
         if(viewerInput instanceof SpecimenOrObservationBase<?>){
             operation = new CreateSpecimenDescriptionOperation(menuItem.getLocalizedLabel(), EditorUtil.getUndoContext(), (SpecimenOrObservationBase<?>) viewerInput, factualDataPart);
             AbstractUtility.executeOperation(operation);
         if(viewerInput instanceof SpecimenOrObservationBase<?>){
             operation = new CreateSpecimenDescriptionOperation(menuItem.getLocalizedLabel(), EditorUtil.getUndoContext(), (SpecimenOrObservationBase<?>) viewerInput, factualDataPart);
             AbstractUtility.executeOperation(operation);