Project

General

Profile

Download (3.75 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.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;
19

    
20
/**
21
 * @author n.hoffmann
22
 *
23
 */
24
public class PolytomousKeyNodeDetailElement extends 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

    
44
	@Override
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);
50
		}
51
		
52
		element_statement = formFactory.createKeyStatementElement(formElement, "Statement", entity.getStatement(), 50, style);
53
		
54
		selection_feature = (FeatureSelectionElement) formFactory.createSelectionElement(SelectionType.FEATURE, getConversationHolder(), formElement, "Feature", entity.getFeature(), style);
55
		
56
		if(entity.isLeaf()){
57
			selection_taxon = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), formElement, "Taxon", entity.getTaxon(), style);
58
		}
59
	  	
60
		selection_subkey = (PolytomousKeySelectionElement) formFactory.createSelectionElement(SelectionType.POLYTOMOUS_KEY, getConversationHolder(), formElement, "Subkey", entity.getSubkey(), style);
61
	  	
62
		selection_otherNode = (PolytomousKeyNodeSelectionElement) formFactory.createSelectionElement(SelectionType.POLYTOMOUS_KEY_NODE, getConversationHolder(), formElement, "Other Node", entity.getOtherNode(), style);
63
		
64
		formFactory.createMultiLanguageTextElement(formElement, "Modifying Text", entity.getModifyingText(), 50, style);
65
		
66
		element_question = formFactory.createKeyStatementElement(formElement, "Question", entity.getQuestion(), 50, style);
67
	}
68

    
69
	/* (non-Javadoc)
70
	 * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
71
	 */
72
	@Override
73
	public void handleEvent(Object eventSource) {
74
		if(eventSource == element_question){
75
			getEntity().setQuestion(element_question.getKeyStatement());
76
		}
77
		else if(eventSource == element_statement){
78
			getEntity().setStatement(element_statement.getKeyStatement());
79
		}
80
		else if(eventSource == selection_feature){
81
			getEntity().setFeature(selection_feature.getEntity());
82
		}
83
		else if(eventSource == selection_taxon){
84
			getEntity().setTaxon((Taxon) selection_taxon.getEntity());
85
		}
86
		else if(eventSource == selection_subkey){
87
			getEntity().setSubkey(selection_subkey.getEntity());
88
		}
89
		else if(eventSource == selection_otherNode){
90
			getEntity().setOtherNode(selection_otherNode.getEntity());
91
		}
92
	}
93
}
(4-4/6)