Project

General

Profile

Download (2.37 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
		if (entity != null){
38
			setEntity(entity);
39
		}
40
	}
41

    
42
	/** {@inheritDoc} */
43
	@Override
44
	public void setEntity(Marker element) {
45
		this.entity = element;
46
		if (checkbox_markerState != null){
47
			checkbox_markerState.setSelection(element.getFlag());
48
			combo_markerType.setSelection(element.getMarkerType());
49
			combo_markerType.removeEmptyElement();
50
		}
51
	}
52

    
53
	/** {@inheritDoc} */
54
	@Override
55
	public void handleEvent(Object eventSource) {
56
		if(eventSource == combo_markerType && getParentElement() instanceof MarkerSection){
57
		    MarkerSection markerSection = (MarkerSection)getParentElement();
58
		    AnnotatableEntity annotatableEntity = markerSection.getEntity();
59
		    annotatableEntity.removeMarker(entity);
60
			MarkerType markerType = combo_markerType.getSelection();
61
			entity.setMarkerType(markerType);
62
			annotatableEntity.addMarker(entity);
63
		}
64
		else if(eventSource == checkbox_markerState){
65
			getEntity().setFlag(checkbox_markerState.getSelection());
66
		}
67
	}
68
}
(15-15/21)