Project

General

Profile

Download (2.28 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.ui.section.supplemental;
2

    
3
import org.eclipse.swt.events.SelectionListener;
4

    
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.term.TermType;
9
import eu.etaxonomy.taxeditor.ui.combo.term.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;
15

    
16
/**
17
 * @author n.hoffmann
18
 * @created Nov 16, 2009
19
 * @version 1.0
20
 */
21
public class MarkerElement extends AbstractEntityCollectionElement<Marker>{
22

    
23

    
24
	private TermComboElement<MarkerType> combo_markerType;
25
	private CheckboxElement checkbox_markerState;
26

    
27
	public MarkerElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Marker element,
28
	        SelectionListener removeListener, int style) {
29
	    super(cdmFormFactory, formElement, element, removeListener, null, style);
30
	}
31

    
32
	/** {@inheritDoc} */
33
	@Override
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);
37
	}
38

    
39
	/** {@inheritDoc} */
40
	@Override
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();
46
	}
47

    
48
	/** {@inheritDoc} */
49
	@Override
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);
58
		}
59
		else if(eventSource == checkbox_markerState){
60
			getEntity().setFlag(checkbox_markerState.getSelection());
61
		}
62
	}
63
}
(14-14/20)