New additions:
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor.prototype2 / src / eu / etaxonomy / taxeditor / prototype2 / controller / OpenNameEditorAction.java
1 package eu.etaxonomy.taxeditor.prototype2.controller;
2
3 import org.eclipse.jface.action.Action;
4 import org.eclipse.ui.IEditorInput;
5 import org.eclipse.ui.PartInitException;
6
7 import eu.etaxonomy.cdm.model.name.TaxonName;
8 import eu.etaxonomy.taxeditor.prototype2.view.MultiPageTaxonView;
9 import eu.etaxonomy.taxeditor.prototype2.model.NameEditorInput;
10 import eu.etaxonomy.taxeditor.prototype2.Activator;
11
12 public class OpenNameEditorAction extends Action {
13
14 private TaxonName taxonname;
15 public static final String ID = "eu.etaxonomy.taxeditor.prototype2.controller.opennameeditoraction"; //$NON-NLS-1$
16
17 public OpenNameEditorAction(TaxonName taxonname) {
18 this.taxonname = taxonname;
19 }
20
21 public OpenNameEditorAction() {
22 this.taxonname = new TaxonName();
23 this.taxonname.setName("new");
24 setId(ID);
25 setText("New taxon");
26 }
27
28 public void run() {
29
30 // make sure there are no duplicates in recent names list
31 if (!Activator.getDefault().getRecentNamesList().contains(taxonname))
32 Activator.getDefault().getRecentNamesList().add(taxonname);
33
34 IEditorInput input = new NameEditorInput(taxonname);
35 try {
36 Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().
37 getActivePage().openEditor(input, MultiPageTaxonView.ID);
38 } catch (PartInitException e) {
39 // TODO Auto-generated catch block
40 e.printStackTrace();
41 }
42 }
43 }