- set CdmFormFactory.createTermComboElement() to deprecated
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / AnnotationElement.java
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 }