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
--- /dev/null
+/**\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