Initial checkin before attempting to implement Undo Operations.
authorp.ciardelli <p.ciardelli@localhost>
Mon, 2 Jun 2008 09:46:33 +0000 (09:46 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Mon, 2 Jun 2008 09:46:33 +0000 (09:46 +0000)
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/ChangeCompositeToMisappliedNameAction.java [new file with mode: 0644]

index 846ba6949f338adef664cf018943afc5b0337fdc..988127e2ef8f07a29956783fb26f28ad8cd5ae87 100644 (file)
@@ -402,6 +402,7 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/Ad
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/ChangeSynonymToMisappliedNameAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/DeleteSynonymFromTaxonAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/cdm/TaxonActionFactory.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/ChangeCompositeToMisappliedNameAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameTreeContentProvider.java -text
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/ChangeCompositeToMisappliedNameAction.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/ChangeCompositeToMisappliedNameAction.java
new file mode 100644 (file)
index 0000000..eab5317
--- /dev/null
@@ -0,0 +1,81 @@
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.actions.ui;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.action.Action;\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.jface.util.IPropertyChangeListener;\r
+\r
+import eu.etaxonomy.cdm.model.taxon.Synonym;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
+import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
+import eu.etaxonomy.taxeditor.actions.cdm.ChangeSynonymToMisappliedNameAction;\r
+import eu.etaxonomy.taxeditor.view.nameviewersupport.NameComposite;\r
+import eu.etaxonomy.taxeditor.view.nameviewersupport.TaxonCompositeFactory;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.06.2008\r
+ * @version 1.0\r
+ */\r
+public class ChangeCompositeToMisappliedNameAction extends Action {\r
+       private static final Logger logger = Logger\r
+                       .getLogger(ChangeCompositeToMisappliedNameAction.class);\r
+\r
+\r
+       private static String text = "Change synonym to misapplied name";\r
+       private ImageDescriptor image = TaxEditorPlugin.getDefault()\r
+                       .getImageDescriptor(ITaxEditorConstants.MISAPPLIED_NAME_ICON);\r
+       \r
+       private Synonym synonym;\r
+       private Taxon taxon;\r
+\r
+       private Action misappliedNameUiAction;\r
+\r
+       private ChangeCompositeToMisappliedNameAction() {\r
+               super(text);\r
+               setImageDescriptor(image);\r
+       }\r
+       \r
+       public ChangeCompositeToMisappliedNameAction(final NameComposite composite, final TaxonCompositeFactory taxonCompositeFactory) {\r
+               this();\r
+               \r
+               if (composite.getData() instanceof Synonym) {\r
+                       this.synonym = (Synonym) composite.getData();\r
+               } else {\r
+                       throw new IllegalArgumentException(\r
+                               "This action requires a composite with a Synonym in its data field."\r
+                       );\r
+               }\r
+               this.taxon = taxonCompositeFactory.getTaxon();\r
+               \r
+               misappliedNameUiAction = new ChangeSynonymToMisappliedNameAction(synonym, taxon);\r
+               misappliedNameUiAction.addPropertyChangeListener(new IPropertyChangeListener() {\r
+                       @Override\r
+                       public void propertyChange(\r
+                                       org.eclipse.jface.util.PropertyChangeEvent event) {\r
+                               if (event.getProperty().equals(\r
+                                               ITaxEditorConstants.MISAPPLIED_NAME)) {\r
+                                       Taxon misappliedNameTaxon = (Taxon) event\r
+                                                       .getNewValue();\r
+                                       composite.setData(misappliedNameTaxon);\r
+                                       taxonCompositeFactory.\r
+                                                       transformMisappliedNameComposite(composite);\r
+                               }\r
+                       }\r
+               });\r
+       }\r
+\r
+       public void run() {\r
+               misappliedNameUiAction.run();\r
+       }\r
+}\r