to show the menu of the media view for derivate view
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / plugin.xml
index 64aa8f2cf55f7c3dd463ec4a7b4ffd33327b7168..82e6257a9d8f30dc2d062eb33e2432316c6156b6 100644 (file)
             id="eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor"
             name="%editor.name.8">
       </editor>
-         <editor
-               class="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
-               default="false"
-               icon="icons/derivate_view-16x16-32.png"
-               id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
-               name="Derivative Editor">
-         </editor>
    </extension>
       <extension
             point="org.eclipse.ui.views">
       </menuContribution>
       <menuContribution
             locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?before=eu.etaxonomy.taxeditor.store.showViewMenu.details">
+         <separator
+               name="eu.etaxonomy.taxeditor.editor.showViewMenu"
+               visible="true">
+         </separator>
          <command
                commandId="org.eclipse.ui.views.showView"
                label="%command.label.4"
                </reference>
             </visibleWhen>
          </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.editor.showViewMenu"
-               visible="true">
-         </separator>
          <command
                commandId="org.eclipse.ui.views.showView"
                label="%command.label.5"
                </and>
             </visibleWhen>
          </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.store.separator_derivative_start"
-               visible="true">
-         </separator>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
-               label="Derivative Editor"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isCdmStoreConnected">
-               </reference>
-            </visibleWhen>
-         </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.editor.separator1"
-               visible="true">
-         </separator>
       </menuContribution>
       <menuContribution
-            locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?after=org.eclipse.ui.views.showView.supplemental">
+            locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?before=eu.etaxonomy.taxeditor.store.showViewMenu.internal">
          <separator
                name="eu.etaxonomy.taxeditor.store.showViewMenu.validation.separator"
                visible="true">
                   label="%command.label.12"
                   style="push">
                <visibleWhen>
+               <and>
                   <not>
                      <or>
                         <reference
                         <reference
                               definitionId="isMisapplication">
                         </reference>
-                        <reference
-                              definitionId="isHomotypicSynonymOfAcceptedTaxon">
-                        </reference>
                      </or>
-                  </not>
+                     </not>
+                       <reference
+                              definitionId="isNotHomotypicSynonymOfAcceptedTaxon">
+                        </reference>
+                  </and>
                </visibleWhen>
             </command>
             <command
                name="taxeditor-editor.separator2"
                visible="true">
          </separator>
-         <dynamic
+        <!-- <dynamic
                class="eu.etaxonomy.taxeditor.editor.name.handler.GroupBasionymContributionItem"
                id="taxeditor-editor.dynamic.setBasionym">
             <visibleWhen>
                   </reference>
                </or>
             </visibleWhen>
-         </dynamic>
+         </dynamic>-->
          <command
                commandId="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
                label="%command.label.17"
                      definitionId="isSynonym">
                </reference>
             </visibleWhen>
+         </command>
+          <command
+               commandId="eu.etaxonomy.taxeditor.editor.name.setAsBasionym"
+               label="%command.label.57"
+               style="push">
+            <visibleWhen>
+              <reference
+                     definitionId="isSynonymInHomotypicalGroupWithMoreSynonyms">
+               </reference>
+           </visibleWhen>
          </command>
          <command
                   commandId="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
                   label="%command.label.56"
                   style="push">
                <visibleWhen>
+                  <and>
                    <reference
                          definitionId="isSynonym">
                    </reference>
+                   <reference
+                         definitionId="isNotHomotypicSynonymOfAcceptedTaxon">
+                   </reference>
+                   </and>
                 </visibleWhen>
           </command>
          <separator
                style="push">
             <parameter
                   name="org.eclipse.ui.views.showView.viewId"
-                  value="eu.etaxonomy.taxeditor.editor.forms.detailsView">
+                  value="eu.etaxonomy.taxeditor.view.detail">
             </parameter>
          </command>
          <separator
                label="%command.label.20"
                style="push">
          </command>
-         <separator
-               name="taxeditor-editor.separator1"
-               visible="true">
-         </separator>
          <command
                commandId="eu.etaxonomy.taxeditor.key.polytomous.delete"
                label="%command.label.21"
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.key.polytomous.list">
-         <command
-               commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.child"
-               label="%command.label.23"
-               style="push">
-         </command>
+         <menu
+               label="%menu.label.4">
+            <command
+                  commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.node"
+                  label="%command.label.58"
+                  style="push">
+            </command>
+            <command
+                  commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.child"
+                  label="%command.label.23"
+                  style="push">
+            </command>
+         </menu>
          <command
                commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.sibling"
                label="%command.label.24"
                style="push">
          </command>
+       <!--  <dynamic
+               class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
+               id="eu.etaxonomy.taxeditor.editor.polytomous.list.cdmViewerContextMenu">
+         </dynamic>-->
          <command
                commandId="eu.etaxonomy.taxeditor.key.polytomous.command.refresh"
                label="%command.label.25"
                label="%command.label.26"
                style="push">
          </command>
+         <separator
+               name="eu.etaxonomy.taxeditor.editor.separator1">
+         </separator>
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.descriptive">
                label="%command.label.27"
                style="push">
          </command>
+         <menu
+               label="%menu.label.1">
+            <dynamic
+                  class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DynamicFeatureMenu"
+                  id="eu.etaxonomy.taxeditor.dynamicFeatureMenu">
+            </dynamic>
+            <visibleWhen
+                  checkEnabled="true">
+               <or>
+                  <reference
+                        definitionId="isDescription">
+                  </reference>
+                  <reference
+                        definitionId="isDescriptionElement">
+                  </reference>
+                  <reference
+                        definitionId="isFeatureNodeContainer">
+                  </reference>
+               </or>
+            </visibleWhen>
+         </menu>
+         <separator
+               name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator3"
+               visible="true">
+         </separator>
          <command
                commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionToTaxon"
                label="%command.label.28"
               </or>
             </visibleWhen>
          </command>
+         <separator
+               name="eu.etaxonomy.taxeditor.editor.separator1">
+         </separator>
          <dynamic
                class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
                id="eu.etaxonomy.taxeditor.editor.descriptive.cdmViewerContextMenu">
                commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
                label="%command.label.30"
                style="push">
+                     <visibleWhen
+                           checkEnabled="true">
+                        <count
+                              value="+">
+                        </count>
+                     </visibleWhen>
          </command>
          <separator
                name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterDelete"
          <separator
                name="eu.etaxonomy.taxeditor.editor.separator1">
          </separator>
-         <separator
-               name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator3"
-               visible="true">
-         </separator>
-         <menu
-               label="%menu.label.1">
-            <dynamic
-                  class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DynamicFeatureMenu"
-                  id="eu.etaxonomy.taxeditor.dynamicFeatureMenu">
-            </dynamic>
-            <visibleWhen
-                  checkEnabled="true">
-               <or>
-                  <reference
-                        definitionId="isDescription">
-                  </reference>
-                  <reference
-                        definitionId="isDescriptionElement">
-                  </reference>
-                  <reference
-                        definitionId="isFeatureNodeContainer">
-                  </reference>
-               </or>
-            </visibleWhen>
-         </menu>
-      </menuContribution>
-      <menuContribution
-            locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
-         <separator
-               name="eu.etaxonomy.taxeditor.editor.separator4"
-               visible="true">
-         </separator>
-         <dynamic
-               class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
-               id="eu.etaxonomy.taxeditor.editor.derivativeEditor.CdmViewerContextMenu">
-         </dynamic>
-         <dynamic
-               class="eu.etaxonomy.taxeditor.editor.view.derivate.contextMenu.DerivateViewContextMenu"
-               id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
-         </dynamic>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivative.toggleLinkWithTaxonSelection"
-               label="Link with taxon selection"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <not>
-                  <reference
-                        definitionId="isDerivativeEditorLinkedToTaxonSelection">
-                  </reference>
-               </not>
-            </visibleWhen>
-         </command>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivative.toggleLinkWithTaxonSelection"
-               label="Unlink from taxon selection"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isDerivativeEditorLinkedToTaxonSelection">
-               </reference>
-            </visibleWhen>
-         </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.editor.separator3"
-               visible="true">
-         </separator>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivative.reuseSingleRead"
-               id="eu.etaxonomy.taxeditor.editor.derivative.reuseSingleReadMenuItem"
-               label="Reuse single read here"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isSingleReadReusableHere">
-               </reference>
-            </visibleWhen>
-         </command>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivative.copySingleReadToClipBoard"
-               label="Reuse for other sequence"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isSingleRead">
-               </reference>
-            </visibleWhen>
-         </command>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivative.removeSingleReadFromSequence"
-               label="Remove from this sequence"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isSingleReadReused">
-               </reference>
-            </visibleWhen>
-         </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.editor.separator7"
-               visible="true">
-         </separator>
-         <command
-               commandId="org.eclipse.ui.edit.delete"
-               label="%command.label.52"
-               style="push">
-         </command>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
-               icon="icons/deep-delete-16x16-32.png"
-               label="%command.label.54"
-               style="push">
-         </command>
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor">
          </dynamic>
       </menuContribution>
       
-      
-      
-      
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.uses">
          <command
                commandId="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
                label="%command.label.37"
                style="push">
-            <visibleWhen>
+          <!--  <visibleWhen>
                <or>
                   <reference
                         definitionId="isBulkEditor">
                         definitionId="isDerivateEditor">
                   </reference>
                </or>
-            </visibleWhen>
+            </visibleWhen>-->
          </command>
          <separator
                name="taxeditor-editor.separator1"
                   id="eu.etaxonomy.taxeditor.editor.view.concept.menus.new">
             </dynamic>
          </menu>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
-               label="%command.label.43"
-               style="push">
-         </command>
+         <dynamic
+               class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
+               id="eu.etaxonomy.taxeditor.view.context.CdmViewerContextMenu">
+         </dynamic>
          <separator
                name="eu.etaxonomy.taxeditor.editor.view.concept.menu.separator1"
                visible="true">
             <command
                   commandId="eu.etaxonomy.taxeditor.editor.derivative.listenToSelectionChange"
                   icon="icons/synced.gif"
-                  label="Link with Taxon Selection"
+                  label="%command.label.LINK_WITH_TAXON_SELECTIO"
                   style="toggle">
                <visibleWhen
                      checkEnabled="true">
             </command>
          </toolbar>
       </menuContribution>
+      <menuContribution
+            locationURI="menu:bulkeditor.menus.openmenu">
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditorFromMenu"
+               label="%command.label.DERIVATIVE_EDITOR"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
    </extension>
    <extension
          point="org.eclipse.ui.handlers">
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
-            commandId="eu.etaxonomy.taxeditor.editor.key.polytomous.command.delete">
+            commandId="eu.etaxonomy.taxeditor.key.polytomous.command.delete">
          <activeWhen>
-            <with
+           <with
                   variable="activePartId">
                <equals
                      value="eu.etaxonomy.taxeditor.editor.key">
                </equals>
             </with>
          </activeWhen>
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <test
+                     property="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester.isKeyNode">
+               </test>
+            </with>
+         </enabledWhen>
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.view.concept.handler.DeleteConceptRelationHandler"
             </with>
          </activeWhen>
       </handler>
-      <handler
-            class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
-            commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler">
-      </handler>
-      <handler
-            class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
-            commandId="org.eclipse.ui.edit.delete">
-         <activeWhen>
-            <with
-                  variable="activePartId">
-               <equals
-                     value="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
-               </equals>
-            </with>
-         </activeWhen>
-      </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.ToggleShowOnlyIndividualAssociationsHandler"
             commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations">
       <handler
             class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RemotingCreateChildPolytomousKeyNodeHandler"
             commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.child">
-         <activeWhen>
+        <activeWhen>
             <reference
                   definitionId="isRemoting">
             </reference>
          </activeWhen>
+      </handler>
+       <handler
+            class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.InsertNewNodeHandler"
+            commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.node">
+          <enabledWhen>
+             <with
+                   variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester.isKeyNode">
+            </test>
+         
+             </with>
+          </enabledWhen>
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RemotingCreateSiblingPolytomousKeyNodeHandler"
             commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.sibling">
          <activeWhen>
-            <reference
-                  definitionId="isRemoting">
-            </reference>
+            <with
+                  variable="activePartId">
+               <equals
+                     value="eu.etaxonomy.taxeditor.editor.key">
+               </equals>
+            </with>
          </activeWhen>
+         <enabledWhen>
+             <with
+                   variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester.isKeyNode">
+            </test>
+         
+             </with>
+          </enabledWhen>
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.handler.defaultHandler.OpenReferencingObjectsView"
             </with>
          </activeWhen>
       </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForTaxonNode"
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor">
+         <activeWhen>
+            <with
+                  variable="selection">
+               <reference
+                     definitionId="isTaxonNode">
+               </reference>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForSpecimenOrOBservationBase"
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor">
+         <activeWhen>
+            <with
+                  variable="activePartId">
+               <equals
+                     value="bulkeditor.editor">
+               </equals>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
+            commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler">
+         <activeWhen>
+            <and>
+               <reference
+                     definitionId="isChecklistEditorEnabled">
+               </reference>
+               <or>
+                  <reference
+                        definitionId="isTaxonNode">
+                  </reference>
+                  <reference
+                        definitionId="isClassification">
+                  </reference>
+               </or>
+            </and>
+         </activeWhen>
+      </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RefreshNodeNumberingHandler"
+            commandId="eu.etaxonomy.taxeditor.key.polytomous.command.refresh">
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <test
+                     property="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester.isKeyNode">
+               </test>
+            </with>
+         </enabledWhen>
+      </handler>
    </extension>
    <extension
          name="%extension.name"
             id="eu.etaxonomy.taxeditor.editor.name.createMisapplication"
             name="%command.name.36">
       </command>
-      <!--command
+    <!--  <command
             defaultHandler="eu.etaxonomy.taxeditor.editor.handler.MoveTaxonHandler"
             id="eu.etaxonomy.taxeditor.editor.name.moveTaxon"
             name="Move Taxon">
-      </command-->
+      </command>-->
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.ChangeToSynonymHandler"
             defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SwapSynonymAndAcceptedHandler"
             id="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
             name="%command.name.6">
+      </command>
+       <command
+            categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SetBasionymHandler"
+            id="eu.etaxonomy.taxeditor.editor.name.setAsBasionym"
+            name="%command.name.57">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
       </category>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.key.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.CreateChildNodeHandler"
+           
             id="eu.etaxonomy.taxeditor.key.polytomous.command.new.child"
             name="%command.name.28">
       </command>
-      <command
+       <command
             categoryId="eu.etaxonomy.taxeditor.editor.key.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.CreateSiblingNodeHandler"
+            
+            id="eu.etaxonomy.taxeditor.key.polytomous.command.new.node"
+            name="%command.name.58">
+      </command>
+        <command
+             categoryId="eu.etaxonomy.taxeditor.editor.key.category"
             id="eu.etaxonomy.taxeditor.key.polytomous.command.new.sibling"
             name="%command.name.29">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.key.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RefreshNodeNumberingHandler"
+           
             id="eu.etaxonomy.taxeditor.key.polytomous.command.refresh"
             name="%command.name.30">
       </command>
             name="%command.name.31">
       </command>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
+            categoryId="eu.etaxonomy.taxeditor.editor.key.category"
             id="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
             name="%command.name.50">
       </command>
             name="%command.name.34">
       </command>
        <command
-             defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
              id="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler"
              name="%command.name.38">
+          <commandParameter
+                id="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler.uuid"
+                name="taxonNodeUuid"
+                optional="true"
+                typeId="eu.etaxonomy.taxeditor.uuidParameterType">
+          </commandParameter>
        </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.new.category"
             name="%command.name.41">
       </command>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonHandler"
             id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
             name="%command.name.42">
          <commandParameter
       <command
             defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonNodeHandler"
             id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode"
-            name="Open Taxon Editor for taxonnode">
+            name="%command.name.OPEN_NAME_EDITOR_FOR_TAXON_NODE">
          <commandParameter
                id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode.uuid"
                name="taxon node uuid"
                typeId="eu.etaxonomy.taxeditor.uuidParameterType">
          </commandParameter>
       </command>
-      <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
-            name="%command.name.44">
-      </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionToOtherTaxonHandler"
       <command
             defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler"
             id="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
-            name="Open Derivative Editor">
+            name="%command.name.OPEN_DERIVATIVE_EDITOR">
          <commandParameter
                id="eu.etaxonomy.taxeditor.editor.openSpecimenEditor.uuid"
                name="Specimen Uuids"
          </commandParameter>
       </command>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.ListenToSelectionChangeHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivative.listenToSelectionChange"
-            name="Link with taxon selection">
-      </command>
-      <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivative.copySingleReadToClipBoard"
-            name="Copy SingleRead to clipboard">
-      </command>
-      <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivative.reuseSingleRead"
-            name="Reuse SingleRead">
+            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler"
+            id="eu.etaxonomy.taxeditor.editor.openSpecimenEditorFromMenu"
+            name="%command.name.OPEN_DERIVATIVE_EDITOR">
       </command>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivative.removeSingleReadFromSequence"
-            name="Remove SingleRead from sequence">
+            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenSpecimenEditorForTypeSpecimenHandler"
+            id="eu.etaxonomy.taxeditor.openSpecimenEditorForTypeSpecimen"
+            name="%command.name.OPEN_EDITOR_FOR_TYPE_SPECIMEN">
       </command>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.ToggleLinkWithTaxonSelectionHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivative.toggleLinkWithTaxonSelection"
-            name="Toggle link with taxon selection">
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.concept.handler.OpenRelatedConceptInBulkEditorHandler"
+            id="eu.etaxonomy.taxeditor.editor.openBulkEditorForTaxonRelationship"
+            name="Open bulk editor for taxon relationship">
       </command>
         
    </extension>
          <with
                variable="selection">
             <test
-                  property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isHomotypicSynonymOfAcceptedTaxon">
+                  property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isNotHomotypicSynonymOfAcceptedTaxon">
+            </test>
+         </with>
+      </definition>
+       <definition
+            id="isSynonymInHomotypicalGroupWithMoreSynonyms">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isSynonymInHomotypicalGroupWithMoreSynonyms">
             </test>
          </with>
       </definition>
             </test>
          </with>
       </definition>
-      <definition
-            id="isGroupEditor">
-         <with
-               variable="activeEditor">
-            <test
-                  property="taxeditor-bulkeditor.propertyTester.isGroupEditor">
-            </test>
-         </with>
-      </definition>
       <definition
             id="isIndividualsAssociation">
          <with
          <test
                property="eu.etaxonomy.taxeditor.preference.CdmStorePropertyTester.isRemoting">
          </test>
+      </definition>
+       <definition
+            id="isKeyNode">
+          <with
+                variable="selection">
+             <test
+                   property="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester.isKeyNode">
+             </test>
+          </with>
       </definition>
       <definition
             id="isSequence">
          </with>
       </definition>
       <definition
-            id="isSingleReadReusableHere">
+            id="isSpecimenOrObservationBase">
          <with
                variable="selection">
             <test
-                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleReadReusableHere">
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSpecimenOrObservationBase">
             </test>
          </with>
       </definition>
       <definition
-            id="isSingleReadReused">
+            id="isDerivativeEditorLinkedToTaxonSelection">
+         <with
+               variable="activeEditor">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.view.derivate.DerivativeEditorPropertyTester.isLinkedWithTaxonSelection">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isOrphanedTaxon">
          <with
                variable="selection">
             <test
-                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleReadReused">
+                  forcePluginActivation="true"
+                  property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isOrphaned">
             </test>
          </with>
       </definition>
       <definition
-            id="isDerivativeEditorLinkedToTaxonSelection">
+            id="isAddDerivateAllowed">
          <with
-               variable="activeEditor">
+               variable="selection">
             <test
-                  property="eu.etaxonomy.taxeditor.editor.view.derivate.DerivativeEditorPropertyTester.isLinkedWithTaxonSelection">
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isAddDerivateAllowed">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isAddMediaAllowed">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isAddMediaAllowed">
             </test>
          </with>
       </definition>
             class="eu.etaxonomy.taxeditor.editor.name.handler.NameEditorMenuPropertyTester"
             id="eu.etaxonomy.taxeditor.editor.name.propertyTester"
             namespace="eu.etaxonomy.taxeditor.editor.name.propertyTester"
-            properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms"
-            type="org.eclipse.jface.viewers.IStructuredSelection">
+            properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms,isNotHomotypicSynonymOfAcceptedTaxon,isSynonymInHomotypicalGroupWithMoreSynonyms,isOrphaned"
+            type="java.lang.Object">
       </propertyTester>
       <propertyTester
             class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DescriptionsMenuPropertyTester"
-            id="eu.etaxonomy.taxeditor.descriptions.PropertyTester"
+            id="eu.etaxonomy.taxeditor.descriptions.propertyTester"
             namespace="eu.etaxonomy.taxeditor.descriptions.propertyTester"
             properties="isMedia,isDescription,isDescriptionElement,isDeletable,isFeatureNodeContainer,isImageGallery,isTaxonEditor,isBulkEditor,isDerivateEditor, isIndividualsAssociation"
             type="org.eclipse.jface.viewers.TreeSelection">
       </propertyTester>
-      <propertyTester
-            class="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorPropertyTester"
-            id="taxeditor-bulkeditor.PropertyTester"
-            namespace="taxeditor-bulkeditor.propertyTester"
-            properties="isGroupEditor"
-            type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">
-      </propertyTester>
       <propertyTester
             class="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
             id="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
             namespace="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
-            properties="isSequence,isSingleRead,isSingleReadReusableHere,isSingleReadReused"
+            properties="isSequence,isSingleRead,isSpecimenOrObservationBase,isAddDerivateAllowed,isAddMediaAllowed"
             type="org.eclipse.jface.viewers.IStructuredSelection">
       </propertyTester>
       <propertyTester
             properties="isLinkedWithTaxonSelection"
             type="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
       </propertyTester>
+      <propertyTester
+            class="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester"
+            id="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester"
+            namespace="eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyPropertyTester"
+            properties="isKeyNode"
+            type="org.eclipse.jface.viewers.IStructuredSelection">
+      </propertyTester>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">   
       <viewCommandMapping
             commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode"
             selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
-            viewerName="Taxon Editor">
+            viewerName="%viewCommandMapping.viewerName.NAME_EDITOR">
       </viewCommandMapping>
       <viewCommandMapping
             commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
             selection="eu.etaxonomy.cdm.model.taxon.TaxonBase"
-            viewerName="TaxonEditor">
+            viewerName="%viewCommandMapping.viewerName.NAME_EDITOR">
       </viewCommandMapping>
       <viewCommandMapping
             commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
             selection="eu.etaxonomy.cdm.model.description.IndividualsAssociation"
-            viewerName="Derivative Editor">
+            viewerName="%viewCommandMapping.viewerName.SPECIMEN_EDITOR">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+            selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
+            viewerName="%viewCommandMapping.viewerName.SPECIMEN_EDITOR">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler"
+            selection="eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode"
+            viewerName="%viewCommandMapping.viewerName.CHECKLIST_EDITOR">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.openSpecimenEditorForTypeSpecimen"
+            selection="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation"
+            viewerName="%viewCommandMapping.viewerName.SPECIMEN_EDITOR">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
+            selection="eu.etaxonomy.cdm.model.taxon.TaxonRelationship"
+            viewerName="Name Editor">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openBulkEditorForTaxonRelationship"
+            selection="eu.etaxonomy.cdm.model.taxon.TaxonRelationship"
+            viewerName="Bulk Editor">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+            selection="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase"
+            viewerName="Specimen Editor">
       </viewCommandMapping>
     </extension>
+   <extension
+         id="eu.etaxonomy.taxeditor.editor.workbench.model"
+         name="Editor Workbench Model"
+         point="org.eclipse.e4.workbench.model">
+      <fragment
+            apply="always"
+            uri="fragment.e4xmi">
+      </fragment>
+   </extension>
 </plugin>