- /**\r
- * @param nameComposite\r
- */\r
- private void createSynonymMenu() {\r
-\r
- if (!(getData() instanceof Synonym)) {\r
- return;\r
- }\r
-\r
- // Create right-click context menu\r
- Synonym synonym = (Synonym) getData();\r
- ContextMenu contextMenu = createContextMenu();\r
-\r
- // Action to change composite to a misapplied name\r
- Action misappliedNameAction = new MoveCompositeToMisappliedCompositeAction(\r
- this, managedForm);\r
- contextMenu.addAction(misappliedNameAction);\r
-\r
- // Action to delete composite\r
- Action deleteSynonymAction = new DeleteSynonymCompositeAction(this,\r
- getTaxon());\r
- contextMenu.addAction(deleteSynonymAction);\r
-\r
- // Separator\r
- contextMenu.addSeparator();\r
-\r
- // Action to make the composite the basionym of the homotypic group\r
- final Action addBasionymAction = new AddBasionymCompositeAction(this);\r
- contextMenu.addAction(addBasionymAction);\r
-\r
- // Action to remove the composite as basionym of the homotypic group\r
- final Action removeBasionymAction = new RemoveBasionymCompositeAction(\r
- this);\r
- contextMenu.addAction(removeBasionymAction);\r
-\r
- // Listeners to activate / reactivate the above two actions as necessary\r
- addBasionymAction\r
- .addPropertyChangeListener(new IPropertyChangeListener() {\r
- public void propertyChange(\r
- org.eclipse.jface.util.PropertyChangeEvent event) {\r
- if (event.getProperty().equals(\r
- ITaxEditorConstants.BASIONYM)) {\r
- removeBasionymAction.setEnabled(true);\r
- transform(NameComposite.ADD_GROUP_BASIONYM);\r
- }\r
- }\r
- });\r
- removeBasionymAction\r
- .addPropertyChangeListener(new IPropertyChangeListener() {\r
- public void propertyChange(\r
- org.eclipse.jface.util.PropertyChangeEvent event) {\r
- if (event.getProperty().equals(\r
- ITaxEditorConstants.BASIONYM)) {\r
- addBasionymAction.setEnabled(true);\r
- transform(NameComposite.REMOVE_GROUP_BASIONYM);\r
- }\r
- }\r
- });\r
-\r
- // Separator\r
- contextMenu.addSeparator();\r
-\r
- // Action to change this synonym to the taxon's accepted name\r
- Action changeToThisTaxon = new ChangeSynonymToTaxonUiAction(synonym,\r
- getTaxon());\r
- contextMenu.addAction(changeToThisTaxon);\r
-\r
- // Action to make a new taxon with this synonym as the accepted name\r
- Action changeToNewAccepted = new ChangeCompositeToNewTaxonAction(this,\r
- getTaxon());\r
- contextMenu.addAction(changeToNewAccepted);\r
- }\r
-\r
- /**\r
- * @param nameComposite\r
- */\r
- private void createAcceptedMenu() {\r
-\r
- ContextMenu contextMenu = createContextMenu();\r
-\r
- // TODO Make action "Create autonym and subspecies"\r
-\r
- Action changeTaxonAction = new ChangeTaxonToSynonymAction(getTaxon());\r
- contextMenu.addAction(changeTaxonAction);\r
-\r
- Action moveTaxonAction = new MoveTaxonDialogAction(getTaxon());\r
- contextMenu.addAction(moveTaxonAction);\r
- }\r
-\r
- /**\r
- * @param nameComposite\r
- */\r
- private void createMisappliedNameMenu() {\r
-\r
- ContextMenu contextMenu = createContextMenu();\r
-\r
- Action deleteMisappliedNameAction = new DeleteMisappliedNameCompositeAction(\r
- this, getTaxon());\r
- contextMenu.addAction(deleteMisappliedNameAction);\r
- }\r
-\r
- public boolean setParent(Composite parent) {\r
-\r
- if (super.setParent(parent)) {\r
-\r
- // Has this been moved to the misapplied names group?\r
- if (parent.getData(ITaxEditorConstants.MISAPPLIED_NAME) != null) {\r
- new ChangeCompositeToMisappliedNameAction(this, managedForm)\r
- .run();\r
- }\r
-\r
- // Has this been moved to a HomotypicalGroup?\r
- if (parent.getData() instanceof HomotypicalGroup) {\r
- new AdaptCompositeToGroupAction(this,\r
- (EditorGroupComposite) parent).run();\r
- }\r
- return true;\r
-\r
- }\r
- return false;\r
- }\r