Add generic default command for opening taxon editor for taxa and taxon
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / plugin.xml
index b9a3d50db54a0e6946d6ef4b413333c62c4b3d6a..fa3e6800a18f73988f5b35a61dc68e6c9521aced 100644 (file)
             id="eu.etaxonomy.taxeditor.editor.group.authority"
             name="%editor.name.4">
       </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="%editor.name.5">
-      </editor>
       <editor
             class="eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor"
             default="false"
             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">
                commandId="eu.etaxonomy.taxeditor.editor.command.new.name"
                label="%command.label.46"
                style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <command
                commandId="eu.etaxonomy.taxeditor.editor.command.new.reference"
                label="%command.label.47"
                style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <command
                commandId="eu.etaxonomy.taxeditor.editor.command.new.team"
                label="%command.label.1"
                style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <command
                commandId="eu.etaxonomy.taxeditor.editor.command.new.person"
                label="%command.label.2"
                style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <separator
                name="eu.etaxonomy.navigation.menu.new.separator2"
                visible="true">
          </separator>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.command.new.specimen"
-               label="%command.label.3"
-               style="push">
-         </command>
          <separator
                name="eu.etaxonomy.navigation.menu.new.separator3"
                visible="true">
       </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"
                   name="org.eclipse.ui.views.showView.viewId"
                   value="eu.etaxonomy.taxeditor.editor.view.descriptive">
             </parameter>
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <command
                commandId="org.eclipse.ui.views.showView"
                   name="org.eclipse.ui.views.showView.viewId"
                   value="eu.etaxonomy.taxeditor.editor.view.media">
             </parameter>
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <command
                commandId="org.eclipse.ui.views.showView"
                   name="org.eclipse.ui.views.showView.viewId"
                   value="eu.etaxonomy.taxeditor.editor.view.concept">
             </parameter>
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
          </command>
          <command
                commandId="org.eclipse.ui.views.showView"
                   value="eu.etaxonomy.taxeditor.editor.view.concept.graph">
             </parameter>
             <visibleWhen
-                  checkEnabled="false">
+                  checkEnabled="true">
+               <and>
+                  <reference
+                        definitionId="isShowExperimentalFeatures">
+                  </reference>
+                  <reference
+                        definitionId="isCdmStoreConnected">
+                  </reference>
+               </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="isShowExperimentalFeatures">
+                     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">
+         <separator
+               name="eu.etaxonomy.taxeditor.store.showViewMenu.validation.separator"
+               visible="true">
+         </separator>
+         <command
+               commandId="org.eclipse.ui.views.showView"
+               label="%command.name.40"
+               style="push">
+            <parameter
+                  name="org.eclipse.ui.views.showView.viewId"
+                  value="eu.etaxonomy.taxeditor.editor.view.validation.problems">
+            </parameter>
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
                </reference>
             </visibleWhen>
          </command>
                </or>
             </visibleWhen>
          </menu>
-         <separator
-               name="taxeditor-editor.separator1"
-               visible="true">
-         </separator>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
-               label="%command.label.51"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <and>
-                  <with
-                        variable="selection">
-                     <count
-                           value="+">
-                     </count>
-                  </with>
-                  <reference
-                        definitionId="isIndividualsAssociation">
-                  </reference>
-               </and>
-            </visibleWhen>
-         </command>
          <command
                commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionToTaxon"
                label="%command.label.28"
                   <reference
                         definitionId="isFeatureNodeContainer">
                   </reference>
-               </or>
+                   <reference
+                        definitionId="isDescriptionElement">
+                  </reference>
+              </or>
             </visibleWhen>
          </command>
          <separator
                label="%command.label.52"
                style="push">
          </command>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.derivate.createFieldUnit"
-               label="%command.label.53"
-               style="push">
-         </command>
          <command
                commandId="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
                icon="icons/deep-delete-16x16-32.png"
       </menuContribution>
       <menuContribution
             allPopups="false"
-            locationURI="popup:eu.etaxonomy.taxeditor.navigation.navigatorpopup?after=taxeditor-navigation.separator2">
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
-               label="%command.label.55"
-               style="push">
-            <visibleWhen
-                  checkEnabled="false">
-               <and>
-                  <reference
-                        definitionId="isCdmStoreConnected">
-                  </reference>
-                  <reference
-                        definitionId="isTaxonNode">
-                  </reference>
-               </and>
-            </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">
-         <separator
-               name="eu.etaxonomy.taxeditor.store.showViewMenu.validation.separator"
-               visible="true">
-         </separator>
-         <command
-               commandId="org.eclipse.ui.views.showView"
-               label="%command.name.40"
-               style="push">
-            <parameter
-                  name="org.eclipse.ui.views.showView.viewId"
-                  value="eu.etaxonomy.taxeditor.editor.view.validation.problems">
-            </parameter>
-         </command>
+            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=eu.etaxonomy.taxeditor.navigation.search.toolbar">
+         <toolbar
+               id="eu.etaxonomy.taxeditor.editor.derivativeViewToolbar">
+            <command
+                  commandId="eu.etaxonomy.taxeditor.editor.derivative.listenToSelectionChange"
+                  icon="icons/synced.gif"
+                  label="Link with Taxon Selection"
+                  style="toggle">
+               <visibleWhen
+                     checkEnabled="true">
+                  <with
+                        variable="activePartId">
+                     <equals
+                           value="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
+                     </equals>
+                  </with>
+               </visibleWhen>
+            </command>
+         </toolbar>
       </menuContribution>
    </extension>
    <extension
          </activeWhen>
       </handler>
       <handler
-            class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivateEditorForTaxonHandler"
-            commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView">
+            class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.ToggleShowOnlyIndividualAssociationsHandler"
+            commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations">
+      </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RemotingCreateChildPolytomousKeyNodeHandler"
+            commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.child">
          <activeWhen>
-            <with
-                  variable="activePartId">
-               <equals
-                     value="eu.etaxonomy.taxeditor.navigation.navigator">
-               </equals>
-            </with>
+            <reference
+                  definitionId="isRemoting">
+            </reference>
          </activeWhen>
       </handler>
       <handler
-            class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.ToggleShowOnlyIndividualAssociationsHandler"
-            commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations">
+            class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.RemotingCreateSiblingPolytomousKeyNodeHandler"
+            commandId="eu.etaxonomy.taxeditor.key.polytomous.command.new.sibling">
+         <activeWhen>
+            <reference
+                  definitionId="isRemoting">
+            </reference>
+         </activeWhen>
       </handler>
    </extension>
    <extension
             id="eu.etaxonomy.taxeditor.editor.command.new.person"
             name="%command.name.26">
       </command>
-      <command
-            categoryId="eu.etaxonomy.taxeditor.editor.new.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.create.NewSpecimenHandler"
-            id="eu.etaxonomy.taxeditor.editor.command.new.specimen"
-            name="%command.name.27">
-      </command>
       <category
             id="eu.etaxonomy.taxeditor.editor.key.category"
             name="%category.name.5">
             id="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
             name="%command.name.33">
       </command>
+      <command
+            categoryId="eu.etaxonomy.taxeditor.editor.view.concept.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.concept.handler.DeleteConceptRelationHandler"
+            id="eu.etaxonomy.taxeditor.editor.view.concept.command.delete"
+            name="%command.name.51">
+      </command>
       <category
             id="eu.etaxonomy.taxeditor.bulkeditor.group.category"
             name="%category.name.7">
             defaultHandler="eu.etaxonomy.taxeditor.editor.group.authority.handler.EditCdmAuthoritiesHandler"
             id="eu.etaxonomy.taxeditor.group.cdmauthorities.edit"
             name="%command.name.34">
-      </command>
-      <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler"
-            id="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
-            name="%command.name.35">
       </command>
        <command
              defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
             name="%command.name.41">
       </command>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenTaxonEditorHandler"
-            id="eu.etaxonomy.taxeditor.editor.openTaxonEditor"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorHandler"
+            id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
             name="%command.name.42">
          <commandParameter
-               id="eu.etaxonomy.taxeditor.editor.taxonParameter"
+               id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon.uuid"
                name="%commandParameter.name"
                optional="false"
-               typeId="eu.etaxonomy.taxeditor.editor.taxonParameterType">
+               typeId="eu.etaxonomy.taxeditor.uuidParameterType">
          </commandParameter>
       </command>
-      <commandParameterType
-            converter="eu.etaxonomy.taxeditor.editor.handler.TaxonParameterConverter"
-            id="eu.etaxonomy.taxeditor.editor.taxonParameterType"
-            type="eu.etaxonomy.cdm.model.taxon.TaxonBase">
-      </commandParameterType>
       <command
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.CreateFieldUnitHandler"
-            id="eu.etaxonomy.taxeditor.editor.derivate.createFieldUnit"
-            name="%command.name.43">
+            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorHandler"
+            id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode"
+            name="Open Taxon Editor for taxonnode">
+         <commandParameter
+               id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode.uuid"
+               name="taxon node uuid"
+               optional="true"
+               typeId="eu.etaxonomy.taxeditor.uuidParameterType">
+         </commandParameter>
       </command>
       <command
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
             id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionElements"
             name="%command.name.12">
       </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler"
+            id="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+            name="Open Derivative Editor">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.ListenToSelectionChangeHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivative.listenToSelectionChange"
+            name="Link with taxon selection">
+      </command>
         
    </extension>
    <extension
             </test>
          </with>
       </definition>
+      <definition
+            id="isRemoting">
+         <test
+               property="eu.etaxonomy.taxeditor.preference.CdmStorePropertyTester.isRemoting">
+         </test>
+      </definition>
+      <definition
+            id="isSequence">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSequence">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isSingleRead">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleRead">
+            </test>
+         </with>
+      </definition>
    </extension>
    <extension
          point="org.eclipse.core.expressions.propertyTesters">
             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"
+            type="org.eclipse.jface.viewers.IStructuredSelection">
+      </propertyTester>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">   
          </description>
       </wizard>
    </extension>
-    <extension
+   <extension
           point="eu.etaxonomy.taxeditor.store.cdmViewer">
-       <cdmViewer
-             class="eu.etaxonomy.taxeditor.editor.EditorCdmViewer">
-       </cdmViewer>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode"
+            selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
+            viewerName="Taxon Editor">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
+            selection="eu.etaxonomy.cdm.model.taxon.TaxonBase"
+            viewerName="TaxonEditor">
+      </viewCommandMapping>
     </extension>
 </plugin>