Project

General

Profile

Download (2.78 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.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
10
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
11
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
12
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
13
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
14
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
15
import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement;
16

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

    
25
	private TextWithLabelElementFacade text;
26
	private AnnotationTypeComboElement combo_annotationType;
27

    
28
	/**
29
	 * <p>Constructor for AnnotationElement.</p>
30
	 *
31
	 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
32
	 * @param annotation a {@link eu.etaxonomy.cdm.model.common.Annotation} object.
33
	 * @param style a int.
34
	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
35
	 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
36
	 */
37
	public AnnotationElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Annotation annotation, SelectionListener removeListener, int style) {
38
		super(cdmFormFactory, formElement, annotation, removeListener, null, style);
39
	}
40
	
41
	/* (non-Javadoc)
42
	 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetComposite#createControls(org.eclipse.swt.widgets.Composite)
43
	 */
44
	/** {@inheritDoc} */
45
	@Override
46
	public void createControls(ICdmFormElement element, int style) {
47
		combo_annotationType = (AnnotationTypeComboElement) formFactory.createTermComboElement(TermComboType.ANNOTATIONTYPE, this, "Annotation Type", null, style);
48
		
49
		text = formFactory.createMultilineTextWithLabel(this, "Annotation", 100, style);
50
	}
51

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

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