4 package eu
.etaxonomy
.taxeditor
.ui
.section
.key
;
6 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKeyNode
;
7 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
8 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
9 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
10 import eu
.etaxonomy
.taxeditor
.ui
.forms
.KeyStatementElement
;
11 import eu
.etaxonomy
.taxeditor
.ui
.forms
.NumberWithLabelElement
;
12 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
.SelectionType
;
13 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
14 import eu
.etaxonomy
.taxeditor
.ui
.selection
.FeatureSelectionElement
;
15 import eu
.etaxonomy
.taxeditor
.ui
.selection
.PolytomousKeyNodeSelectionElement
;
16 import eu
.etaxonomy
.taxeditor
.ui
.selection
.PolytomousKeySelectionElement
;
17 import eu
.etaxonomy
.taxeditor
.ui
.selection
.TaxonBaseSelectionElement
;
18 import eu
.etaxonomy
.taxeditor
.ui
.selection
.TaxonSelectionElement
;
24 public class PolytomousKeyNodeDetailElement
extends AbstractCdmDetailElement
<PolytomousKeyNode
> {
26 private KeyStatementElement element_statement
;
28 private FeatureSelectionElement selection_feature
;
30 private TaxonSelectionElement selection_taxon
;
32 private PolytomousKeySelectionElement selection_subkey
;
34 private PolytomousKeyNodeSelectionElement selection_otherNode
;
36 private KeyStatementElement element_question
;
38 public PolytomousKeyNodeDetailElement(CdmFormFactory formFactory
,
39 ICdmFormElement formElement
) {
40 super(formFactory
, formElement
);
45 protected void createControls(ICdmFormElement formElement
,
46 PolytomousKeyNode entity
, int style
) {
47 if(! entity
.isLeaf()){
48 NumberWithLabelElement number_nodeNumber
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Node Number", entity
.getNodeNumber(), style
);
49 number_nodeNumber
.setEnabled(false);
52 element_statement
= formFactory
.createKeyStatementElement(formElement
, "Statement", entity
.getStatement(), 50, style
);
54 selection_feature
= (FeatureSelectionElement
) formFactory
.createSelectionElement(SelectionType
.FEATURE
, getConversationHolder(), formElement
, "Feature", entity
.getFeature(), style
);
57 selection_taxon
= (TaxonSelectionElement
) formFactory
.createSelectionElement(SelectionType
.TAXON
, getConversationHolder(), formElement
, "Taxon", entity
.getTaxon(), style
);
60 selection_subkey
= (PolytomousKeySelectionElement
) formFactory
.createSelectionElement(SelectionType
.POLYTOMOUS_KEY
, getConversationHolder(), formElement
, "Subkey", entity
.getSubkey(), style
);
62 selection_otherNode
= (PolytomousKeyNodeSelectionElement
) formFactory
.createSelectionElement(SelectionType
.POLYTOMOUS_KEY_NODE
, getConversationHolder(), formElement
, "Other Node", entity
.getOtherNode(), style
);
64 formFactory
.createMultiLanguageTextElement(formElement
, "Modifying Text", entity
.getModifyingText(), 50, style
);
66 element_question
= formFactory
.createKeyStatementElement(formElement
, "Question", entity
.getQuestion(), 50, style
);
70 * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
73 public void handleEvent(Object eventSource
) {
74 if(eventSource
== element_question
){
75 getEntity().setQuestion(element_question
.getKeyStatement());
77 else if(eventSource
== element_statement
){
78 getEntity().setStatement(element_statement
.getKeyStatement());
80 else if(eventSource
== selection_feature
){
81 getEntity().setFeature(selection_feature
.getEntity());
83 else if(eventSource
== selection_taxon
){
84 getEntity().setTaxon((Taxon
) selection_taxon
.getEntity());
86 else if(eventSource
== selection_subkey
){
87 getEntity().setSubkey(selection_subkey
.getEntity());
89 else if(eventSource
== selection_otherNode
){
90 getEntity().setOtherNode(selection_otherNode
.getEntity());