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.SwapSynonymAndTaxonAction;\r
+import eu.etaxonomy.taxeditor.actions.name.ChangeSynonymToConceptRelationAction;\r
+import eu.etaxonomy.taxeditor.actions.name.ChangeSynonymToMisapplicationAction;\r
+import eu.etaxonomy.taxeditor.actions.name.CreateSynonymInGroupAction;\r
+import eu.etaxonomy.taxeditor.actions.name.CreateNewTaxonFromSynonymAction;\r
+import eu.etaxonomy.taxeditor.actions.name.MakeBasionymAction;\r
+import eu.etaxonomy.taxeditor.actions.name.Messages;\r
+import eu.etaxonomy.taxeditor.actions.name.RemoveSynonymAction;\r
+import eu.etaxonomy.taxeditor.actions.name.UnmakeBasionymAction;\r
import eu.etaxonomy.taxeditor.controller.EditorController;\r
import eu.etaxonomy.taxeditor.controller.GlobalController;\r
import eu.etaxonomy.taxeditor.editor.ContextMenu;\r
import eu.etaxonomy.taxeditor.model.CdmUtil;\r
import eu.etaxonomy.taxeditor.operations.name.ChangeHomotypicGroupOperation;\r
-import eu.etaxonomy.taxeditor.operations.name.ChangeSynonymToConceptOperation;\r
import eu.etaxonomy.taxeditor.operations.name.ChangeSynonymToMisappliedNameOperation;\r
-import eu.etaxonomy.taxeditor.operations.name.ChangeSynonymToTaxonOperation;\r
-import eu.etaxonomy.taxeditor.operations.name.MakeSynonymAcceptedOperation;\r
-import eu.etaxonomy.taxeditor.operations.name.MakeSynonymGroupBasionymOperation;\r
-import eu.etaxonomy.taxeditor.operations.name.RemoveSynonymOperation;\r
import eu.etaxonomy.taxeditor.operations.name.UnmakeSynonymGroupBasionymOperation;\r
import eu.etaxonomy.taxeditor.propertysheet.name.TaxonBasePropertySource;\r
\r
\r
ContextMenu contextMenu = createContextMenu();\r
\r
- // Change composite to a misapplied name\r
- String text = "Change synonym to misapplied name"; //$NON-NLS-1$\r
- ImageDescriptor image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.MISAPPLIED_NAME_ICON);\r
- contextMenu.addAction(new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new ChangeSynonymToMisappliedNameOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation);\r
- }\r
- });\r
- \r
- // Change synonym to conccept relation\r
- text = "Change synonym to concept relation"; //$NON-NLS-1$\r
- image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.CONCEPT_ICON);\r
-\r
- contextMenu.addAction(new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new ChangeSynonymToConceptOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation); \r
- }\r
- });\r
- \r
- // Remove composite\r
- text = "Remove synonym from taxon"; //$NON-NLS-1$\r
- image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.ACTIVE_DELETE_ICON);\r
- contextMenu.addAction(new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new RemoveSynonymOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation); \r
- }\r
- });\r
- \r
- // Separator\r
- contextMenu.addSeparator();\r
- \r
- // Make the synonym the basionym of the homotypic group\r
- text = Messages.getString\r
- ("AddBasionymCompositeAction.0", synonym.getName()); //$NON-NLS-1$\r
- image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.BASIONYM_ICON);\r
- Action makeBasionymAction = new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new MakeSynonymGroupBasionymOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation); \r
- }\r
- };\r
- contextMenu.addAction(makeBasionymAction); \r
- \r
- // Action to remove the composite as basionym of the homotypic group\r
- text = Messages.getString\r
- ("RemoveBasionymCompositeAction.0", synonym.getName()); //$NON-NLS-1$\r
- image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.BASIONYM_ICON);\r
- Action unmakeBasionymAction = new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new UnmakeSynonymGroupBasionymOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation); \r
- }\r
- };\r
- contextMenu.addAction(unmakeBasionymAction);\r
- \r
+ contextMenu.addAction(new RemoveSynonymAction(taxon, synonym));\r
if (CdmUtil.isNameGroupBasionym(synonym.getName())) {\r
- \r
- // Gray out action for "make synonym group basionym"\r
- makeBasionymAction.setEnabled(false);\r
+ contextMenu.addAction(new UnmakeBasionymAction(taxon, synonym));\r
} else {\r
- \r
- // Gray out action for "unmake synonym group basionym"\r
- unmakeBasionymAction.setEnabled(false);\r
+ contextMenu.addAction(new MakeBasionymAction(taxon, synonym)); \r
}\r
- \r
- // Separator\r
+ // Add synonym to this synonyms homotypical group\r
+ // FIXME not working with the new menu action \r
+// contextMenu.addAction(new CreateSynonymInGroupAction(synonym.getHomotypicGroup()));\r
contextMenu.addSeparator();\r
-\r
+ contextMenu.addAction(new ChangeSynonymToMisapplicationAction(taxon, synonym));\r
+ contextMenu.addAction(new ChangeSynonymToConceptRelationAction(taxon, synonym));\r
+ contextMenu.addSeparator(); \r
// Change this synonym to the taxon's accepted name\r
- text = "Make synonym this taxon's accepted taxon"; //$NON-NLS-1$\r
- image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.SWAP_SYNONYM_AND_TAXON_ICON);\r
- Action swapAction = new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new MakeSynonymAcceptedOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation); \r
- }\r
- };\r
+ Action swapAction = new SwapSynonymAndTaxonAction(taxon, synonym);\r
contextMenu.addAction(swapAction);\r
// TODO fix operation\r
swapAction.setEnabled(false);\r
\r
// Make a new taxon with this synonym as the accepted name\r
- text = "Use synonym name to make a new taxon"; //$NON-NLS-1$\r
- image = TaxEditorPlugin.getDefault()\r
- .getImageDescriptor(ITaxEditorConstants.SYNONYM_TO_TAXON_ICON);\r
-\r
- contextMenu.addAction(new Action(text, image){\r
- \r
- public void run() {\r
- IUndoableOperation operation = new ChangeSynonymToTaxonOperation\r
- (this.getText(), undoContext, taxon, synonym);\r
- \r
- GlobalController.executeOperation(operation); \r
- }\r
- });\r
+ contextMenu.addAction(new CreateNewTaxonFromSynonymAction(taxon, synonym));\r
}\r
\r
\r