merged campanula branch to trunk. Main features are: BioCase Query via Imports, Deriv...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / MarkerElement.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.model.common.Marker;
9 import eu.etaxonomy.cdm.model.common.MarkerType;
10 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
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.CheckboxElement;
15 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
16
17 /**
18 * <p>MarkerElement class.</p>
19 *
20 * @author n.hoffmann
21 * @created Nov 16, 2009
22 * @version 1.0
23 */
24 public class MarkerElement extends AbstractEntityCollectionElement<Marker>{
25
26 /**
27 * <p>Constructor for MarkerElement.</p>
28 *
29 * @param element a {@link eu.etaxonomy.cdm.model.common.Marker} object.
30 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
31 * @param style a int.
32 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
33 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
34 */
35 public MarkerElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Marker element,
36 SelectionListener removeListener, int style) {
37 super(cdmFormFactory, formElement, element, removeListener, null, style);
38 }
39
40 private TermComboElement<MarkerType> combo_markerType;
41 private CheckboxElement checkbox_markerState;
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 checkbox_markerState = formFactory.createCheckbox(this, null, false, style);
51 combo_markerType = formFactory.createTermComboElement(MarkerType.class, this, null, null, style);
52 }
53
54 /* (non-Javadoc)
55 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#setElement(eu.etaxonomy.cdm.model.common.VersionableEntity)
56 */
57 /** {@inheritDoc} */
58 @Override
59 public void setEntity(Marker element) {
60 this.entity = element;
61 checkbox_markerState.setSelection(element.getFlag());
62 combo_markerType.setSelection(element.getMarkerType());
63 }
64
65 /*
66 * (non-Javadoc)
67 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
68 */
69 /** {@inheritDoc} */
70 @Override
71 public void handleEvent(Object eventSource) {
72 if(eventSource == combo_markerType){
73 getEntity().setMarkerType(combo_markerType.getSelection());
74 }
75 else if(eventSource == checkbox_markerState){
76 getEntity().setFlag(checkbox_markerState.getSelection());
77 }
78 }
79 }