Project

General

Profile

Download (3.09 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.taxeditor.ui.combo.TermComboElement;
12
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
13
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
14
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
15
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
16
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
17
import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
18

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

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

    
45
	/* (non-Javadoc)
46
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
47
	 */
48
	/** {@inheritDoc} */
49
	@Override
50
	public void createControls(ICdmFormElement element, int style) {
51
		combo_extensionType = formFactory.createTermComboElement(ExtensionType.class, this, null, null, style);
52
		text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style);
53
		text_extensionValue.getLayoutComposite().setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
54
	}
55

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

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

    
83
}
(9-9/19)