Project

General

Profile

Download (4.09 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.singlesource.ui.forms.CdmFormFactoryFacade;
8
import eu.etaxonomy.taxeditor.singlesource.ui.forms.NumberWithLabelElementFacade;
9
import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
10
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
11
import eu.etaxonomy.taxeditor.ui.forms.KeyStatementElement;
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(CdmFormFactoryFacade 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
			NumberWithLabelElementFacade number_nodeNumber = formFactory
47
					.createIntegerTextWithLabelElement(formElement,
48
							"Node Number", entity.getNodeNumber(), style);
49
			number_nodeNumber.setEnabled(false);
50
		}
51

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

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

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

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

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

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

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

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

    
91
	}
92

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