Project

General

Profile

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

    
6
import org.eclipse.swt.events.SelectionListener;
7

    
8
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
9
import eu.etaxonomy.cdm.model.common.Extension;
10
import eu.etaxonomy.cdm.model.common.ExtensionType;
11
import eu.etaxonomy.cdm.model.term.TermType;
12
import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
13
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
14
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
15
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
16
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
17
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
18

    
19
/**
20
 * <p>ExtensionElement class.</p>
21
 *
22
 * @author n.hoffmann
23
 * @created Nov 17, 2009
24
 */
25
public class ExtensionElement extends AbstractEntityCollectionElement<Extension> {
26

    
27
	private TermComboElement<ExtensionType> combo_extensionType;
28
	private TextWithLabelElement text_extensionValue;
29

    
30
	/**
31
	 * <p>Constructor for ExtensionElement.</p>
32
	 *
33
	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
34
	 * @param element a {@link eu.etaxonomy.cdm.model.common.Extension} object.
35
	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
36
	 * @param style a int.
37
	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
38
	 */
39
	public ExtensionElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Extension element,
40
			SelectionListener removeListener, int style) {
41
		super(cdmFormFactory, formElement, element, removeListener, null, style);
42
	}
43

    
44
	/* (non-Javadoc)
45
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
46
	 */
47
	/** {@inheritDoc} */
48
	@Override
49
	public void createControls(ICdmFormElement element, int style) {
50
		combo_extensionType = formFactory.createDefinedTermComboElement(TermType.ExtensionType, element, "Type", null, style);
51
		text_extensionValue = formFactory.createTextWithLabelElement(element, "Extension", null, style);
52
		if (entity != null){
53
			setEntity(entity);
54
		}
55
	}
56

    
57
	/* (non-Javadoc)
58
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#setElement(eu.etaxonomy.cdm.model.common.VersionableEntity)
59
	 */
60
	/** {@inheritDoc} */
61
	@Override
62
	public void setEntity(Extension element) {
63
		this.entity = element;
64
		if (combo_extensionType != null){
65
			ExtensionType extensionType = HibernateProxyHelper.deproxy(element.getType());
66
			combo_extensionType.setSelection(extensionType);
67
			text_extensionValue.setText(element.getValue());
68
		}
69
	}
70

    
71
	/*
72
	 * (non-Javadoc)
73
	 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
74
	 */
75
	/** {@inheritDoc} */
76
	@Override
77
	public void handleEvent(Object eventSource) {
78
		if(eventSource == combo_extensionType){
79
			entity.setType(combo_extensionType.getSelection());
80
		}
81
		else if(eventSource == text_extensionValue){
82
			entity.setValue(text_extensionValue.getText());
83
		}
84
	}
85

    
86
}
(11-11/21)