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