4 package eu
.etaxonomy
.taxeditor
.ui
.section
.key
;
6 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKeyNode
;
7 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
8 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmPropertyChangeEvent
;
9 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
10 import eu
.etaxonomy
.taxeditor
.ui
.element
.KeyStatementElement
;
11 import eu
.etaxonomy
.taxeditor
.ui
.element
.NumberWithLabelElement
;
12 import eu
.etaxonomy
.taxeditor
.ui
.element
.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
.TaxonSelectionElement
;
23 public class PolytomousKeyNodeDetailElement
extends
24 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
);
44 protected void createControls(ICdmFormElement formElement
,
45 PolytomousKeyNode entity
, int style
) {
46 if (!entity
.isLeaf()) {
47 NumberWithLabelElement number_nodeNumber
= formFactory
48 .createIntegerTextWithLabelElement(formElement
,
49 "Node Number", entity
.getNodeNumber(), style
);
50 number_nodeNumber
.setEnabled(false);
53 if (entity
.getParent() != null) {
54 PolytomousKeyNode parent
= entity
.getParent();
56 element_question
= formFactory
.createKeyStatementElement(
57 formElement
, "Question", parent
.getQuestion(), 50, style
);
59 selection_feature
= (FeatureSelectionElement
) formFactory
60 .createSelectionElement(SelectionType
.FEATURE
,
61 getConversationHolder(), formElement
, "Feature",
63 FeatureSelectionElement
.DEFAULT
, style
);
66 element_statement
= formFactory
.createKeyStatementElement(formElement
,
67 "Statement", entity
.getStatement(), 50, style
);
69 if (entity
.isLeaf()) {
70 selection_taxon
= (TaxonSelectionElement
) formFactory
71 .createSelectionElement(SelectionType
.TAXON
,
72 getConversationHolder(), formElement
, "Taxon",
73 entity
.getTaxon(), TaxonSelectionElement
.DELETABLE
,
77 selection_subkey
= (PolytomousKeySelectionElement
) formFactory
78 .createSelectionElement(SelectionType
.POLYTOMOUS_KEY
,
79 getConversationHolder(), formElement
, "Subkey",
81 PolytomousKeySelectionElement
.DEFAULT
, style
);
83 selection_otherNode
= (PolytomousKeyNodeSelectionElement
) formFactory
84 .createSelectionElement(SelectionType
.POLYTOMOUS_KEY_NODE
,
85 getConversationHolder(), formElement
, "Other Node",
86 entity
.getOtherNode(),
87 PolytomousKeyNodeSelectionElement
.DEFAULT
, style
);
89 formFactory
.createMultiLanguageTextElement(formElement
,
90 "Modifying Text", entity
.getModifyingText(), 50, style
);
98 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
102 public void handleEvent(Object eventSource
) {
103 if (eventSource
== element_question
) {
104 getEntity().getParent().setQuestion(
105 element_question
.getKeyStatement());
106 } else if (eventSource
== element_statement
) {
107 getEntity().setStatement(element_statement
.getKeyStatement());
108 } else if (eventSource
== selection_feature
) {
109 getEntity().getParent().setFeature(selection_feature
.getEntity());
110 } else if (eventSource
== selection_taxon
) {
111 getEntity().setTaxon(selection_taxon
.getEntity());
112 } else if (eventSource
== selection_subkey
) {
113 getEntity().setSubkey(selection_subkey
.getEntity());
114 } else if (eventSource
== selection_otherNode
) {
115 getEntity().setOtherNode(selection_otherNode
.getEntity());