#776 fixed. Context menus now nomenclatural code-dependent in plugin.xml.
authorp.ciardelli <p.ciardelli@localhost>
Wed, 24 Jun 2009 15:52:04 +0000 (15:52 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Wed, 24 Jun 2009 15:52:04 +0000 (15:52 +0000)
.gitattributes
taxeditor-editor/plugin.xml
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInput.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/DefaultLabelStrategy.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/LabelImageProvider.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/LabelPropertyTester.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/NameComposite.java

index 726a96c62dd048c13268778e61dd5fca52581e55..58c858ea39c0208375ecc89733137203ef2719ee 100644 (file)
@@ -706,6 +706,7 @@ taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/internal/TaxeditorE
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/DefaultLabelStrategy.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/ILabelImageStrategy.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/LabelImageProvider.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/LabelPropertyTester.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/ZoologicalNameLabelStrategy.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/AcceptedNameComposite.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/BasionymSynonymPropertySource.java -text
index d8b413ba7f1605d92e551ab351ff4fc988a430aa..3f96fe201c553cb151cb4c202370b43fea8b1692 100644 (file)
                   id="Set Basionym"
                   style="push">
                <visibleWhen>
-                  <reference
-                        definitionId="isSynonym">
-                  </reference>
+                  <and>
+                     <reference
+                           definitionId="isSynonym">
+                     </reference>
+                     <not>
+                        <reference
+                              definitionId="isZoological">
+                        </reference>
+                     </not>
+                  </and>
                </visibleWhen>
             </command>
             <command
                   id="Remove Basionym"
                   style="push">
                <visibleWhen>
-                  <reference
-                        definitionId="isSynonym">
-                  </reference>
+                  <and>
+                     <reference
+                           definitionId="isSynonym">
+                     </reference>
+                     <not>
+                        <reference
+                              definitionId="isZoological">
+                        </reference>
+                     </not>
+                  </and>
+               </visibleWhen>
+            </command>
+            <command
+                  commandId="eu.etaxonomy.taxeditor.editor.name.setOriginalCombination"
+                  id="Set Original Combination"
+                  style="push">
+               <visibleWhen>
+                  <and>
+                     <reference
+                           definitionId="isSynonym">
+                     </reference>
+                     <reference
+                           definitionId="isZoological">
+                     </reference>
+                  </and>
+                  <!--and>
+                     <reference
+                           definitionId="isSynonym">
+                     </reference-->
+                  <!--/and-->
+               </visibleWhen>
+            </command>
+            <command
+                  commandId="eu.etaxonomy.taxeditor.editor.name.removeOriginalCombination"
+                  id="Remove Original Combination"
+                  style="push">
+               <visibleWhen>
+                  <and>
+                     <reference
+                           definitionId="isSynonym">
+                     </reference>
+                     <reference
+                           definitionId="isZoological">
+                     </reference>
+                  </and>
                </visibleWhen>
             </command>
             <command
             class="eu.etaxonomy.taxeditor.editor.handler.SaveAllHandler"
             commandId="org.eclipse.ui.file.saveAll">
       </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.name.handler.SetBasionymHandler"
+            commandId="eu.etaxonomy.taxeditor.editor.name.setBasionym">
+         <enabledWhen>
+            <not>
+               <reference
+                     definitionId="isGroupBasionym">
+               </reference>
+            </not>
+         </enabledWhen>
+      </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.name.handler.RemoveBasionymHandler"
             commandId="eu.etaxonomy.taxeditor.editor.name.removeBasionym">
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.name.handler.SetBasionymHandler"
-            commandId="eu.etaxonomy.taxeditor.editor.name.setBasionym">
+            commandId="eu.etaxonomy.taxeditor.editor.name.setOriginalCombination">
          <enabledWhen>
             <not>
                <reference
             </not>
          </enabledWhen>
       </handler>
+      <handler
+            class="eu.etaxonomy.taxeditor.editor.name.handler.RemoveBasionymHandler"
+            commandId="eu.etaxonomy.taxeditor.editor.name.removeOriginalCombination">
+         <enabledWhen>
+            <reference
+                  definitionId="isGroupBasionym">
+            </reference>
+         </enabledWhen>
+      </handler>
    </extension>
    <extension
          name="File Menu Commands"
             </iterate>
          </with>
       </definition>
+      <definition
+            id="isZoological">
+         <with
+               variable="activeMenuSelection">
+            <iterate>
+               <test
+                     forcePluginActivation="true"
+                     property="eu.etaxonomy.taxeditor.label.propertytests.isZoological">
+               </test>
+            </iterate>
+         </with>
+      </definition>
    </extension>
    <extension
          name="Name Commands"
             id="eu.etaxonomy.taxeditor.editor.name.removeBasionym"
             name="%command.name.18">
       </command>
+      <command
+            id="eu.etaxonomy.taxeditor.editor.name.setOriginalCombination"
+            name="Set Original Combination">
+      </command>
+      <command
+            id="eu.etaxonomy.taxeditor.editor.name.removeOriginalCombination"
+            name="Remove Original Combination">
+      </command>
    </extension>
    <extension
          name="Description Commands"
          </propertySection>
       </propertySections>
    </extension>
+      <extension
+         point="org.eclipse.core.expressions.propertyTesters">
+      <propertyTester
+            class="eu.etaxonomy.taxeditor.editor.labels.LabelPropertyTester"
+            id="eu.etaxonomy.taxeditor.propertytests.labelPropertyTester"
+            namespace="eu.etaxonomy.taxeditor.label.propertytests"
+            properties="isZoological"
+            type="eu.etaxonomy.taxeditor.propertysheet.name.SynonymPropertySource">
+      </propertyTester>
+   </extension>
 </plugin>
index 7449f2396dab13eba5a5c8445502a1d1f58f7067..2a7d9bee7e899806ffe874a3869312ad0419a828 100644 (file)
@@ -58,7 +58,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
        TaxonNode taxonNode = CdmStore.getTaxonService().getTaxonNodeByUuid(uuid);
                
                if(taxonNode == null){
-                       MessageDialog.openWarning(EditorUtil.getShell(), "Not yet implemented", "Selected element is not if type TaxonBase.");
+                       MessageDialog.openWarning(EditorUtil.getShell(), "Not yet implemented", "Selected element is not type TaxonBase.");
                        return null;
                }
                
index 3d14cb4cdace9238633621b9a510188a52c16633..e572aaecfe5aa41e716cb8370e36e081ce712f1d 100644 (file)
@@ -32,8 +32,7 @@ public class DefaultLabelStrategy implements ILabelImageStrategy {
                }\r
                return "";\r
        }\r
-       \r
-       \r
+               \r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.taxeditor.editor.labels.IEditorLabelStrategy#getNameRelationInverseTypeLabel(eu.etaxonomy.cdm.model.name.NameRelationshipType)\r
         */\r
@@ -50,7 +49,6 @@ public class DefaultLabelStrategy implements ILabelImageStrategy {
                return "";\r
        }\r
 \r
-\r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.taxeditor.editor.labels.ILabelImageStrategy#getNameRelationImage(eu.etaxonomy.cdm.model.name.NameRelationship)\r
         */\r
@@ -66,4 +64,4 @@ public class DefaultLabelStrategy implements ILabelImageStrategy {
                }\r
                return null;\r
        }\r
-}\r
+}
\ No newline at end of file
index 72128f6aa651f2c29f1460ebc47982c08059d818..04778022b903ae5772616007229062e42bf58e07 100644 (file)
@@ -24,10 +24,6 @@ public class LabelImageProvider implements ILabelImageStrategy {
 \r
        private ILabelImageStrategy strategy;\r
 \r
-       public LabelImageProvider(ILabelImageStrategy strategy) {\r
-               this.strategy = strategy;\r
-       }\r
-\r
        public static ILabelImageStrategy getLabelStrategy(TaxonNameBase name) {\r
                if (name == null) {\r
                        if (PreferencesUtil.getPreferredNomenclaturalCode().\r
@@ -41,6 +37,10 @@ public class LabelImageProvider implements ILabelImageStrategy {
                }\r
                return new DefaultLabelStrategy();\r
        }\r
+\r
+       public LabelImageProvider(ILabelImageStrategy strategy) {\r
+               this.strategy = strategy;\r
+       }\r
        \r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.taxeditor.editor.labels.IEditorLabelStrategy#getNameRelationTypeLabel(eu.etaxonomy.cdm.model.name.NameRelationshipType)\r
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/LabelPropertyTester.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/LabelPropertyTester.java
new file mode 100644 (file)
index 0000000..db4d3d2
--- /dev/null
@@ -0,0 +1,28 @@
+/**\r
+ * \r
+ */\r
+package eu.etaxonomy.taxeditor.editor.labels;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.expressions.PropertyTester;\r
+\r
+import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.taxeditor.propertysheet.name.SynonymPropertySource;\r
+\r
+public class LabelPropertyTester extends PropertyTester {\r
+       private static final Logger logger = Logger.getLogger(LabelPropertyTester.class);\r
+       \r
+       private static final Object IS_ZOOLOGICAL = "isZoological";\r
+       \r
+       public boolean test(Object receiver, String property, Object[] args,\r
+                       Object expectedValue) {\r
+               \r
+               if (IS_ZOOLOGICAL.equals(property) && receiver instanceof SynonymPropertySource) {\r
+                       TaxonNameBase name = ((SynonymPropertySource) receiver).\r
+                                                                       getTaxonBase().getName();\r
+                       return (name.getNomenclaturalCode().equals(NomenclaturalCode.ICZN));                    \r
+               }\r
+               return false;\r
+       }\r
+}\r
index e31704c77e27a696e5ac8cd2e6dc3c8023e39847..acebf8c282df8f8a89c57a108fa4d221530e29e2 100644 (file)
@@ -92,8 +92,6 @@ public abstract class NameComposite extends GroupedComposite{
        public static final Image CONCEPT_ICON = ImageResources.getImage(ImageResources.CONCEPT_ICON);\r
        public static final Image AUTONYM_ICON = ImageResources\r
                        .getImage(ImageResources.AUTONYM_ICON);\r
-       public static final Image BASIONYM_ICON = ImageResources\r
-                       .getImage(ImageResources.BASIONYM_ICON);\r
        public static final Image MOVE = ImageResources.getImage(ImageResources.MOVE_ICON);\r
 \r
        /**\r