import org.eclipse.ui.PartInitException;\r
\r
import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.taxon.Synonym;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.taxeditor.datasource.CdmTransactionController;\r
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
import eu.etaxonomy.taxeditor.editor.name.CdmParserController;\r
}\r
return null;\r
}\r
+ \r
+ public static IEditorPart openTaxonEditor(TaxonBase taxonBase) {\r
+\r
+ Taxon taxon = null;\r
+ if (taxonBase instanceof Synonym) {\r
+ // TODO: in case of pro parte synonym or any other where we might have multiple\r
+ // accepted taxa we have to provide a mechanism that can deal with that\r
+ // TODO set focus to the synonym\r
+ taxon = (Taxon) ((Synonym) taxonBase).getAcceptedTaxa().toArray()[0];\r
+ } else {\r
+ taxon = (Taxon) taxonBase;\r
+ }\r
+\r
+ // Open a taxon editor\r
+ return EditorController.open(taxon);\r
+ }\r
\r
/**\r
* Redraws an open editor if it exists for the given taxon\r