Project

General

Profile

Download (3.12 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.common.TermType;
12
import eu.etaxonomy.taxeditor.ui.combo.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.LayoutConstants;
17
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
18
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
19

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

    
29
	private TermComboElement<ExtensionType> combo_extensionType;
30
	private TextWithLabelElement text_extensionValue;
31

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

    
46
	/* (non-Javadoc)
47
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
48
	 */
49
	/** {@inheritDoc} */
50
	@Override
51
	public void createControls(ICdmFormElement element, int style) {
52
		combo_extensionType = formFactory.createDefinedTermComboElement(TermType.ExtensionType, this, null, null, style);
53
		text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style);
54
		text_extensionValue.getLayoutComposite().setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
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
		ExtensionType extensionType = (ExtensionType) HibernateProxyHelper.deproxy(element.getType());
65
		combo_extensionType.setSelection(extensionType);
66
		text_extensionValue.setText(element.getValue());
67
	}
68

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

    
84
}
(9-9/19)