3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.ui
.section
.classification
;
13 import org
.eclipse
.jface
.util
.PropertyChangeEvent
;
14 import org
.eclipse
.swt
.SWT
;
16 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.ITreeNode
;
18 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
19 import eu
.etaxonomy
.taxeditor
.ui
.element
.AbstractCdmEntityWizardPage
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
.DetailType
;
26 * TaxonNodeWizardPage class.
30 * @created Sep 15, 2009
33 public class TaxonNodeWizardPage
extends AbstractCdmEntityWizardPage
<ITreeNode
> {
37 * Constructor for TaxonNodeWizardPage.
41 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
44 * a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
47 * a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
49 public TaxonNodeWizardPage(CdmFormFactory formFactory
,
50 ConversationHolder conversation
, ITreeNode entity
) {
51 super(formFactory
, conversation
, entity
);
52 setTitle("Create a new Taxon");
59 * eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement
60 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement)
64 public TaxonNodeDetailElement
createElement(ICdmFormElement rootElement
) {
66 TaxonNodeDetailElement detailElement
= (TaxonNodeDetailElement
) formFactory
67 .createCdmDetailElement(DetailType
.TAXON_NODE
, rootElement
,
69 detailElement
.setEntity(entity
);
70 formFactory
.addPropertyChangeListener(this);
81 public boolean openInEditor() {
82 return ((TaxonNodeDetailElement
) getDetailElement()).isOpenInEditor();
89 * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse
90 * .jface.util.PropertyChangeEvent)
94 public void propertyChange(PropertyChangeEvent event
) {
95 if (event
.getSource() == getDetailElement()) {
104 protected void checkComplete() {
105 TaxonNodeDetailElement detailElement
= (TaxonNodeDetailElement
) getDetailElement();
107 if (detailElement
.getClassification() == null) {
108 setMessage("No classification", WARNING
);
111 setPageComplete(true);
115 setPageComplete(false);
120 * Getter for the field <code>parentTreeNode</code>.
123 * @return a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
125 public ITreeNode
getParentTreeNode() {
126 return ((TaxonNodeDetailElement
) getDetailElement())
127 .getParentTreeNode();
130 public Taxon
getTaxon() {
131 return ((TaxonNodeDetailElement
) getDetailElement()).getTaxon();
137 * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#dispose()
141 public void dispose() {
142 formFactory
.removePropertyChangeListener(this);