fix #5524
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / plugin.xml
index 18e6e63e8b266ad978fe28f534c8f4816ed79d4f..993ee94f1b91905b7e8cddb3a5e3ae56386e2f32 100644 (file)
@@ -81,7 +81,7 @@
                default="false"
                icon="icons/derivate_view-16x16-32.png"
                id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
-               name="Derivative Editor">
+               name="%editor.name.DERIVATIVE_EDITOR">
          </editor>
    </extension>
       <extension
       </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"
                visible="true">
          </separator>
          <command
-               commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
-               label="Derivative Editor"
+               commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditorFromMenu"
+               label="%command.label.DERIVATIVE_EDITOR"
                style="push">
             <visibleWhen
                   checkEnabled="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
                               definitionId="isMisapplication">
                         </reference>
                      </or>
-                  </not>
+                     </not>
+                       <reference
+                              definitionId="isNotHomotypicSynonymOfAcceptedTaxon">
+                        </reference>
+                  </and>
                </visibleWhen>
             </command>
             <command
                   label="%command.label.56"
                   style="push">
                <visibleWhen>
+                  <and>
                    <reference
                          definitionId="isSynonym">
                    </reference>
+                   <reference
+                         definitionId="isNotHomotypicSynonymOfAcceptedTaxon">
+                   </reference>
+                   </and>
                 </visibleWhen>
           </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"
                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>
-         <separator
-               name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator3"
-               visible="true">
-         </separator>
          <menu
                label="%menu.label.1">
             <dynamic
                </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">
+         </dynamic>
+         <separator
+               name="eu.etaxonomy.taxeditor.editor.separator1">
+         </separator>
          <separator
                name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterNew"
                visible="true">
                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"
       </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="%command.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="%command.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="%command.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="%command.label.REUSE_SINGLE_READ_FOR_OTHER_SEQUENCE"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isSingleRead">
+               </reference>
+            </visibleWhen>
+         </command>
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.derivative.removeSingleReadFromSequence"
+               label="%command.label.REMOVE_SINGLE_READ_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"
                label="%command.label.54"
                style="push">
          </command>
-         <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>
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor">
             <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">
             </with>
          </activeWhen>
       </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForDescriptionElement"
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor">
+         <activeWhen>
+            <with
+                  variable="activePartId">
+               <equals
+                     value="eu.etaxonomy.taxeditor.editor.view.descriptive">
+               </equals>
+            </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>
    </extension>
    <extension
          name="%extension.name"
       <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"
       <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"
+               optional="true"
+               typeId="eu.etaxonomy.taxeditor.uuidParameterType">
+         </commandParameter>
+      </command>
+      <command
+            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.ListenToSelectionChangeHandler"
             id="eu.etaxonomy.taxeditor.editor.derivative.listenToSelectionChange"
-            name="Link with taxon selection">
+            name="%command.name.LINK_WITH_TAXON_SELECTION">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivative.copySingleReadToClipBoard"
+            name="%command.name.COPY_SINGLE_READ_TO_CLIPBOARD">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivative.reuseSingleRead"
+            name="%command.name.REUSE_SINGLE_READ">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.SingleReadHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivative.removeSingleReadFromSequence"
+            name="%command.name.REMOVE_SINGLE_READ">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.ToggleLinkWithTaxonSelectionHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivative.toggleLinkWithTaxonSelection"
+            name="%command.name.TOGGLE_LINK_WITH_TAXON_SELECTION">
       </command>
         
    </extension>
             </test>
          </with>
       </definition>
+      <definition
+            id="isNotHomotypicSynonymOfAcceptedTaxon">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isNotHomotypicSynonymOfAcceptedTaxon">
+            </test>
+         </with>
+      </definition>
       <definition
             id="isSynonym">
          <with
             </test>
          </with>
       </definition>
+      <definition
+            id="isSingleReadReusableHere">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleReadReusableHere">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isSingleReadReused">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleReadReused">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isDerivativeEditorLinkedToTaxonSelection">
+         <with
+               variable="activeEditor">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.view.derivate.DerivativeEditorPropertyTester.isLinkedWithTaxonSelection">
+            </test>
+         </with>
+      </definition>
    </extension>
    <extension
          point="org.eclipse.core.expressions.propertyTesters">
             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"
+            properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms,isNotHomotypicSynonymOfAcceptedTaxon"
             type="org.eclipse.jface.viewers.IStructuredSelection">
       </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"
+            properties="isSequence,isSingleRead,isSingleReadReusableHere,isSingleReadReused"
             type="org.eclipse.jface.viewers.IStructuredSelection">
       </propertyTester>
+      <propertyTester
+            class="eu.etaxonomy.taxeditor.editor.view.derivate.DerivativeEditorPropertyTester"
+            id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivativeEditorPropertyTester"
+            namespace="eu.etaxonomy.taxeditor.editor.view.derivate.DerivativeEditorPropertyTester"
+            properties="isLinkedWithTaxonSelection"
+            type="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
+      </propertyTester>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">   
             name="%scheme.name">
       </scheme>
    </extension>
-    <extension
+    <!--extension
          point="org.eclipse.ui.importWizards">
       <wizard
             category="eu.etaxonomy.taxeditor.import.category.cdm"
             %wizard.description
          </description>
       </wizard>
-   </extension>
+   </extension-->
    <extension
           point="eu.etaxonomy.taxeditor.store.cdmViewer">
       <viewCommandMapping
             commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxonNode"
             selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
-            viewerName="Taxon Editor">
+            viewerName="Name Editor">
       </viewCommandMapping>
       <viewCommandMapping
             commandId="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
             selection="eu.etaxonomy.cdm.model.taxon.TaxonBase"
-            viewerName="TaxonEditor">
+            viewerName="Name Editor">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+            selection="eu.etaxonomy.cdm.model.description.IndividualsAssociation"
+            viewerName="Derivative Editor">
+      </viewCommandMapping>
+      <viewCommandMapping
+            commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+            selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
+            viewerName="Derivative Editor">
       </viewCommandMapping>
     </extension>
 </plugin>