Project

General

Profile

Download (3.89 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.ICdmFormElement;
10
import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
11
import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
12
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
13
import eu.etaxonomy.taxeditor.ui.selection.FeatureSelectionElement;
14
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeyNodeSelectionElement;
15
import eu.etaxonomy.taxeditor.ui.selection.PolytomousKeySelectionElement;
16
import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
17

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

    
25
	private KeyStatementElement element_statement;
26

    
27
	private FeatureSelectionElement selection_feature;
28

    
29
	private TaxonSelectionElement selection_taxon;
30

    
31
	private PolytomousKeySelectionElement selection_subkey;
32

    
33
	private PolytomousKeyNodeSelectionElement selection_otherNode;
34

    
35
	private KeyStatementElement element_question;
36

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

    
42
	@Override
43
	protected void createControls(ICdmFormElement formElement,
44
			PolytomousKeyNode entity, int style) {
45
		if (!entity.isLeaf()) {
46
			NumberWithLabelElement number_nodeNumber = formFactory
47
					.createIntegerTextWithLabelElement(formElement,
48
							"Node Number", entity.getNodeNumber(), style);
49
			number_nodeNumber.setEnabled(false);
50
		}
51

    
52
		element_question = formFactory.createKeyStatementElement(formElement,
53
				"Question", entity.getQuestion(), 50, style);
54

    
55
		selection_feature = (FeatureSelectionElement) formFactory
56
				.createSelectionElement(SelectionType.FEATURE,
57
						getConversationHolder(), formElement, "Feature",
58
						entity.getFeature(), FeatureSelectionElement.DEFAULT,
59
						style);
60

    
61
		if (entity.isLeaf()) {
62
			selection_taxon = (TaxonSelectionElement) formFactory
63
					.createSelectionElement(SelectionType.TAXON,
64
							getConversationHolder(), formElement, "Taxon",
65
							entity.getTaxon(), TaxonSelectionElement.DELETABLE,
66
							style);
67
		}
68

    
69
		selection_subkey = (PolytomousKeySelectionElement) formFactory
70
				.createSelectionElement(SelectionType.POLYTOMOUS_KEY,
71
						getConversationHolder(), formElement, "Subkey",
72
						entity.getSubkey(),
73
						PolytomousKeySelectionElement.DEFAULT, style);
74

    
75
		selection_otherNode = (PolytomousKeyNodeSelectionElement) formFactory
76
				.createSelectionElement(SelectionType.POLYTOMOUS_KEY_NODE,
77
						getConversationHolder(), formElement, "Other Node",
78
						entity.getOtherNode(),
79
						PolytomousKeyNodeSelectionElement.DEFAULT, style);
80

    
81
		formFactory.createMultiLanguageTextElement(formElement,
82
				"Modifying Text", entity.getModifyingText(), 50, style);
83

    
84
		element_statement = formFactory.createKeyStatementElement(formElement,
85
				"Statement", entity.getStatement(), 50, style);
86
	}
87

    
88
	/*
89
	 * (non-Javadoc)
90
	 * 
91
	 * @see
92
	 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
93
	 * .lang.Object)
94
	 */
95
	@Override
96
	public void handleEvent(Object eventSource) {
97
		if (eventSource == element_question) {
98
			getEntity().setQuestion(element_question.getKeyStatement());
99
		} else if (eventSource == element_statement) {
100
			getEntity().setStatement(element_statement.getKeyStatement());
101
		} else if (eventSource == selection_feature) {
102
			getEntity().setFeature(selection_feature.getEntity());
103
		} else if (eventSource == selection_taxon) {
104
			getEntity().setTaxon(selection_taxon.getEntity());
105
		} else if (eventSource == selection_subkey) {
106
			getEntity().setSubkey(selection_subkey.getEntity());
107
		} else if (eventSource == selection_otherNode) {
108
			getEntity().setOtherNode(selection_otherNode.getEntity());
109
		}
110
	}
111
}
(4-4/7)