Project

General

Profile

Download (4.08 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.ui.section.key;
5

    
6
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
7
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
8
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
9
import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
10
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
11
import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
12
import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
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;
18

    
19
/**
20
 * @author n.hoffmann
21
 * 
22
 */
23
public class PolytomousKeyNodeDetailElement extends
24
		AbstractCdmDetailElement<PolytomousKeyNode> {
25

    
26
	private KeyStatementElement element_statement;
27

    
28
	private FeatureSelectionElement selection_feature;
29

    
30
	private TaxonSelectionElement selection_taxon;
31

    
32
	private PolytomousKeySelectionElement selection_subkey;
33

    
34
	private PolytomousKeyNodeSelectionElement selection_otherNode;
35

    
36
	private KeyStatementElement element_question;
37

    
38
	public PolytomousKeyNodeDetailElement(CdmFormFactory formFactory,
39
			ICdmFormElement formElement) {
40
		super(formFactory, formElement);
41
	}
42

    
43
	@Override
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);
51
		}
52

    
53
		if (entity.getParent() != null) {
54
			PolytomousKeyNode parent = entity.getParent();
55

    
56
			element_question = formFactory.createKeyStatementElement(
57
					formElement, "Question", parent.getQuestion(), 50, style);
58

    
59
			selection_feature = (FeatureSelectionElement) formFactory
60
					.createSelectionElement(SelectionType.FEATURE,
61
							getConversationHolder(), formElement, "Feature",
62
							parent.getFeature(),
63
							FeatureSelectionElement.DEFAULT, style);
64
		}
65

    
66
		element_statement = formFactory.createKeyStatementElement(formElement,
67
				"Statement", entity.getStatement(), 50, style);
68

    
69
		if (entity.isLeaf()) {
70
			selection_taxon = (TaxonSelectionElement) formFactory
71
					.createSelectionElement(SelectionType.TAXON,
72
							getConversationHolder(), formElement, "Taxon",
73
							entity.getTaxon(), TaxonSelectionElement.DELETABLE,
74
							style);
75
		}
76

    
77
		selection_subkey = (PolytomousKeySelectionElement) formFactory
78
				.createSelectionElement(SelectionType.POLYTOMOUS_KEY,
79
						getConversationHolder(), formElement, "Subkey",
80
						entity.getSubkey(),
81
						PolytomousKeySelectionElement.DEFAULT, style);
82

    
83
		selection_otherNode = (PolytomousKeyNodeSelectionElement) formFactory
84
				.createSelectionElement(SelectionType.POLYTOMOUS_KEY_NODE,
85
						getConversationHolder(), formElement, "Other Node",
86
						entity.getOtherNode(),
87
						PolytomousKeyNodeSelectionElement.DEFAULT, style);
88

    
89
		formFactory.createMultiLanguageTextElement(formElement,
90
				"Modifying Text", entity.getModifyingText(), 50, style);
91

    
92
	}
93

    
94
	/*
95
	 * (non-Javadoc)
96
	 * 
97
	 * @see
98
	 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
99
	 * .lang.Object)
100
	 */
101
	@Override
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());
116
		}
117
	}
118
}
(4-4/7)