ref #8124: activate name facts for name in taxon details view
authorKatja Luther <k.luther@bgbm.org>
Thu, 28 Feb 2019 11:11:02 +0000 (12:11 +0100)
committerKatja Luther <k.luther@bgbm.org>
Thu, 28 Feb 2019 11:11:02 +0000 (12:11 +0100)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/FactualDataPartE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/details/DetailsPartE4.java

index 28a40e1b5f718137c7e39c8748606cb5b4816f8c..3a74a725ae0017318ff993081f420d2a0c7a5c43 100644 (file)
@@ -42,6 +42,7 @@ import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.IDescribable;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.bulkeditor.e4.BulkEditorE4;
@@ -127,19 +128,17 @@ public class FactualDataPartE4 extends AbstractCdmEditorPartE4
 
         Object partObject = createPartObject(activePart);
 
-        if (partObject instanceof DetailsPartE4 || partObject instanceof SupplementalDataPartE4
+
+
+        if ((partObject instanceof DetailsPartE4 && !(selection instanceof TaxonName))|| partObject instanceof SupplementalDataPartE4
                 || partObject instanceof MediaViewPartE4 || partObject instanceof ConceptViewPartE4) {
             // do not show empty page as these views are also used to edit the
             // description selected in this view
             return;
         }
-//        if(partObject instanceof ChecklistEditorE4){
-//            IWorkbenchPage page = PlatformUI.getWorkbench()
-//                    .getActiveWorkbenchWindow().getActivePage();
-//            page.hideView(page.findView("eu.etaxonomy.taxeditor.editor.view.descriptive.e4.FactualDataPartE4"));
-//        }
 
-        if(partObject instanceof IPartContentHasFactualData){
+
+        if(partObject instanceof IPartContentHasFactualData ){
             if (!viewer.getControl().isDisposed()){
                 viewer.getControl().setEnabled(true);
             }
index 56977edca7d3f6e8323f4dc0132445df655c0469..bbad786bd881812cf7b667cd585e9c80b603700a 100644 (file)
@@ -34,6 +34,7 @@ import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
@@ -45,6 +46,7 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4;
 import eu.etaxonomy.taxeditor.view.e4.details.DetailsViewerE4;
 import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
 import eu.etaxonomy.taxeditor.workbench.part.ISelectionElementEditingPart;
@@ -224,14 +226,20 @@ public abstract class AbstractCdmEditorPartE4
                 else if(element instanceof TermVocabularyDto){
                     element = CdmStore.getService(IVocabularyService.class).load(((TermVocabularyDto) element).getUuid());
                 }
+
+                selectionProvidingPart = activePart;
                 if (viewer instanceof DetailsViewerE4){
                     ((DetailsViewerE4)viewer).setInput(element, part);
                     ((DetailsViewerE4)viewer).setDetailsEnabled(true);
+
                 }
+
                 else{
+                    if (activePart.getObject() instanceof DetailsPartE4 && element instanceof TaxonName){
+                        selectionProvidingPart = ((DetailsPartE4)activePart.getObject()).getSelectionProvidingPart();
+                    }
                     viewer.setInput(element);
                 }
-                selectionProvidingPart = activePart;
             }
         }
     }
index c98bb3a301375f18f4067d4d7f1cae594f034a35..ad811b507d2998b602a0902418337b39209bb4ab 100644 (file)
@@ -27,6 +27,7 @@ import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
 import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -39,7 +40,7 @@ import eu.etaxonomy.taxeditor.workbench.part.ISelectionElementEditingPart;
  * @date 18.07.2017
  *
  */
-public class DetailsPartE4 extends AbstractCdmEditorPartE4 implements IPartContentHasSupplementalData {
+public class DetailsPartE4 extends AbstractCdmEditorPartE4 implements IPartContentHasSupplementalData, IPartContentHasFactualData {
        @Inject
        private Logger logger;