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