Project

General

Profile

Download (2.77 KB) Statistics
| Branch: | Tag: | Revision:
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.Annotation;
9
import eu.etaxonomy.cdm.model.common.AnnotationType;
10
import eu.etaxonomy.cdm.model.common.TermType;
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.ICdmFormElement;
15
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
16
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
17

    
18
/**
19
 * <p>AnnotationElement class.</p>
20
 *
21
 * @author nho
22
 * @version $Id: $
23
 */
24
public class AnnotationElement extends AbstractEntityCollectionElement<Annotation>{
25

    
26
	private TextWithLabelElement text;
27
	private TermComboElement<AnnotationType> combo_annotationType;
28

    
29
	/**
30
	 * <p>Constructor for AnnotationElement.</p>
31
	 *
32
	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} object.
33
	 * @param annotation a {@link eu.etaxonomy.cdm.model.common.Annotation} object.
34
	 * @param style a int.
35
	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
36
	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
37
	 */
38
	public AnnotationElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Annotation annotation, SelectionListener removeListener, int style) {
39
		super(cdmFormFactory, formElement, annotation, removeListener, null, style);
40
	}
41

    
42
	/* (non-Javadoc)
43
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetComposite#createControls(org.eclipse.swt.widgets.Composite)
44
	 */
45
	/** {@inheritDoc} */
46
	@Override
47
	public void createControls(ICdmFormElement element, int style) {
48
		combo_annotationType = formFactory.createDefinedTermComboElement(TermType.AnnotationType, this, "Annotation Type", null, style);
49

    
50
		text = formFactory.createMultiLineTextWithLabel(this, "Annotation", 100, style);
51
	}
52

    
53
	/* (non-Javadoc)
54
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetComposite#setEntity(eu.etaxonomy.cdm.model.common.AnnotatableEntity)
55
	 */
56
	/** {@inheritDoc} */
57
	@Override
58
	public void setEntity(Annotation entity) {
59
		this.entity = entity;
60
		combo_annotationType.setSelection(getEntity().getAnnotationType());
61
		text.setText(entity.getText());
62
	}
63

    
64
	/*
65
	 * (non-Javadoc)
66
	 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
67
	 */
68
	/** {@inheritDoc} */
69
	@Override
70
	public void handleEvent(Object eventSource) {
71
		if(eventSource == combo_annotationType){
72
			getEntity().setAnnotationType(combo_annotationType.getSelection());
73
		}else if(eventSource == text){
74
			getEntity().setText(text.getText());
75
		}
76
	}
77
}
(3-3/19)