1 package eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
;
3 import org
.eclipse
.swt
.events
.SelectionListener
;
5 import eu
.etaxonomy
.cdm
.model
.common
.AnnotatableEntity
;
6 import eu
.etaxonomy
.cdm
.model
.common
.Marker
;
7 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
8 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
9 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
10 import eu
.etaxonomy
.taxeditor
.ui
.element
.AbstractFormSection
;
11 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
12 import eu
.etaxonomy
.taxeditor
.ui
.element
.CheckboxElement
;
13 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
14 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionElement
;
18 * @created Nov 16, 2009
21 public class MarkerElement
extends AbstractEntityCollectionElement
<Marker
>{
24 private TermComboElement
<MarkerType
> combo_markerType
;
25 private CheckboxElement checkbox_markerState
;
27 public MarkerElement(CdmFormFactory cdmFormFactory
, AbstractFormSection formElement
, Marker element
,
28 SelectionListener removeListener
, int style
) {
29 super(cdmFormFactory
, formElement
, element
, removeListener
, null, style
);
34 public void createControls(ICdmFormElement element
, int style
) {
35 checkbox_markerState
= formFactory
.createCheckbox(this, null, false, style
);
36 combo_markerType
= formFactory
.createDefinedTermComboElement(TermType
.MarkerType
, this, null, null, style
);
41 public void setEntity(Marker element
) {
42 this.entity
= element
;
43 checkbox_markerState
.setSelection(element
.getFlag());
44 combo_markerType
.setSelection(element
.getMarkerType());
45 combo_markerType
.removeEmptyElement();
50 public void handleEvent(Object eventSource
) {
51 if(eventSource
== combo_markerType
&& getParentElement() instanceof MarkerSection
){
52 MarkerSection markerSection
= (MarkerSection
)getParentElement();
53 AnnotatableEntity annotatableEntity
= markerSection
.getEntity();
54 annotatableEntity
.removeMarker(entity
);
55 MarkerType markerType
= combo_markerType
.getSelection();
56 entity
.setMarkerType(markerType
);
57 annotatableEntity
.addMarker(entity
);
59 else if(eventSource
== checkbox_markerState
){
60 getEntity().setFlag(checkbox_markerState
.getSelection());