From db940f1c2e264440860c786b1551dbfceae427b9 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Tue, 12 Apr 2016 06:36:04 +0200
Subject: [PATCH] Add "Open in..." menu to polytomous key editors and navigator
#5610
---
.../referencingobjects/ReferencingObjectsView.java | 8 ++++++++
eu.etaxonomy.taxeditor.editor/plugin.xml | 11 +++++++----
.../key/polytomous/PolytomousKeyListEditor.java | 1 +
eu.etaxonomy.taxeditor.navigation/plugin.xml | 4 ++++
.../key/polytomous/PolytomousKeyViewPart.java | 1 +
5 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
index 9c977a78e..9db3b0b84 100644
--- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
+++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
@@ -49,6 +49,8 @@ import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.IMediaService;
import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
+import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.ITermService;
@@ -64,6 +66,8 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
+import eu.etaxonomy.cdm.model.description.PolytomousKey;
+import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.name.NonViralName;
@@ -239,6 +243,10 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
referencedObject = CdmStore.getService(IDescriptionService.class).loadDescriptionElement(entity, null);
} else if (objectClass.equals(Sequence.class)){
referencedObject = CdmStore.getService(ISequenceService.class).load(entity, null);
+ } else if (PolytomousKey.class.isAssignableFrom(objectClass)){
+ referencedObject = CdmStore.getService(IPolytomousKeyService.class).load(entity, null);
+ } else if (PolytomousKeyNode.class.isAssignableFrom(objectClass)){
+ referencedObject = CdmStore.getService(IPolytomousKeyNodeService.class).load(entity, null);
} else if (DefinedTermBase.class.isAssignableFrom(objectClass)){
referencedObject = CdmStore.getService(ITermService.class).load(entity, null);
} else if (EventBase.class.isAssignableFrom(objectClass)){
diff --git a/eu.etaxonomy.taxeditor.editor/plugin.xml b/eu.etaxonomy.taxeditor.editor/plugin.xml
index 22b08f193..a2287eda7 100644
--- a/eu.etaxonomy.taxeditor.editor/plugin.xml
+++ b/eu.etaxonomy.taxeditor.editor/plugin.xml
@@ -649,10 +649,6 @@
label="%command.label.20"
style="push">
-
-
+
+
+
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java
index c86490ead..69883cbf0 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java
@@ -277,6 +277,7 @@ public class PolytomousKeyListEditor extends EditorPart implements
Control control = viewer.getControl();
Menu menu = menuManager.createContextMenu(control);
+ menuManager.setRemoveAllWhenShown(true);
control.setMenu(menu);
}
diff --git a/eu.etaxonomy.taxeditor.navigation/plugin.xml b/eu.etaxonomy.taxeditor.navigation/plugin.xml
index c01bb7ad9..e34d01f06 100644
--- a/eu.etaxonomy.taxeditor.navigation/plugin.xml
+++ b/eu.etaxonomy.taxeditor.navigation/plugin.xml
@@ -367,6 +367,10 @@
label="%command.label.15"
style="push">
+