ref #9338: restructure term menues and adapt handling
authorKatja Luther <k.luther@bgbm.org>
Tue, 15 Dec 2020 10:33:07 +0000 (11:33 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 15 Dec 2020 10:33:07 +0000 (11:33 +0100)
24 files changed:
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/character/CharacterEditor.java
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties
eu.etaxonomy.taxeditor.store/fragment.e4xmi
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/handler/OpenDefinedTermEditorHandlerE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/CharacterTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/NamedAreaTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/PresenceAbsenceTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/PropertyTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/RankTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/StructureTreeEditor.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/TermTreeEditor.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/AbstractTermTreeEditor.java with 96% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/AbstractAddFeatureHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/CopyFeatureHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/CreateFeatureTreeHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/OpenTermTreeEditorHandler.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/PasteFeatureHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/RemoveFeatureHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/RemoveFeatureTreeHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/AppModelId.java

index cc783189eb7a4945e37882e1ad9c0d85ce1cf9c8..670089d81aafd8042f730b2792d51db4ca85b85c 100644 (file)
@@ -87,11 +87,11 @@ import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.featuretree.CharacterTransfer;
 import eu.etaxonomy.taxeditor.featuretree.FeatureTreeContentProvider;
 import eu.etaxonomy.taxeditor.featuretree.FeatureTreeLabelProvider;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.FeatureNodeDtoDragListener;
 import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeDtoDropAdapter;
 import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeDtoEditorComposite;
 import eu.etaxonomy.taxeditor.featuretree.e4.ICharacterEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
@@ -294,12 +294,12 @@ public class CharacterEditor implements ICharacterEditor, IConversationEnabled,
         viewer.setLabelProvider(new FeatureTreeLabelProvider());
         viewer.setComparator(new FeatureTreeViewerComparator());
         viewer.addSelectionChangedListener(this);
-        viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, AbstractTermTreeEditor.TREE_PROPERTY_PATH));
+        viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, TermTreeEditor.TREE_PROPERTY_PATH));
         btnRefresh.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent e) {
-                viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, AbstractTermTreeEditor.TREE_PROPERTY_PATH));
+                viewer.setInput(CdmStore.getService(ITermTreeService.class).list(termType, null, null, null, TermTreeEditor.TREE_PROPERTY_PATH));
                 refresh(viewer);
             }
         });
index 1c9d28848cf1d31042e08f670d0339d5fe486500..b4096a7687b4879710a860d26989fcde99d80520 100644 (file)
@@ -226,7 +226,7 @@ command.commandname.8 = Delete term tree
 command.commandname.9 = Create term tree
 command.commandname.10 = Restart
 menu.label.1 = Terms
-handledmenuitem.label.8 = Term Trees
+handledmenuitem.label.8 = Term Tree
 handledmenuitem.tooltip.1 = Term Tree Editor
 handledmenuitem.label.9 = GFBio Term Import
 handledmenuitem.tooltip.2 = GFBio Term Import
@@ -301,4 +301,27 @@ menu.label.5 = Specimen
 menu.label.6 = Taxa
 menu.label.7 = References
 menu.label.8 = Descriptive Data
-menu.label.9 = Factual Data
+menu.label.9 = Factual Data\r
+\r
+handledmenuitem.label.30 = State\r
+handledmenuitem.label.31 = Structure Modifier
+handledmenuitem.label.32 = Named Area Level\r
+handledmenuitem.label.33 = Named Area Type\r
+handledmenuitem.label.34 = Annotation Type\r
+handledmenuitem.label.35 = Identifier Type\r
+handledmenuitem.label.36 = Marker Type\r
+handledmenuitem.label.37 = Extension Type\r
+handledmenuitem.label.38 = Modifier\r
+handledmenuitem.label.39 = Kind of Unit\r
+handledmenuitem.label.40 = Determination Modifier\r
+handledmenuitem.label.41 = Scope\r
+handledmenuitem.label.42 = Sex\r
+handledmenuitem.label.43 = Stage\r
+handledmenuitem.label.44 = DNA Marker\r
+handledmenuitem.label.45 = Namerelationship Type\r
+handledmenuitem.label.46 = Taxonrelationship Type\r
+handledmenuitem.label.47 = Nametypedesignation Status\r
+handledmenuitem.label.48 = Nomenclatural Status Type\r
+handledmenuitem.label.49 = Specimentypedesignation Status\r
+handledmenuitem.label.50 = Taxonnode Agent Relation Type\r
+handledmenuitem.label.51 = Language\r
index 52c786a1df1442fe16c2932525147fd3ce238a43..377cad59a5eef92a06ae822e0a76cc7c96fb363c 100644 (file)
@@ -227,8 +227,8 @@ command.commandname.8 = Termbaum l
 command.commandname.9 = Termbaum erstellen
 command.commandname.10 = Neustarten
 menu.label.1 = Terme
-handledmenuitem.label.8 = Term-Bäume
-handledmenuitem.tooltip.1 = Term-Baumeditor
+handledmenuitem.label.8 = Termbaum
+handledmenuitem.tooltip.1 = Termbaum-Editor
 handledmenuitem.label.9 = GFBio Term Import
 handledmenuitem.tooltip.2 = GFBio Term Import
 menu.label.2 = Export
@@ -276,7 +276,7 @@ page.name.61 = Details View
 command.commandname.20 = Struktur-Baum (OWL)
 command.commandname.21 = OWL-Term-Export
 handledmenuitem.label.22 = OWL Term Export
-handledmenuitem.label.23 = Term Baum OWL Import
+handledmenuitem.label.23 = Termbaum OWL Import
 
 page.name.104 = Verbreitungsdaten
 page.name.105 = Status
@@ -302,4 +302,26 @@ menu.label.5 = Beleg
 menu.label.6 = Taxa
 menu.label.7 = Referenzen
 menu.label.8 = Beschreibende Daten
-menu.label.9 = Faktendaten
\ No newline at end of file
+menu.label.9 = Faktendaten
+
+handledmenuitem.label.30 = Zustand
+handledmenuitem.label.31 = Struktur Modifikator
+handledmenuitem.label.32 = Gebietsebene
+handledmenuitem.label.33 = Gebietstyp
+handledmenuitem.label.34 = Annotationstyp
+handledmenuitem.label.35 = Identifier-Typ
+handledmenuitem.label.36 = Marker-Typ
+handledmenuitem.label.37 = Extension-Typ
+handledmenuitem.label.38 = Modifikator
+handledmenuitem.label.39 = Art des Datensatzes
+handledmenuitem.label.40 = Bestimmungs-Modifikator
+handledmenuitem.label.41 = Gültigkeitsbereich
+handledmenuitem.label.42 = Geschlecht
+handledmenuitem.label.44 = Stadium
+handledmenuitem.label.44 = DNA-Marker
+handledmenuitem.label.45 = Namensbeziehungstyp
+handledmenuitem.label.46 = Taxonbeziehungstyp
+handledmenuitem.label.47 = Nametype Designation Status
+handledmenuitem.label.48 = Nomenklatorischer Status Typ
+handledmenuitem.label.49 = Specimentypedesignation Status
+
index f2e98e6837928b22eb9ec5d3e35c97d96f36b11d..9e257dc1c98ea2fff0a5a3a6d41f6841b6457f07 100644 (file)
@@ -38,7 +38,7 @@
     <elements xsi:type="basic:PartDescriptor" xmi:id="_XV6gkEbOEeiER_VRS0L7wA" elementId="eu.etaxonomy.taxeditor.view.webimport.termimport.GfBioTerminologyImportPart" label="%partdescriptor.label.1" tooltip="%partdescriptor.tooltip.1" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.webimport.termimport.GfBioTerminologyImportPart"/>
     <elements xsi:type="basic:PartDescriptor" xmi:id="_namYwB7xEemDKJyLc5CJfQ" elementId="eu.etaxonomy.taxeditor.store.partdescriptor.termsearch" label="%partdescriptor.label.2" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.search.facet.term.TermSearch"/>
     <elements xsi:type="basic:PartDescriptor" xmi:id="_mbegMDNMEemOn_75IU-Tvg" elementId="eu.etaxonomy.taxeditor.store.partdescriptor.occurencesearch" label="%partdescriptor.label.3" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.search.facet.occurrence.OccurrenceSearch"/>
-    <elements xsi:type="basic:PartDescriptor" xmi:id="_-y1CcMKPEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditor" label="%partdescriptor.label.featureTreeEditor" tooltip="%partdescriptor.label.featureTreeEditor" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditor">
+    <elements xsi:type="basic:PartDescriptor" xmi:id="_-y1CcMKPEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.featuretree.e4.termTreeEditor" label="%partdescriptor.label.featureTreeEditor" tooltip="" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor">
       <tags>nonRestore</tags>
       <handlers xmi:id="_-y1CccKPEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.CreateFeatureTreeHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.CreateFeatureTreeHandler" command="_AJtnsCHXEeiP8eNo0PEm1g"/>
       <handlers xmi:id="_-y1CcsKPEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureTreeHandlers" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureTreeHandler" command="_3mqzkCFdEeiVXriJfxPIuA"/>
@@ -66,7 +66,7 @@
         <children xsi:type="menu:HandledMenuItem" xmi:id="_-y1Cj8KPEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.deletefeaturetree" label="%handledmenuitem.label.6" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/delete.gif" command="_3mqzkCFdEeiVXriJfxPIuA"/>
       </menus>
     </elements>
-    <elements xsi:type="basic:PartDescriptor" xmi:id="_J-3UEEqgEeeN-dEYnw7m3g" elementId="eu.etaxonomy.taxeditor.featuretree.e4.CharacterTreeEditor" label="%partdescriptor.label.4" tooltip="%partdescriptor.label.4" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.CharacterTreeEditor">
+    <elements xsi:type="basic:PartDescriptor" xmi:id="_J-3UEEqgEeeN-dEYnw7m3g" elementId="eu.etaxonomy.taxeditor.featuretree.e4.CharacterTreeEditorsdasda" label="%partdescriptor.label.4" tooltip="%partdescriptor.label.4" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.CharacterTreeEditor">
       <tags>nonRestore</tags>
       <handlers xmi:id="_DYhGACHXEeiP8eNo0PEm1g" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.character.CreateFeatureTreeHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.CreateFeatureTreeHandler" command="_AJtnsCHXEeiP8eNo0PEm1g"/>
       <handlers xmi:id="_Bb0TwCFeEeiVXriJfxPIuA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.character.RemoveFeatureTreeHandlers" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureTreeHandler" command="_3mqzkCFdEeiVXriJfxPIuA"/>
         <children xsi:type="menu:HandledMenuItem" xmi:id="_jK89d_ysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.deletefeaturetree" label="%handledmenuitem.label.6" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/delete.gif" command="_3mqzkCFdEeiVXriJfxPIuA"/>
       </menus>
     </elements>
+    <elements xsi:type="basic:PartDescriptor" xmi:id="_CRrDAD4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.NomenclaturalStatusTypeTreeEditor" label="%handledmenuitem.label.49" tooltip="%handledmenuitem.label.49" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.NomenclaturalStatusTypeTreeEditor">
+      <tags>nonRestore</tags>
+      <handlers xmi:id="_CRrDAT4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.CreateFeatureTreeHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.CreateFeatureTreeHandler" command="_AJtnsCHXEeiP8eNo0PEm1g"/>
+      <handlers xmi:id="_CRrDAj4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.RemoveFeatureTreeHandlers" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureTreeHandler" command="_3mqzkCFdEeiVXriJfxPIuA"/>
+      <handlers xmi:id="_CRrDAz4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.FeatureTreeExportWordHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.FeatureTreeExportWordHandler" command="_I_yx4GcqEee0qLTtA2ZpVQ"/>
+      <handlers xmi:id="_CRrDBD4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.AddFeatureHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.AddFeatureHandler" command="_oftL0GceEee0qLTtA2ZpVQ"/>
+      <handlers xmi:id="_CRrDBT4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.FeatureTreeExportOntologyHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.FeatureTreeExportOntologyHandler" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_CRrDBj4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.popupmenu.featureTreeEditor">
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDBz4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.newfeaturetree" label="%handledmenuitem.label.1" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/new_wiz.png" command="_AJtnsCHXEeiP8eNo0PEm1g"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_CRrDCD4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.5"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDCT4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.addchildfeature" label="%handledmenuitem.label.2" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/add.gif" command="_aPYxsBezEeiXusClKZjycQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDCj4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.addFeature" label="%handledmenuitem.label.3" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/add.gif" command="_oftL0GceEee0qLTtA2ZpVQ"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_CRrDCz4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.8"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDDD4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.paste" label="%handledmenuitem.label.12" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/paste_edit.png" command="_xDk5kNjyEeidDMMI9xTsbQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDDT4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.copy" label="%handledmenuitem.label.13" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/copy_edit.png" command="_cMyQ4NjyEeidDMMI9xTsbQ"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_CRrDDj4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.7"/>
+        <children xsi:type="menu:Menu" xmi:id="_CRrDDz4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menu.rank.export" label="%menu.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif">
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_CRrDED4bEeuM4JU-Ch98ZA" coreExpressionId="isFeatureTree"/>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDET4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDEj4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTree" label="%handledmenuitem.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_I_yx4GcqEee0qLTtA2ZpVQ">
+            <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_CRrDEz4bEeuM4JU-Ch98ZA" coreExpressionId="isShowExperimentalFeatures"/>
+          </children>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_CRrDFD4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.0"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDFT4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.removeFeature" label="%handledmenuitem.label.5" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/delete.gif" command="_fNBtQGcjEee0qLTtA2ZpVQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CRrDFj4bEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.deletefeaturetree" label="%handledmenuitem.label.6" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/delete.gif" command="_3mqzkCFdEeiVXriJfxPIuA"/>
+      </menus>
+    </elements>
+    <elements xsi:type="basic:PartDescriptor" xmi:id="_irA28D4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.NomenclaturalStatusTypeTreeEditor" label="%handledmenuitem.label.49" tooltip="%handledmenuitem.label.49" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.NomenclaturalStatusTypeTreeEditor">
+      <tags>nonRestore</tags>
+      <handlers xmi:id="_irA28T4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.CreateFeatureTreeHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.CreateFeatureTreeHandler" command="_AJtnsCHXEeiP8eNo0PEm1g"/>
+      <handlers xmi:id="_irA28j4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.RemoveFeatureTreeHandlers" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureTreeHandler" command="_3mqzkCFdEeiVXriJfxPIuA"/>
+      <handlers xmi:id="_irA28z4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.FeatureTreeExportWordHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.FeatureTreeExportWordHandler" command="_I_yx4GcqEee0qLTtA2ZpVQ"/>
+      <handlers xmi:id="_irA29D4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.AddFeatureHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.AddFeatureHandler" command="_oftL0GceEee0qLTtA2ZpVQ"/>
+      <handlers xmi:id="_irA29T4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.rank.FeatureTreeExportOntologyHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.FeatureTreeExportOntologyHandler" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_irA29j4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.popupmenu.featureTreeEditor">
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA29z4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.newfeaturetree" label="%handledmenuitem.label.1" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/new_wiz.png" command="_AJtnsCHXEeiP8eNo0PEm1g"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_irA2-D4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.5"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA2-T4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.addchildfeature" label="%handledmenuitem.label.2" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/add.gif" command="_aPYxsBezEeiXusClKZjycQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA2-j4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.addFeature" label="%handledmenuitem.label.3" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/add.gif" command="_oftL0GceEee0qLTtA2ZpVQ"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_irA2-z4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.8"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA2_D4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.paste" label="%handledmenuitem.label.12" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/paste_edit.png" command="_xDk5kNjyEeidDMMI9xTsbQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA2_T4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.copy" label="%handledmenuitem.label.13" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/copy_edit.png" command="_cMyQ4NjyEeidDMMI9xTsbQ"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_irA2_j4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.7"/>
+        <children xsi:type="menu:Menu" xmi:id="_irA2_z4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menu.rank.export" label="%menu.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif">
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_irA3AD4dEeuM4JU-Ch98ZA" coreExpressionId="isFeatureTree"/>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_irA3AT4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_irA3Aj4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTree" label="%handledmenuitem.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_I_yx4GcqEee0qLTtA2ZpVQ">
+            <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_irA3Az4dEeuM4JU-Ch98ZA" coreExpressionId="isShowExperimentalFeatures"/>
+          </children>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_irA3BD4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.0"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA3BT4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.removeFeature" label="%handledmenuitem.label.5" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/delete.gif" command="_fNBtQGcjEee0qLTtA2ZpVQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_irA3Bj4dEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.deletefeaturetree" label="%handledmenuitem.label.6" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/delete.gif" command="_3mqzkCFdEeiVXriJfxPIuA"/>
+      </menus>
+    </elements>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_3rW8wCXaEeex9MwMOgUeWw" featurename="children" parentElementId="eu.etaxonomy.taxeditor.menu.showView" positionInList="after:eu.etaxonomy.taxeditor.workbench.menuseparator.afterConcept">
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_TlufMCaGEeeTEd_pKXBflg" elementId="eu.etaxonomy.taxeditor.store.showViewMenu.supplemental" label="%command.label.1" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/applications-office.png" tooltip="%command.label.1" command="_bnVKsCZxEeeQLpuomSmVoQ">
     <elements xsi:type="commands:Command" xmi:id="_WISF0H1LEem6uMX-L-maww" elementId="eu.etaxonomy.taxeditor.store.command.export.term.owl" commandName="%command.commandname.21"/>
     <elements xsi:type="commands:Command" xmi:id="_sKIVINL6Eem35L6JVBxwwA" elementId="eu.etaxonomy.taxeditor.handler.e4.OpenCommonNameAreaWizardAdminHandler" commandName="%command.name.120"/>
     <elements xsi:type="commands:Command" xmi:id="_qENOgP5VEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.store.command.nacherweiterungensuchen" commandName="Nach Erweiterungen suchen"/>
+    <elements xsi:type="commands:Command" xmi:id="_n5NykDoqEeud_N8qGaxX2Q" elementId="eu.etaxonomy.taxeditor.store.command.OpenDefinedTermEditor" commandName="Open Defined Term Editor">
+      <parameters xmi:id="_v55EcDoqEeud_N8qGaxX2Q" elementId="eu.etaxonomy.taxeditor.store.commandparameter.termType" name="TermType" optional="false"/>
+    </elements>
+    <elements xsi:type="commands:Command" xmi:id="_8aaicD4fEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.command.OpenTermTreeEditor" commandName="Open Term Tree Editor">
+      <parameters xmi:id="_8aaicT4fEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.commandparameter.termType" name="TermType" optional="false"/>
+    </elements>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_swGH0GhvEee3K4uKJljEYg" featurename="handlers" parentElementId="xpath:/">
     <elements xsi:type="commands:Handler" xmi:id="_rVEdIGcjEee0qLTtA2ZpVQ" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureHandler" command="_fNBtQGcjEee0qLTtA2ZpVQ"/>
-    <elements xsi:type="commands:Handler" xmi:id="_tyCPYIdPEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.editor.definedterm.e4.handler.OpenDefinedTermEditorHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.editor.definedterm.e4.handler.OpenDefinedTermEditorHandlerE4" command="_qEMrsIdPEeecZ4F2Y9Z0Og"/>
+    <elements xsi:type="commands:Handler" xmi:id="_tyCPYIdPEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.editor.definedterm.e4.handler.OpenDefinedTermEditorHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.editor.definedterm.e4.handler.OpenDefinedTermEditorHandlerE4" command="_n5NykDoqEeud_N8qGaxX2Q"/>
     <elements xsi:type="commands:Handler" xmi:id="_XF8ogJMBEeeR4YRjNqCKeA" elementId="eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenTaxonNodeWizardHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenTaxonNodeWizardHandlerE4" command="_cE510JMBEeeR4YRjNqCKeA"/>
     <elements xsi:type="commands:Handler" xmi:id="_8HUM8JMCEeeR4YRjNqCKeA" elementId="eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenClassificationWizardHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenClassificationWizardHandlerE4" command="_zJ4-8JMCEeeR4YRjNqCKeA"/>
     <elements xsi:type="commands:Handler" xmi:id="_fKcuoKjzEeejedk4mZQIGw" elementId="eu.etaxonomy.taxeditor.handler.defaultHandler.OpenReferencingObjectsViewHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.defaultHandler.OpenReferencingObjectsViewHandler" command="_l-AGEKjzEeejedk4mZQIGw"/>
     <elements xsi:type="commands:Handler" xmi:id="_nhGLwH1LEem6uMX-L-maww" elementId="eu.etaxonomy.taxeditor.io.e4.out.owl.OpenOwlTermExportWizard" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.io.e4.out.owl.OpenOwlTermExportWizard" command="_WISF0H1LEem6uMX-L-maww"/>
     <elements xsi:type="commands:Handler" xmi:id="_3AxAINL9Eem35L6JVBxwwA" elementId="eu.etaxonomy.taxeditor.handler.e4.OpenCommonNameAreaWizardAdminHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.e4.OpenCommonNameAreaWizardAdminHandler" command="_sKIVINL6Eem35L6JVBxwwA"/>
     <elements xsi:type="commands:Handler" xmi:id="_wSjnIP5VEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.store.handler.searchForPlugin" command="_qENOgP5VEeqwiqpCwftRog"/>
+    <elements xsi:type="commands:Handler" xmi:id="_4kk8oDoqEeud_N8qGaxX2Q" elementId="eu.etaxonomy.taxeditor.store.OpenDefinedTermHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.editor.definedterm.e4.handler.OpenDefinedTermEditorHandlerE4" command="_qEMrsIdPEeecZ4F2Y9Z0Og"/>
+    <elements xsi:type="commands:Handler" xmi:id="_4GeBAD4fEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.OpenDefinedTermHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.OpenTermTreeEditorHandler" command="_8aaicD4fEeuM4JU-Ch98ZA"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_qT4hgIfTEeecZ4F2Y9Z0Og" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.window" positionInList="before:eu.etaxonomy.taxeditor.application.windowMenu.last">
     <elements xsi:type="menu:Menu" xmi:id="_LT3P8IfcEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.menu.termeditor" label="%menu.label.1">
       <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_1xVggMTDEemAeKumL6iTpg" coreExpressionId="isCdmStoreConnected"/>
-      <children xsi:type="menu:DynamicMenuContribution" xmi:id="_HIptYIfUEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.dynamicmenucontribution.0" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.editor.definedterm.e4.DefinedTermMenuE4"/>
+      <children xsi:type="menu:Menu" xmi:id="_umxYEDocEeuzzbCHEqs6jg" elementId="eu.etaxonomy.taxeditor.store.menu." label="%command.label.12">
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_46o0kDocEeuzzbCHEqs6jg" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.features" label="%handledmenuitem.label.24" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_UQRgQDouEeud_N8qGaxX2Q" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="FE"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_Sa3ZoDo1Eeud_N8qGaxX2Q" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.characters" label="%handledmenuitem.label.25" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_mglxwDo1Eeud_N8qGaxX2Q" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.characterEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="CHA"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_nsbb4Dq7EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.properties" label="%handledmenuitem.label.27" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_HIuqsDq8EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.propertyEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="PROP"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_S97XEDq8EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel30" label="%handledmenuitem.label.30" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_eu1ZUDq8EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.stateEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STAT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_7VAvkDq8EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel26" label="%handledmenuitem.label.26" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="__0nHYDq8EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.structureEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STRU"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_YFuh4Dq9EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel31" label="%handledmenuitem.label.31" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_Yh7VsDq9EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.structureEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STMO"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_6DMs8Dq9EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.1"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_3HtMMDq9EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel20" label="%handledmenuitem.label.20" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_BhV5gDq-EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NA"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_KUIk0Dq-EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel32" label="%handledmenuitem.label.32" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_NoLvgDq-EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaLevelEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NAL"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_vEUIEDq-EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel33" label="%handledmenuitem.label.33" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_IoK80Dq_EeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NAT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_xpQ0QDrCEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.21" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_9aEv4DrCEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="PAT"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_udLdUDrDEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.2"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_2CLf0DrDEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.34" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_2CLf0TrDEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="ANT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="__R2UYDrDEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.35" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="__R2UYTrDEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="IDE"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_3DFGsDrEEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.36" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_3DFGsTrEEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="MKT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_9uU2sDrEEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.37" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_9uU2sTrEEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="EXT"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_EVzhADrFEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.11"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_FRV8MDrFEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.38" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_FRV8MTrFEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="MO"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_BVf04DrJEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.39" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_BVf04TrJEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="KOU"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_noT2MDuSEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.40" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_noT2MTuSEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="DMO"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_zFB7sDuTEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.41" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_zFB7sTuTEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="SCO"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_ifvSgDuVEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.12"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_f4xFsDuUEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.42" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_f4xFsTuUEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="SEX"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_lYNUcDuVEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.13"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_0Btw8DuUEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.43" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_0Btw8TuUEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STG"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_3rgiIDuUEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel3" label="%handledmenuitem.label.44" command="_n5NykDoqEeud_N8qGaxX2Q">
+          <parameters xmi:id="_3rgiITuUEeuAuPxcOe1-XA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTypeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="DMA"/>
+        </children>
+      </children>
       <children xsi:type="menu:MenuSeparator" xmi:id="_yRINcIfqEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.menuseparator.3"/>
       <children xsi:type="menu:Menu" xmi:id="_5wQLUMKNEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.menu.term_tree_editor" label="%handledmenuitem.label.8" tooltip="%handledmenuitem.tooltip.1">
         <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_4ic9QMTDEemAeKumL6iTpg" coreExpressionId="isCdmStoreConnected"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_rwfDkIftEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.24" tooltip="%handledmenuitem.label.24" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_3acJQIftEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditor"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_rwfDkIftEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.24" tooltip="%handledmenuitem.label.24" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_3acJQIftEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="FE"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CLrfgMKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.characterTreeEditor" label="%handledmenuitem.label.25" tooltip="%handledmenuitem.label.25" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_CLrfgcKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.characterTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="CHA"/>
         </children>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_ZdYr4PysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.20" tooltip="%handledmenuitem.label.20" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_ZdYr4fysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.NamedAreaTreeEditor"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_DosQEMKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.27" tooltip="%handledmenuitem.label.27" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_DosQEcKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.propertyTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="PROP"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_AljE8D4GEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.30" tooltip="%handledmenuitem.label.30" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_AljE8T4GEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STA"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_CUh5gMKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.structureTreeEditor" label="%handledmenuitem.label.26" tooltip="%handledmenuitem.label.26" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_CUh5gcKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.structureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STRU"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_0JJOoD4FEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.31" tooltip="%handledmenuitem.label.31" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_0JJ1sD4FEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STMO"/>
         </children>
         <children xsi:type="menu:MenuSeparator" xmi:id="_AVOnkP8QEem7jP7thrJFNA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.10"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_MfMpEPyqEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.21" tooltip="%handledmenuitem.label.21" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_MfMpEfyqEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.PresenceAbsenceTreeEditor"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_ZdYr4PysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.20" tooltip="%handledmenuitem.label.20" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_ZdYr4fysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NA"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_bHiV4D4GEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.32" tooltip="%handledmenuitem.label.32" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_bHiV4T4GEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NAL"/>
         </children>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_Zmin4PysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.28" tooltip="%handledmenuitem.label.28" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_Zmin4fysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.rankTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.RankTreeEditor"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_a5RQYD4GEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.33" tooltip="%handledmenuitem.label.33" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_a5RQYT4GEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NAT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_MfMpEPyqEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.21" tooltip="%handledmenuitem.label.21" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_MfMpEfyqEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="PAT"/>
         </children>
         <children xsi:type="menu:MenuSeparator" xmi:id="___koAP8MEem7jP7thrJFNA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.9"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_CLrfgMKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.characterTreeEditor" label="%handledmenuitem.label.25" tooltip="%handledmenuitem.label.25" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_CLrfgcKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.characterTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.CharacterTreeEditor"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_Zmin4PysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.28" tooltip="%handledmenuitem.label.28" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_Zmin4fysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.rankTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="RK"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_qQ0h0D4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.44" tooltip="%handledmenuitem.label.44" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_qQ0h0T4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.nameRelationshipTypeTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NRT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_qaWRQD4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.45" tooltip="%handledmenuitem.label.45" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_qaWRQT4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.taxonRelationshipTypeTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="TRT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_qcpXUD4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.46" tooltip="%handledmenuitem.label.46" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_qcpXUT4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.nameTypeDesignationStatusTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NTD"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_qei0wD4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.48" tooltip="%handledmenuitem.label.48" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_qei0wT4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.nomenclaturalStatusTypeTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="NST"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_qgc5QD4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.49" tooltip="%handledmenuitem.label.549" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_qgc5QT4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.specimenTypeDesignationStatusTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STD"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_qiDbwD4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.50" tooltip="%handledmenuitem.label.50" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_qiDbwT4JEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.TaxonNodeAgentRelationTYpeTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="TART"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="__TX5ID4KEeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.14"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_Lm2iED69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.51" tooltip="%handledmenuitem.label.51" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_Lm2iET69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="LA"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_UqE2ED69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.34" tooltip="%handledmenuitem.label.34" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_UqE2ET69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="ANT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_fLp-cD69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.35" tooltip="%handledmenuitem.label.35" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_fLqlgD69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="IDE"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_k7i5cD69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.36" tooltip="%handledmenuitem.label.36" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_k7i5cT69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="MKT"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_q0IdcD69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.37" tooltip="%handledmenuitem.label.37" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_q0IdcT69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="EXT"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_wXDTcD69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.15"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_zPTS8D69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.38" tooltip="%handledmenuitem.label.38" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_zPTS8T69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="MO"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_6T4I8D69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.39" tooltip="%handledmenuitem.label.39" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_6T4I8T69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="KOU"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_-wEAYD69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.40" tooltip="%handledmenuitem.label.40" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_-wEAYT69EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="DMO"/>
+        </children>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_Ead-cD6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.41" tooltip="%handledmenuitem.label.41" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_Ead-cT6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="SCO"/>
+        </children>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_MlJg4D6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.16"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_NquB0D6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.42" tooltip="%handledmenuitem.label.42" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_NquB0T6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="SEX"/>
         </children>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_CUh5gMKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.structureTreeEditor" label="%handledmenuitem.label.26" tooltip="%handledmenuitem.label.26" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_CUh5gcKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.structureTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.StructureTreeEditor"/>
+        <children xsi:type="menu:MenuSeparator" xmi:id="_WOR-UD6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.17"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_Xsu5UD6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.43" tooltip="%handledmenuitem.label.43" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_Xsu5UT6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="STG"/>
         </children>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_DosQEMKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.propertyTreeEditor" label="%handledmenuitem.label.27" tooltip="%handledmenuitem.label.27" command="_bnVKsCZxEeeQLpuomSmVoQ">
-          <parameters xmi:id="_DosQEcKOEem1vZq1LletZg" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.propertyTreeEditor" name="eu.etaxonomy.taxeditor.workbench.commandparameter.partName" value="eu.etaxonomy.taxeditor.featuretree.e4.PropertyTreeEditor"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_dts9QD6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.termEditorMenu.featureTreeEditor" label="%handledmenuitem.label.44" tooltip="%handledmenuitem.label.44" command="_8aaicD4fEeuM4JU-Ch98ZA">
+          <parameters xmi:id="_dts9QT6-EeuM4JU-Ch98ZA" elementId="eu.etaxonomy.taxeditor.store.showView.parameter.featureTreeEditor" name="eu.etaxonomy.taxeditor.store.commandparameter.termType" value="DMA"/>
         </children>
       </children>
       <children xsi:type="menu:MenuSeparator" xmi:id="_XKnM8E3IEeiplYSgvvNXRQ" elementId="eu.etaxonomy.taxeditor.store.menuseparator.6"/>
index b2f698bde2a8c1da926b83989deb044da1131f16..c63e318a22598726e646c82a3883228abbb3b39f 100644 (file)
@@ -9,11 +9,11 @@
 
 package eu.etaxonomy.taxeditor.editor.definedterm.e4.handler;
 import java.util.List;
-import java.util.UUID;
 import java.util.stream.Collectors;
 
 import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.e4.ui.model.application.commands.MParameter;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
@@ -39,13 +39,21 @@ public class OpenDefinedTermEditorHandlerE4 {
        public void execute(EPartService partService, MHandledMenuItem menuItem, MApplication application, EModelService modelService) {
 
            String commandId = menuItem.getCommand().getElementId();
-        UUID termTypeUuid = (UUID) menuItem.getTransientData().get(commandId+".termTypeUuid");
+           List<MParameter> parameters = menuItem.getParameters();
+           TermType termType = null;
+           for (MParameter param: parameters){
+               termType = TermType.getByKey(param.getValue());
+           }
 
-               TermType termType = TermType.getByUuid(termTypeUuid);
+//        UUID termTypeUuid = (UUID) menuItem.getTransientData().get(commandId+".termTypeUuid");
+//
+//             TermType termType = TermType.getByUuid(termTypeUuid);
+           if(termType != null){
+           TermType type = termType;
         TermEditorInput termEditorInput = new TermEditorInput(termType);
                List<MPart> alreadyOpenedEditors = partService.getParts().stream()
                .filter(part->part.getObject()!=null && part.getObject() instanceof DefinedTermEditorE4)
-               .filter(part->((DefinedTermEditorE4)part.getObject()).getDefinedTermEditorInput().getTermType().equals(termType))
+               .filter(part->((DefinedTermEditorE4)part.getObject()).getDefinedTermEditorInput().getTermType().equals(type))
                .collect(Collectors.toList());
                if(!alreadyOpenedEditors.isEmpty()){
                    //there should never be more than one already opened editor
@@ -62,6 +70,7 @@ public class OpenDefinedTermEditorHandlerE4 {
                    DefinedTermEditorE4 termEditor = (DefinedTermEditorE4) part.getObject();
                    termEditor.init(termEditorInput);
                }
+           }
        }
 
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/CharacterTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/CharacterTreeEditor.java
deleted file mode 100644 (file)
index c4ec328..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class CharacterTreeEditor extends AbstractTermTreeEditor<Feature> {
-
-
-
-    @Override
-    public TermType getTermType() {
-        return TermType.Character;
-    }
-
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
deleted file mode 100644 (file)
index 7c11306..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class FeatureTreeEditor extends AbstractTermTreeEditor<Feature> {
-
-    @Override
-    public TermType getTermType() {
-        return TermType.Feature;
-    }
-
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/NamedAreaTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/NamedAreaTreeEditor.java
deleted file mode 100644 (file)
index a0c8a7f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class NamedAreaTreeEditor extends AbstractTermTreeEditor<NamedArea> {
-
-
-    @Override
-    public TermType getTermType() {
-        return TermType.NamedArea;
-    }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/PresenceAbsenceTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/PresenceAbsenceTreeEditor.java
deleted file mode 100644 (file)
index da45b2f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class PresenceAbsenceTreeEditor extends AbstractTermTreeEditor {
-
-
-    @Override
-    public TermType getTermType() {
-        return TermType.PresenceAbsenceTerm;
-    }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/PropertyTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/PropertyTreeEditor.java
deleted file mode 100644 (file)
index b8b55b7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class PropertyTreeEditor extends AbstractTermTreeEditor {
-
-
-
-    @Override
-    public TermType getTermType() {
-        return TermType.Property;
-    }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/RankTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/RankTreeEditor.java
deleted file mode 100644 (file)
index 768074a..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class RankTreeEditor extends AbstractTermTreeEditor {
-
-    @Override
-    public TermType getTermType() {
-        return TermType.Rank;
-    }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/StructureTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/StructureTreeEditor.java
deleted file mode 100644 (file)
index 1c65ecf..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
-* Copyright (C) 2019 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.featuretree.e4;
-
-import eu.etaxonomy.cdm.model.term.TermType;
-
-/**
- * @author pplitzner
- * @since Aug 19, 2019
- *
- */
-public class StructureTreeEditor extends AbstractTermTreeEditor {
-
-
-
-    @Override
-    public TermType getTermType() {
-        return TermType.Structure;
-    }
-
-}
similarity index 96%
rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/AbstractTermTreeEditor.java
rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/TermTreeEditor.java
index bfe137268e0a0310ba1de8b7fe0ad17981fba835..c23673ff4642b3a8557113dce6c7de6a87563f79 100644 (file)
@@ -53,6 +53,7 @@ import eu.etaxonomy.cdm.api.service.ITermNodeService;
 import eu.etaxonomy.cdm.api.service.ITermTreeService;
 import eu.etaxonomy.cdm.model.term.DefinedTermBase;
 import eu.etaxonomy.cdm.model.term.TermNode;
+import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
 import eu.etaxonomy.cdm.persistence.dto.TermTreeDto;
@@ -82,7 +83,7 @@ import eu.etaxonomy.taxeditor.workbench.part.IE4ViewerPart;
  * @date 06.06.2017
  *
  */
-public abstract class AbstractTermTreeEditor<T extends DefinedTermBase> implements IFeatureTreeEditor, ISelectionChangedListener,
+public class TermTreeEditor<T extends DefinedTermBase> implements IFeatureTreeEditor, ISelectionChangedListener,
         IE4ViewerPart, IPartContentHasDetails, IPartContentHasSupplementalData,
         IContextListener, IConversationEnabled, IDirtyMarkable {
 
@@ -121,8 +122,10 @@ public abstract class AbstractTermTreeEditor<T extends DefinedTermBase> implemen
     List<AbstractPostOperation<TermNode>> operationList = new ArrayList<>();
     List<TermNodeDto> listToUpdate = new ArrayList<>();
 
+    TermType termType;
+
     @Inject
-    public AbstractTermTreeEditor() {
+    public TermTreeEditor() {
         CdmStore.getContextManager().addContextListener(this);
     }
 
@@ -169,6 +172,15 @@ public abstract class AbstractTermTreeEditor<T extends DefinedTermBase> implemen
         menuService.registerContextMenu(viewer.getControl(), AppModelId.POPUPMENU_EU_ETAXONOMY_TAXEDITOR_STORE_POPUPMENU_FEATURETREEEDITOR);
     }
 
+    public void init(TermType type, String label){
+        this.termType = type;
+        updateTrees();
+        viewer.setComparator(new FeatureTreeViewerComparator());
+        viewer.setInput(getTrees());
+        ((FeatureTreeContentProvider)viewer.getContentProvider()).setUuidTermMap(uuidTermMap);
+        thisPart.setLabel(label);
+    }
+
 //    protected abstract List<TermTreeDto> getTrees();
 
     public void paste(IStructuredSelection selection) {
@@ -306,6 +318,7 @@ public abstract class AbstractTermTreeEditor<T extends DefinedTermBase> implemen
         updateTrees();
         viewer.setInput(getTrees());
         viewer.setExpandedElements(expandedElements);
+
     }
 
        @PreDestroy
@@ -502,4 +515,10 @@ public abstract class AbstractTermTreeEditor<T extends DefinedTermBase> implemen
         }
     }
 
+    @Override
+    public TermType getTermType() {
+        return termType;
+    }
+
+
 }
index d8e9fdf2ddbc2c5beb318d6d7f1503604fd6bf7a..890e96edf138725baf74af0865d0090cc21f2aa0 100755 (executable)
@@ -31,9 +31,9 @@ import eu.etaxonomy.cdm.persistence.dto.CharacterNodeDto;
 import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
 import eu.etaxonomy.taxeditor.featuretree.AvailableFeaturesWizard;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.ICharacterEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.IFeatureTreeEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.operation.AddFeatureOperation;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
@@ -90,9 +90,9 @@ public abstract class AbstractAddFeatureHandler {
                 if (editor instanceof ICharacterEditor){
                     editor.refresh();
                 }else{
-                    Object[] expandedElements = ((AbstractTermTreeEditor)editor).getViewer().getExpandedElements();
-                    ((AbstractTermTreeEditor)editor).getViewer().setInput(((AbstractTermTreeEditor)editor).getTrees());
-                    ((AbstractTermTreeEditor)editor).getViewer().setExpandedElements(expandedElements);
+                    Object[] expandedElements = ((TermTreeEditor)editor).getViewer().getExpandedElements();
+                    ((TermTreeEditor)editor).getViewer().setInput(((TermTreeEditor)editor).getTrees());
+                    ((TermTreeEditor)editor).getViewer().setExpandedElements(expandedElements);
                 }
             }
             if (!duplicates.isEmpty()){
index 6dac57c0f3cb2daa40385967689eabab48f9da0b..ad1e8dbc8e203037b3b7b8dc8e253a52859669a1 100644 (file)
@@ -12,14 +12,14 @@ import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 
 public class CopyFeatureHandler {
 
     @Execute
     public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart part,
             @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection){
-        ((AbstractTermTreeEditor) part.getObject()).copy(selection);
+        ((TermTreeEditor) part.getObject()).copy(selection);
     }
 
     @CanExecute
@@ -27,7 +27,7 @@ public class CopyFeatureHandler {
             @Named(IServiceConstants.ACTIVE_PART) MPart part,
             MHandledMenuItem menuItem){
         boolean canExecute = false;
-        canExecute =part.getObject() instanceof AbstractTermTreeEditor
+        canExecute =part.getObject() instanceof TermTreeEditor
                 && selection!=null
                 && selection.size()==1
                 && selection.getFirstElement() instanceof TermNodeDto;
index c27ccfb4255e4c0979059b1d4d0cd2733e54bdfd..af336438abfcb2c510b9a14fbe153aa4a8de0c2a 100644 (file)
@@ -19,8 +19,8 @@ import org.eclipse.e4.ui.services.IServiceConstants;
 
 import eu.etaxonomy.cdm.model.term.TermTree;
 import eu.etaxonomy.cdm.persistence.dto.TermTreeDto;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.IFeatureTreeEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.operation.CreateFeatureTreeOperation;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
@@ -37,7 +37,7 @@ public class CreateFeatureTreeHandler {
         if (StoreUtil.promptCheckIsDirty(editor)) {
             return;
         }
-        Object[] expandedElements =  ((AbstractTermTreeEditor)editor).getViewer().getExpandedElements();
+        Object[] expandedElements =  ((TermTreeEditor)editor).getViewer().getExpandedElements();
         TermTree<?> newTree = TermTree.NewInstance(editor.getTermType());
         newTree.setAllowDuplicates(false);
         newTree.setFlat(false);
@@ -49,10 +49,10 @@ public class CreateFeatureTreeHandler {
         editor.setDirty();
 //        AbstractUtility.executeOperation(operation, sync);
         editor.addOperation(operation);
-        ((AbstractTermTreeEditor)editor).putTree(newDto);
-        ((AbstractTermTreeEditor)editor).getViewer().setInput(((AbstractTermTreeEditor)editor).getTrees());
+        ((TermTreeEditor)editor).putTree(newDto);
+        ((TermTreeEditor)editor).getViewer().setInput(((TermTreeEditor)editor).getTrees());
 
-        ((AbstractTermTreeEditor)editor).getViewer().setExpandedElements(expandedElements);
+        ((TermTreeEditor)editor).getViewer().setExpandedElements(expandedElements);
 
     }
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/OpenTermTreeEditorHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/OpenTermTreeEditorHandler.java
new file mode 100755 (executable)
index 0000000..4dfed14
--- /dev/null
@@ -0,0 +1,68 @@
+/**
+* Copyright (C) 2020 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.featuretree.e4.handler;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.e4.ui.model.application.commands.MParameter;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
+import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
+import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService.PartState;
+
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
+import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
+
+/**
+ * @author k.luther
+ * @since Dec 11, 2020
+ */
+public class OpenTermTreeEditorHandler {
+    @Execute
+    public void execute(EPartService partService, MHandledMenuItem menuItem, MApplication application, EModelService modelService) {
+
+        String commandId = menuItem.getCommand().getElementId();
+        List<MParameter> parameters = menuItem.getParameters();
+        TermType termType = null;
+        for (MParameter param: parameters){
+            termType = TermType.getByKey(param.getValue());
+        }
+
+        if(termType != null){
+        TermType type = termType;
+
+        List<MPart> alreadyOpenedEditors = partService.getParts().stream()
+        .filter(part->part.getObject()!=null && part.getObject() instanceof TermTreeEditor)
+        .filter(part->((TermTreeEditor)part.getObject()).getTermType().equals(type))
+        .collect(Collectors.toList());
+        if(!alreadyOpenedEditors.isEmpty()){
+            //there should never be more than one already opened editor
+            //so we just open the first
+            partService.activate(alreadyOpenedEditors.iterator().next());
+        }
+        else{
+            MPart part = partService.createPart(eu.etaxonomy.taxeditor.store.AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_TERMTREE);
+            MPartStack editorAreaPartStack = WorkbenchUtility.getEditorAreaPartStack(application, modelService);
+            if(editorAreaPartStack!=null){
+                editorAreaPartStack.getChildren().add(part);
+            }
+            part = partService.showPart(part, PartState.ACTIVATE);
+            TermTreeEditor termEditor = (TermTreeEditor) part.getObject();
+            termEditor.init(termType, menuItem.getLocalizedLabel());
+        }
+        }
+    }
+
+}
index 4e2e03b589a6d6cb7d83b971da4c786023e9cb4a..940e6a2a4137e1d9ecd3feafa8f96e12bb42f665 100644 (file)
@@ -14,14 +14,14 @@ import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 
 public class PasteFeatureHandler {
 
     @Execute
     public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart part,
             @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection){
-        AbstractTermTreeEditor editor = (AbstractTermTreeEditor)part.getObject();
+        TermTreeEditor editor = (TermTreeEditor)part.getObject();
         editor.paste(selection);
     }
 
@@ -31,7 +31,7 @@ public class PasteFeatureHandler {
             MHandledMenuItem menuItem){
         boolean canExecute = false;
         ISelection transferSelection = LocalSelectionTransfer.getTransfer().getSelection();
-        canExecute = part.getObject() instanceof AbstractTermTreeEditor
+        canExecute = part.getObject() instanceof TermTreeEditor
                 && selection!=null
                 && selection.size()==1
                 && transferSelection instanceof IStructuredSelection
index 8d0c9d33c75251f10883b2c61213a983e2e81214..9746115ed005b0ec7d5dc7fb68248dee620a8cce 100644 (file)
@@ -23,9 +23,9 @@ import org.eclipse.jface.viewers.TreeSelection;
 
 import eu.etaxonomy.cdm.persistence.dto.TermNodeDto;
 import eu.etaxonomy.cdm.persistence.dto.TermTreeDto;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.ICharacterEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.IFeatureTreeEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.operation.RemoveFeatureOperation;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
@@ -73,10 +73,10 @@ public class RemoveFeatureHandler {
 //                    }
 //
 //                }
-                if (editor instanceof AbstractTermTreeEditor){
-                    Object[] expandedElements = ((AbstractTermTreeEditor)editor).getViewer().getExpandedElements();
-                    ((AbstractTermTreeEditor)editor).getViewer().setInput(((AbstractTermTreeEditor)editor).getTrees());
-                    ((AbstractTermTreeEditor)editor).getViewer().setExpandedElements(expandedElements);
+                if (editor instanceof TermTreeEditor){
+                    Object[] expandedElements = ((TermTreeEditor)editor).getViewer().getExpandedElements();
+                    ((TermTreeEditor)editor).getViewer().setInput(((TermTreeEditor)editor).getTrees());
+                    ((TermTreeEditor)editor).getViewer().setExpandedElements(expandedElements);
                 }else{
                     ((ICharacterEditor)editor).getViewer().setInput(tree);
                 }
index 6f35f6b9a67e711109f7cbadf8ca1ba0fb556fc6..552f2a8613d3afd17991e6ad301ebd2bf3a644a5 100644 (file)
@@ -20,8 +20,8 @@ import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.jface.viewers.IStructuredSelection;
 
 import eu.etaxonomy.cdm.persistence.dto.TermTreeDto;
-import eu.etaxonomy.taxeditor.featuretree.e4.AbstractTermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.IFeatureTreeEditor;
+import eu.etaxonomy.taxeditor.featuretree.e4.TermTreeEditor;
 import eu.etaxonomy.taxeditor.featuretree.e4.operation.RemoveFeatureTreeOperation;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
@@ -46,8 +46,8 @@ public class RemoveFeatureTreeHandler {
 
         for (Object selectedObject : selection.toArray()) {
                TermTreeDto featureTree = (TermTreeDto) selectedObject;
-               ((AbstractTermTreeEditor)editor).removeTree(featureTree);
-               ((AbstractTermTreeEditor)editor).getViewer().setInput(((AbstractTermTreeEditor)editor).getTrees());
+               ((TermTreeEditor)editor).removeTree(featureTree);
+               ((TermTreeEditor)editor).getViewer().setInput(((TermTreeEditor)editor).getTrees());
             RemoveFeatureTreeOperation operation = new RemoveFeatureTreeOperation(featureTree.getUuid(), editor, editor);
 //            AbstractUtility.executeOperation(operation, sync);
             editor.addOperation(operation);
index 7a1b3a6853a0cc05c6fcf66e3f0297433969e49e..c2c0dfb2c839fb5fab6c3ab8f9136c12b7074ccd 100644 (file)
@@ -751,6 +751,7 @@ public class Messages extends NLS {
     public static String CdmLightPreference_distributionString_tooltip;
 
     public static String SecundumPreference_description;
+    public static String Tree;
 
 
 
index d8e045282496948eada361dc3d7acec7a45943bc..dbd70124be496a53762586189f4258539d925e08 100644 (file)
@@ -612,4 +612,5 @@ CdmLightPreference_description=Default settings for CdmLight export
 CdmLightPreference_distributionString=Export of condensed distribution string
 CdmLightPreference_distributionString_tooltip=Distributions of a taxon are exported as condensed string, created by the selected algorithm. 
 
-SecundumPreference_description=Default settings of secundum reference handling for move synonym to accepted taxon.
\ No newline at end of file
+SecundumPreference_description=Default settings of secundum reference handling for move synonym to accepted taxon.
+Tree= Tree
\ No newline at end of file
index fa89ef2afa4418ad20f9ffa58b552f367d3312a7..ecde01ab48126c09062c702b909c920d949460fa 100644 (file)
@@ -612,4 +612,5 @@ CdmLightPreference_description=Default Einstellungen f
 CdmLightPreference_distributionString=Export eines Condensed Distribution Strings
 CdmLightPreference_distributionString_tooltip=Für jedes Taxon wird aus den Verbreitungsdaten ein kompakter String exportiert, der entsprechend dem ausgewählten Algorithmus erzeugt wird.
 
-SecundumPreference_description=Default Einstellungen für das Setzen der Secundum Referenz beim Verschieben eines Synonyms zu einem akzeptierten Taxon.
\ No newline at end of file
+SecundumPreference_description=Default Einstellungen für das Setzen der Secundum Referenz beim Verschieben eines Synonyms zu einem akzeptierten Taxon.
+Tree=-Baum
\ No newline at end of file
index 99f8847418509a5e3646f5ceecdd0986926490cd..d6a77a67d978dca641a120af6faa0ebca95da6c8 100644 (file)
@@ -323,6 +323,13 @@ public class AppModelId {
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_NAMEDAREATREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.namedAreaTreeEditor";
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_OCCURRENCESEARCH = "eu.etaxonomy.taxeditor.store.showView.parameter.occurrencesearch";
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor";
+       public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_NAMERELATIONSHIPTYPETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.nameRelationshipTypeTreeEditor";
+       public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_NOMENCLATURALSTATUSTYPETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.nomenclaturalStatusTypeTreeEditor";
+//     public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor";
+//     public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor";
+//     public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor";
+//     public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor";
+//     public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.presenceAbsenceTreeEditor";
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_PROPERTYTREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.propertyTreeEditor";
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_RANKTREEEDITOR = "eu.etaxonomy.taxeditor.store.showView.parameter.rankTreeEditor";
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_SESSIONVIEW = "eu.etaxonomy.taxeditor.store.showView.parameter.sessionView";
@@ -330,10 +337,12 @@ public class AppModelId {
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_SUPPLEMENTALDATAVIEW = "eu.etaxonomy.taxeditor.store.showView.parameter.supplementalDataView";
        public static final String PARAMETER_EU_ETAXONOMY_TAXEDITOR_STORE_SHOWVIEW_PARAMETER_TERMSEARCH = "eu.etaxonomy.taxeditor.store.showView.parameter.termsearch";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_DEFINEDTERM = "eu.etaxonomy.taxeditor.editor.definedTerm";
+       public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_TERMTREE = "eu.etaxonomy.taxeditor.featuretree.e4.termTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_CHARACTERTREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.CharacterTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_FEATURETREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_NAMEDAREATREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.NamedAreaTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_PRESENCEABSENCETREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.PresenceAbsenceTreeEditor";
+       public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_NOMENCLATURALSTATUSTYPETREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.nomenclaturalStatusTypeTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_PROPERTYTREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.PropertyTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_RANKTREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.RankTreeEditor";
        public static final String PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_FEATURETREE_E4_STRUCTURETREEEDITOR = "eu.etaxonomy.taxeditor.featuretree.e4.StructureTreeEditor";