eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/RulerWithIcon.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/SynonymComposite.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/AddTaxonomicChildHandler.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/CreateHeterotypicSynonymHandler.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/CreateHomotypicSynonymHandler.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/DeleteTaxonHandler.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/NewTaxonHandler.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/OpenTaxonHandler.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/handlers/SaveAllHandler.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/io/InputWizard.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/io/InputWizard2.java -text
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmSessionDataRepository.java -text
org.eclipse.ui.ide,
org.eclipse.ui.workbench.texteditor,
org.eclipse.ui.editors,
- eu.etaxonomy.cdmLibrary;bundle-version="2.0.0"
+ eu.etaxonomy.cdmLibrary;bundle-version="2.0.0",
+ org.eclipse.core.expressions;bundle-version="3.4.0"
Eclipse-LazyStart: true
Export-Package: com.swtdesigner,
eu.etaxonomy.taxeditor,
name="Preferred Ranks">\r
</page>\r
</extension>\r
- <extension\r
- id="product1"\r
- point="org.eclipse.core.runtime.products">\r
- <product\r
- application="eu.etaxonomy.taxeditor.application"\r
- name="%productName">\r
- <property\r
- name="windowImages"\r
- value="eclipse.gif,eclipse32.gif,eclipse48.gif,eclipse.png,eclipse32.png">\r
- </property>\r
- <property\r
- name="aboutText"\r
- value="%productBlurb">\r
- </property>\r
- <property\r
- name="aboutImage"\r
- value="eclipse_lg.gif">\r
- </property>\r
- <property\r
- name="startupForegroundColor"\r
- value="C8D5EA">\r
- </property>\r
- <property\r
- name="startupProgressRect"\r
- value="0,280,455,15">\r
- </property>\r
- <property\r
- name="startupMessageRect"\r
- value="7,220,441,20">\r
- </property>\r
- <property\r
- name="appName"\r
- value="%productName">\r
- </property>\r
- <property\r
- name="preferenceCustomization"\r
- value="plugin_customization.ini">\r
- </property>\r
- </product>\r
- </extension>\r
- <extension\r
- id="TaxEditorProduct"\r
- point="org.eclipse.core.runtime.products">\r
- <product\r
- application="eu.etaxonomy.taxeditor.application"\r
- name="%productName">\r
- <property\r
- name="windowImages"\r
- value="icons/edit_16x16.gif">\r
- </property>\r
- <property\r
- name="aboutText"\r
- value="%productBlurb">\r
- </property>\r
- <property\r
- name="startupForegroundColor"\r
- value="C8D5EA">\r
- </property>\r
- <property\r
- name="startupProgressRect"\r
- value="0,280,455,15">\r
- </property>\r
- <property\r
- name="startupMessageRect"\r
- value="7,220,441,20">\r
- </property>\r
- <property\r
- name="appName"\r
- value="%productName">\r
- </property>\r
- <property\r
- name="preferenceCustomization"\r
- value="plugin_customization.ini">\r
- </property>\r
- </product>\r
- </extension>\r
- <extension\r
- id="TaxEditorProduct"\r
- point="org.eclipse.core.runtime.products">\r
- <product\r
- application="eu.etaxonomy.taxeditor.application"\r
- name="%productName">\r
- <property\r
- name="windowImages"\r
- value="icons/edit_16x16.gif,eclipse32.gif,eclipse48.gif,eclipse.png,eclipse32.png">\r
- </property>\r
- <property\r
- name="aboutText"\r
- value="%productBlurb">\r
- </property>\r
- <property\r
- name="aboutImage"\r
- value="eclipse_lg.gif">\r
- </property>\r
- <property\r
- name="startupForegroundColor"\r
- value="C8D5EA">\r
- </property>\r
- <property\r
- name="startupProgressRect"\r
- value="0,280,455,15">\r
- </property>\r
- <property\r
- name="startupMessageRect"\r
- value="7,220,441,20">\r
- </property>\r
- <property\r
- name="preferenceCustomization"\r
- value="plugin_customization.ini">\r
- </property>\r
- </product>\r
- </extension>\r
<!--extension\r
point="org.eclipse.ui.bindings">\r
<key\r
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">\r
</key>\r
</extension-->\r
- <extension id="saveAllActionSet"\r
- name="Save All"\r
- point="org.eclipse.ui.actionSets">\r
- <actionSet\r
- id="eu.etaxonomy.taxeditor.actionSet"\r
- label="Default Action Set"\r
- visible="true">\r
- <action\r
- class="eu.etaxonomy.taxeditor.actions.SaveAllAction"\r
- icon="icons/save_edit.gif"\r
- id="eu.etaxonomy.taxeditor.actions.saveallaction"\r
- label="&Sample Action"\r
- toolbarPath="actionSet"\r
- tooltip="Save all currently open taxa">\r
- </action>\r
- <!--action\r
- id="eu.etaxonomy.taxeditor.actions.opennameeditoraction"\r
- label="&Open New Taxon" \r
- class="eu.etaxonomy.taxeditor.actions.ui.OpenTaxonEditorAction"\r
- definitionId="eu.etaxonomy.taxeditor.actions.opennameeditoractiondef"\r
- icon="icons/save_edit.gif"\r
- toolbarPath="actionSet"\r
- tooltip="Open a new (root) taxa for editing">\r
- </action--> \r
- </actionSet>\r
+ <extension\r
+ point="org.eclipse.ui.menus">\r
+ <menuContribution\r
+ locationURI="menu:org.eclipse.ui.main.menu">\r
+ <menu\r
+ id="org.eclipse.ui.main.menu.file"\r
+ label="File">\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.newTaxon"\r
+ label="Add new taxon"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.file.separator1"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="org.eclipse.ui.file.close"\r
+ label="Close"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="org.eclipse.ui.file.closeAll"\r
+ label="Close All"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.file.separator2"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.saveAll"\r
+ icon="icons/save_edit.gif"\r
+ label="Save All"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.file.separator3"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.noCmdYet"\r
+ label="Import"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.noCmdYet"\r
+ label="Export"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.file.separator4"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="org.eclipse.ui.file.exit"\r
+ label="Exit"\r
+ style="push">\r
+ </command>\r
+ </menu>\r
+ </menuContribution>\r
+ <menuContribution\r
+ locationURI="menu:org.eclipse.ui.main.menu">\r
+ <menu\r
+ id="org.eclipse.ui.main.menu.edit"\r
+ label="Edit">\r
+ <command\r
+ commandId="org.eclipse.ui.edit.undo"\r
+ label="Undo">\r
+ </command>\r
+ <command\r
+ commandId="org.eclipse.ui.edit.redo"\r
+ label="Redo"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.edit.separator1"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="org.eclipse.ui.edit.cut"\r
+ label="Cut"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="org.eclipse.ui.edit.copy"\r
+ label="Copy"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="org.eclipse.ui.edit.paste"\r
+ label="Paste"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.edit.separator2"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="org.eclipse.ui.edit.delete"\r
+ label="Delete"\r
+ style="push">\r
+ </command>\r
+ </menu>\r
+ </menuContribution>\r
+ <menuContribution\r
+ locationURI="menu:org.eclipse.ui.main.menu">\r
+ <menu\r
+ id="eu.etaxonomy.taxeditor.ui.taxonMenu"\r
+ label="Taxon">\r
+ <visibleWhen\r
+ checkEnabled="true">\r
+ <reference\r
+ definitionId="nameEditorActive">\r
+ </reference>\r
+ </visibleWhen>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.editor.name.createHeterotypicSynoym"\r
+ label="Create Heterotypic Synonym"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.editor.name.createHomotypicSynoym"\r
+ label="Create Homotypic Synonym"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="separator1"\r
+ visible="true">\r
+ </separator>\r
+ </menu>\r
+ </menuContribution>\r
+ <menuContribution\r
+ locationURI="menu:org.eclipse.ui.main.menu">\r
+ <menu\r
+ id="org.eclipse.ui.main.menu.window"\r
+ label="Window">\r
+ <command\r
+ commandId="org.eclipse.ui.window.preferences"\r
+ label="Preferences"\r
+ style="push">\r
+ </command>\r
+ </menu>\r
+ </menuContribution>\r
+ <menuContribution\r
+ locationURI="menu:org.eclipse.ui.main.menu">\r
+ <menu\r
+ id="org.eclipse.ui.main.menu.help"\r
+ label="Help">\r
+ <command\r
+ commandId="org.eclipse.ui.help.helpContents"\r
+ label="Help Contents"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.help.separator1"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="org.eclipse.ui.update.findAndInstallUpdates"\r
+ label="Software Updates..."\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="eu.etaxonomy.taxeditor.ui.help.separator2"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="org.eclipse.ui.help.aboutAction"\r
+ label="About Taxonomic Editor">\r
+ </command>\r
+ </menu>\r
+ </menuContribution>\r
+ <menuContribution\r
+ locationURI="popup:eu.etaxonomy.taxeditor.navigation.taxonomictreeview">\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.ui.openTaxon"\r
+ label="Edit Taxon"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.ui.addTaxon"\r
+ label="Create Child Taxon"\r
+ style="push">\r
+ </command>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.command22"\r
+ label="Add child taxon with quick name"\r
+ style="push">\r
+ </command>\r
+ <separator\r
+ name="separator1"\r
+ visible="true">\r
+ </separator>\r
+ <command\r
+ commandId="eu.etaxonomy.taxeditor.ui.deleteTaxon"\r
+ label="Delete Taxon from Tree"\r
+ style="push">\r
+ </command>\r
+ </menuContribution>\r
+ <menuContribution\r
+ locationURI="popup:org.eclipse.ui.popup.any">\r
+ <command\r
+ commandId="org.eclipse.ui.file.exit"\r
+ label="Test"\r
+ style="push">\r
+ </command>\r
+ </menuContribution>\r
+ </extension>\r
+ <extension\r
+ point="org.eclipse.ui.commands">\r
+ <command\r
+ categoryId="org.eclipse.ui.category.file"\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.NewTaxonHandler"\r
+ id="eu.etaxonomy.taxeditor.newTaxon"\r
+ name="New Taxon">\r
+ </command>\r
+ <command\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.OpenTaxonHandler"\r
+ id="eu.etaxonomy.taxeditor.ui.openTaxon"\r
+ name="Open Taxon">\r
+ </command>\r
+ <command\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.DeleteTaxonHandler"\r
+ id="eu.etaxonomy.taxeditor.ui.deleteTaxon"\r
+ name="Delete Taxon">\r
+ </command>\r
+ <command\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.AddTaxonomicChildHandler"\r
+ id="eu.etaxonomy.taxeditor.ui.addTaxon"\r
+ name="Add Taxon">\r
+ </command>\r
+ <command\r
+ categoryId="org.eclipse.ui.category.file"\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.SaveAllHandler"\r
+ id="eu.etaxonomy.taxeditor.saveAll"\r
+ name="Save All">\r
+ </command>\r
+ <category\r
+ description="Name editor commands"\r
+ id="eu.etaxonomy.taxeditor.editor.name.category"\r
+ name="Name editor">\r
+ </category>\r
+ <command\r
+ categoryId="eu.etaxonomy.taxeditor.editor.name.category"\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.CreateHeterotypicSynonymHandler"\r
+ id="eu.etaxonomy.taxeditor.editor.name.createHeterotypicSynoym"\r
+ name="Create Heterotypic Synonym">\r
+ </command>\r
+ <command\r
+ categoryId="eu.etaxonomy.taxeditor.editor.name.category"\r
+ defaultHandler="eu.etaxonomy.taxeditor.handlers.CreateHomotypicSynonymHandler"\r
+ id="eu.etaxonomy.taxeditor.editor.name.createHomotypicSynoym"\r
+ name="Create Homotypic Synonym">\r
+ </command>\r
+ </extension>\r
+ <extension\r
+ point="org.eclipse.ui.handlers">\r
+ <handler\r
+ class="eu.etaxonomy.taxeditor.handlers.OpenTaxonHandler"\r
+ commandId="eu.etaxonomy.taxeditor.ui.open">\r
+ </handler>\r
+ </extension>\r
+ <extension\r
+ point="org.eclipse.core.expressions.definitions">\r
+ <definition\r
+ id="nameEditorActive">\r
+ <with\r
+ variable="activeEditorId">\r
+ <equals\r
+ value="eu.etaxonomy.taxeditor.editor.multipagetaxonview">\r
+ </equals>\r
+ </with>\r
+ </definition>\r
</extension>\r
<!--extension\r
point="org.eclipse.ui.commands">\r
private static final Logger logger = Logger
.getLogger(ApplicationActionBarAdvisor.class);
+ protected void makeActions(final IWorkbenchWindow window) {
+ GlobalController.setStatusLineManager(getActionBarConfigurer().getStatusLineManager());
+ }
+
+ protected void fillMenuBar(IMenuManager menuBar) {
+ }
+
// Actions - important to allocate these only in makeActions, and then use
// them in the fill methods. This ensures that the actions aren't recreated
// when fillActionBars is called with FILL_PROXY.
super(configurer);
}
- protected void makeActions(final IWorkbenchWindow window) {
+ protected void _makeActions(final IWorkbenchWindow window) {
// Creates the actions and registers them.
// Registering is needed to ensure that key bindings work.
// The corresponding commands keybindings are defined in the plugin.xml
// file.
// Registering also provides automatic disposal of the actions when
// the window is closed.
-
+
GlobalController.setStatusLineManager(getActionBarConfigurer().getStatusLineManager());
// File menu actions
return helpMenu;
}
- protected void fillMenuBar(IMenuManager menuBar) {
+ protected void _fillMenuBar(IMenuManager menuBar) {
menuBar.add(FILE_MENU());
* \r
* @author p.ciardelli\r
* \r
+ * @deprecated\r
*/\r
public class DeleteTaxonAction extends Action {\r
private static final Logger logger = Logger\r
undoContext = GlobalController.getWorkbenchUndoContext();\r
}\r
\r
+ @Deprecated\r
public DeleteTaxonAction(Taxon taxon) {\r
this();\r
\r
* @author p.ciardelli\r
* @created 02.06.2008\r
* @version 1.0\r
+ * @deprecated\r
*/\r
public class OpenNewTaxonEditorAction extends Action {\r
private static final Logger logger = Logger\r
setId(ID);\r
}\r
\r
+ @Deprecated\r
public OpenNewTaxonEditorAction(Taxon parentTaxon) {\r
this();\r
\r
* @author p.ciardelli\r
* @created 02.06.2008\r
* @version 1.0\r
+ * @deprecated\r
*/\r
public class OpenTaxonEditorAction extends Action implements ActionFactory.IWorkbenchAction {\r
private static final Logger logger = Logger\r
private Taxon taxon;\r
public static final String ID = "eu.etaxonomy.taxeditor.actions.opennameeditoraction"; //$NON-NLS-1$\r
\r
+ @Deprecated\r
public OpenTaxonEditorAction(Taxon taxon) {\r
this();\r
\r
}\r
}\r
\r
+ @Deprecated\r
public OpenTaxonEditorAction() {\r
super(newTaxonText);\r
setImageDescriptor(image);\r
* Open an empty taxon editor\r
* \r
* @return\r
- * @throws PartInitException\r
*/\r
- public static IEditorPart open() \r
- throws PartInitException{\r
+ public static IEditorPart open(){\r
return open(null);\r
}\r
\r
import org.eclipse.swt.widgets.Shell;\r
import org.eclipse.ui.IViewPart;\r
import org.eclipse.ui.IWorkbenchPage;\r
+import org.eclipse.ui.IWorkbenchPartSite;\r
import org.eclipse.ui.ide.undo.WorkspaceUndoUtil;\r
import org.eclipse.ui.operations.IWorkbenchOperationSupport;\r
\r
package eu.etaxonomy.taxeditor.controller;\r
\r
import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.TreeSelection;\r
import org.eclipse.ui.IViewPart;\r
+import org.eclipse.ui.handlers.HandlerUtil;\r
\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.taxeditor.navigation.TaxonomicTreeView;\r
import eu.etaxonomy.taxeditor.navigation.TaxonomicTreeViewer;\r
\r
}\r
\r
\r
+ /**\r
+ * Returns the selected taxon for referencing in context menus\r
+ * \r
+ * @param event \r
+ * @return\r
+ */\r
+ public static Taxon getCurrentSelection(ExecutionEvent event){\r
+ \r
+ ISelection menuSelection = HandlerUtil.getActiveMenuSelection(event);\r
+ \r
+ // The selection should always be a tree selection since we are in the \r
+ // taxonomic tree view. Just in case this will be used in another spot.\r
+ if(menuSelection instanceof TreeSelection){\r
+ Taxon taxon = (Taxon) ((TreeSelection) menuSelection).getFirstElement();\r
+ logger.debug("Selected taxon: " + taxon);\r
+ return taxon;\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ \r
}\r
import org.eclipse.core.runtime.Assert;\r
import org.eclipse.jface.text.IDocument;\r
import org.eclipse.jface.text.TextViewer;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.ISelectionChangedListener;\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
import org.eclipse.swt.SWT;\r
import org.eclipse.swt.custom.StyledText;\r
import org.eclipse.swt.dnd.DND;\r
\r
super.dispose();\r
}\r
- \r
}
\ No newline at end of file
// \r
// addPage(3, new EmptyEditorView(), getEditorInput());\r
// setPageText(3, "Geographic");\r
- \r
- // Hook undo to workbench\r
-// IUndoContext undoContext = UiUtil.getWorkbenchUndoContext();\r
-// getEditorSite().getActionBars().setGlobalActionHandler(ActionFactory.UNDO.getId(), new UndoActionHandler(getSite(), undoContext));\r
-// getEditorSite().getActionBars().setGlobalActionHandler(ActionFactory.REDO.getId(), new RedoActionHandler(getSite(), undoContext));\r
- \r
+ \r
} catch (PartInitException e) {\r
e.printStackTrace();\r
}\r
\r
import org.apache.log4j.Logger;\r
import org.eclipse.jface.action.MenuManager;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.ISelectionChangedListener;\r
import org.eclipse.swt.graphics.Font;\r
import org.eclipse.swt.widgets.Composite;\r
import org.eclipse.ui.forms.IManagedForm;\r
boolean hasProblem = name.getHasProblem();\r
\r
if (!hasProblem) {\r
- logger.warn(name.getProblemStarts());\r
+ logger.debug(name.getProblemStarts());\r
}\r
\r
String text = this.getTextWidget().getText();\r
contextMenu.addAction(new CreateNewTaxonFromSynonymAction(taxon, synonym));\r
}\r
\r
-\r
-// public IPropertySource getPropertySource() {\r
-// if (getSynonym() == null) {\r
-// return null;\r
-// }\r
-// return getPropertySourceByName(getSynonym().getName());\r
-// }\r
@Override\r
public IPropertySource getPropertySource() {\r
return new TaxonBasePropertySource(synonym, "Synonym Name");\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.controller.TreeController;\r
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 09.02.2009\r
+ * @version 1.0\r
+ */\r
+public class AddTaxonomicChildHandler extends AbstractHandler implements\r
+ IHandler {\r
+ private static final Logger logger = Logger\r
+ .getLogger(AddTaxonomicChildHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ Taxon parentTaxon = TreeController.getCurrentSelection(event);\r
+ \r
+ TaxonNameBase name = PreferencesUtil.getInstanceOfPreferredNameClass();\r
+ Taxon taxon = Taxon.NewInstance(name, parentTaxon.getSec());\r
+ parentTaxon.addTaxonomicChild(taxon, null, null);\r
+ \r
+ // Open editor for new taxon\r
+ EditorController.openUnitializedTaxon(taxon);\r
+ \r
+ return null;\r
+ }\r
+}\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.core.commands.operations.IUndoableOperation;\r
+\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+import eu.etaxonomy.taxeditor.operations.name.CreateSynonymInNewGroupOperation;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 06.02.2009\r
+ * @version 1.0\r
+ */\r
+public class CreateHeterotypicSynonymHandler extends AbstractHandler implements\r
+ IHandler {\r
+ private static final Logger logger = Logger\r
+ .getLogger(CreateHeterotypicSynonymHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ Taxon taxon = EditorController.getActiveEditor().getTaxon();\r
+ \r
+ IUndoableOperation operation;\r
+ try {\r
+ operation = new CreateSynonymInNewGroupOperation(event.getCommand().getName(), \r
+ EditorController.getUndoContext(taxon), taxon, "");\r
+ GlobalController.executeOperation(operation);\r
+ } catch (NotDefinedException e) {\r
+ logger.warn("Command name not set");\r
+ }\r
+ \r
+ return null;\r
+ }\r
+}\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.core.commands.operations.IUndoableOperation;\r
+\r
+import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+import eu.etaxonomy.taxeditor.operations.name.CreateSynonymInExisitingHomotypicalGroupOperation;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 06.02.2009\r
+ * @version 1.0\r
+ */\r
+public class CreateHomotypicSynonymHandler extends AbstractHandler implements\r
+ IHandler {\r
+ private static final Logger logger = Logger\r
+ .getLogger(CreateHomotypicSynonymHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ Taxon taxon = EditorController.getActiveEditor().getTaxon();\r
+ HomotypicalGroup group = taxon.getHomotypicGroup();\r
+ \r
+ IUndoableOperation operation;\r
+ try {\r
+ operation = new CreateSynonymInExisitingHomotypicalGroupOperation(event.getCommand().getName(), \r
+ EditorController.getUndoContext(taxon), taxon, group, "");\r
+ GlobalController.executeOperation(operation);\r
+ } catch (NotDefinedException e) {\r
+ logger.warn("Command name not set");\r
+ }\r
+ \r
+\r
+ return null;\r
+ }\r
+}\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.core.commands.operations.IUndoableOperation;\r
+\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+import eu.etaxonomy.taxeditor.controller.TreeController;\r
+import eu.etaxonomy.taxeditor.operations.DeleteTaxonOperation;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 09.02.2009\r
+ * @version 1.0\r
+ */\r
+public class DeleteTaxonHandler extends AbstractHandler implements IHandler {\r
+ private static final Logger logger = Logger\r
+ .getLogger(DeleteTaxonHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ Taxon taxon = TreeController.getCurrentSelection(event);\r
+ \r
+ IUndoableOperation operation;\r
+ try {\r
+ operation = new DeleteTaxonOperation(event.getCommand().getName(), \r
+ EditorController.getUndoContext(taxon), taxon);\r
+ GlobalController.executeOperation(operation);\r
+ } catch (NotDefinedException e) {\r
+ logger.warn("Command name not set");\r
+ }\r
+\r
+ return null;\r
+ }\r
+}\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.ui.PartInitException;\r
+\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 06.02.2009\r
+ * @version 1.0\r
+ */\r
+public class NewTaxonHandler extends AbstractHandler implements IHandler {\r
+ private static final Logger logger = Logger\r
+ .getLogger(NewTaxonHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ \r
+ EditorController.open();\r
+\r
+ return null;\r
+ }\r
+}\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.controller.TreeController;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 06.02.2009\r
+ * @version 1.0\r
+ */\r
+public class OpenTaxonHandler extends AbstractHandler{\r
+ private static final Logger logger = Logger\r
+ .getLogger(OpenTaxonHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+\r
+ EditorController.open(TreeController.getCurrentSelection(event));\r
+ \r
+ return null;\r
+ }\r
+}\r
--- /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.handlers;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IEditorPart;\r
+\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.actions.cdm.SaveTaxonAction;\r
+import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.datasource.CdmTransactionController;\r
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
+import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
+\r
+/**\r
+ * @author n.hoffmann\r
+ * @created 06.02.2009\r
+ * @version 1.0\r
+ */\r
+public class SaveAllHandler extends AbstractHandler implements IHandler {\r
+ private static final Logger logger = Logger.getLogger(SaveAllHandler.class);\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ logger.debug("Save all handler called.");\r
+ EditorController.setSaving(true);\r
+ \r
+ // Get all open windows\r
+ for (IEditorPart taxonEditor : EditorController.getOpenEditors()) {\r
+\r
+ // Save the dirty ones\r
+ if (taxonEditor.isDirty()) {\r
+ IEditorInput input = taxonEditor.getEditorInput();\r
+ if (input.getAdapter(Taxon.class) != null) {\r
+ Taxon taxon = (Taxon) input.getAdapter(Taxon.class);\r
+ new SaveTaxonAction(taxon).run();\r
+ if (taxonEditor instanceof MultiPageTaxonEditor) {\r
+ ((MultiPageTaxonEditor) taxonEditor).setDirtyExtern(false);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ // Commit the transaction \r
+ CdmTransactionController.commitTransaction();\r
+ \r
+ // Force library objects to be associated with new transaction\r
+ CdmSessionDataRepository.getDefault().clearNonTaxonData();\r
+ \r
+ // Start a new transaction\r
+ CdmTransactionController.startTransaction();\r
+ \r
+ // Put all open taxa in the new transaction\r
+ CdmTransactionController.addSessionTaxaToTransaction();\r
+ \r
+ EditorController.setSaving(false);\r
+ // TODO: delete undoHistory\r
+ return null;\r
+ }\r
+}\r
import java.util.List;\r
\r
import org.apache.log4j.Logger;\r
+import org.eclipse.jface.action.GroupMarker;\r
import org.eclipse.jface.action.IMenuManager;\r
import org.eclipse.jface.action.IToolBarManager;\r
+import org.eclipse.jface.action.MenuManager;\r
import org.eclipse.jface.dialogs.Dialog;\r
import org.eclipse.swt.SWT;\r
import org.eclipse.swt.events.SelectionAdapter;\r
import org.eclipse.swt.layout.GridData;\r
import org.eclipse.swt.layout.GridLayout;\r
import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
import org.eclipse.swt.widgets.Display;\r
import org.eclipse.swt.widgets.Label;\r
import org.eclipse.swt.widgets.Menu;\r
import org.eclipse.swt.widgets.MenuItem;\r
+import org.eclipse.ui.IWorkbenchActionConstants;\r
import org.eclipse.ui.forms.IManagedForm;\r
import org.eclipse.ui.forms.ManagedForm;\r
import org.eclipse.ui.forms.events.HyperlinkAdapter;\r
createTreeViewer();\r
}\r
\r
- createActions();\r
- initializeToolBar();\r
- initializeMenu();\r
+// createActions();\r
+// initializeToolBar();\r
+// initializeMenu();\r
+ \r
}\r
\r
private void createDataSourceMenu() {\r
treeViewer = new TaxonomicTreeViewer(taxTreeComposite);\r
\r
((TaxonomicTreeViewer) treeViewer).createDoubleClickListener();\r
- ((TaxonomicTreeViewer) treeViewer).createMenu();\r
+// ((TaxonomicTreeViewer) treeViewer).createMenu();\r
((TaxonomicTreeViewer) treeViewer).createQuickAdd();\r
((TaxonomicTreeViewer) treeViewer).createDragAndDrop();\r
\r
taxTreeComposite.layout();\r
\r
+ // register context menu\r
+ MenuManager menuMgr = new MenuManager();\r
+ menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));\r
+ getSite().registerContextMenu(menuMgr, treeViewer);\r
+\r
+ Control control = treeViewer.getControl();\r
+ Menu menu = menuMgr.createContextMenu(control);\r
+ control.setMenu(menu); \r
+ \r
return treeViewer;\r
}\r
\r
* @created 06.05.2008\r
* @version 1.0\r
*/\r
-public class TaxonomicTreeViewer extends TreeViewer {\r
+public class TaxonomicTreeViewer extends TreeViewer{\r
private static final Logger logger = Logger\r
.getLogger(TaxonomicTreeViewer.class);\r
\r