4 package eu
.etaxonomy
.taxeditor
.wizard
;
6 import org
.apache
.log4j
.Logger
;
7 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
8 import org
.eclipse
.jface
.viewers
.StructuredSelection
;
9 import org
.eclipse
.jface
.wizard
.Wizard
;
10 import org
.eclipse
.ui
.INewWizard
;
11 import org
.eclipse
.ui
.IWorkbench
;
13 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
14 import eu
.etaxonomy
.cdm
.model
.taxon
.ITreeNode
;
15 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNode
;
16 import eu
.etaxonomy
.taxeditor
.navigation
.NavigationUtil
;
17 import eu
.etaxonomy
.taxeditor
.navigation
.navigator
.TaxonNavigator
;
18 import eu
.etaxonomy
.taxeditor
.operations
.AbstractPostOperation
;
19 import eu
.etaxonomy
.taxeditor
.operations
.CreateTaxonNodeOperation
;
20 import eu
.etaxonomy
.taxeditor
.operations
.IPostOperationEnabled
;
25 * @created Sep 15, 2009
28 public class NewTaxonNodeWizard
extends Wizard
implements INewWizard
, IPostOperationEnabled
{
29 private static final Logger logger
= Logger
.getLogger(NewTaxonNodeWizard
.class);
31 private NewTaxonNodeWizardPage page
;
33 private IStructuredSelection selection
;
35 private TaxonNode generatedTaxonNode
;
37 private boolean openEmptyEditor
= false;
39 public NewTaxonNodeWizard() {
40 this.setWindowTitle("New Taxon");
41 selection
= getNavigatorSelection();
45 * Retrieve the current selection from taxon navigator
49 private IStructuredSelection
getNavigatorSelection() {
50 StructuredSelection selection
= null;
51 TaxonNavigator navigator
= NavigationUtil
.getNavigator(false);
53 if(navigator
!= null){
54 selection
= (StructuredSelection
) navigator
.getCommonViewer().getSelection();
63 public boolean performFinish() {
64 TaxonNavigator taxonNavigator
;
65 taxonNavigator
= (TaxonNavigator
) NavigationUtil
.showView(TaxonNavigator
.ID
);
67 if(page
.getTaxonName() == null || page
.getTaxonName().getFullTitleCache().length() == 0){
68 openEmptyEditor
= true;
70 AbstractPostOperation operation
= new CreateTaxonNodeOperation("Create Taxon",
71 NavigationUtil
.getUndoContext(), page
.getParentNode(), page
.getTaxonName(), this, taxonNavigator
);
72 NavigationUtil
.executeOperation(operation
);
74 // NavigationUtil.getNavigator().getCommonViewer().refresh();
80 * @see org.eclipse.jface.wizard.Wizard#addPages()
83 public void addPages() {
86 page
= new NewTaxonNodeWizardPage(selection
);
91 public void init(IWorkbench workbench
, IStructuredSelection selection
) {
92 // workbench is not used at the moment
93 this.selection
= selection
;
96 public boolean openInEditor(){
97 return page
.openInEditor();
100 public boolean openEmpty(){
101 return openInEditor() && openEmptyEditor
;
104 public TaxonNode
getTaxonNode(){
105 return generatedTaxonNode
;
108 public ITreeNode
getParent(){
109 return page
.getParentNode();
113 * @see eu.etaxonomy.taxeditor.operations.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)
115 public boolean postOperation(CdmBase objectAffectedByOperation
) {
116 generatedTaxonNode
= (TaxonNode
) objectAffectedByOperation
;
118 NavigationUtil
.selectInNavigator(generatedTaxonNode
, generatedTaxonNode
.getParent());
123 public boolean onComplete() {
124 // TODO Auto-generated method stub