- set CdmFormFactory.createTermComboElement() to deprecated
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / ExtensionElement.java
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 }