merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / CreditElement.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.agent.AgentBase;
9 import eu.etaxonomy.cdm.model.common.Credit;
10 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
11 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
12 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
13 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
14 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
15 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
16
17 /**
18 * <p>
19 * CreditElement class.
20 * </p>
21 *
22 * @author n.hoffmann
23 * @created Nov 16, 2009
24 * @version 1.0
25 */
26 public class CreditElement extends AbstractEntityCollectionElement<Credit> {
27
28 private EntitySelectionElement<AgentBase> agentSelection;
29 private TextWithLabelElement text;
30
31 /**
32 * <p>
33 * Constructor for CreditElement.
34 * </p>
35 *
36 * @param formElement
37 * a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
38 * object.
39 * @param style
40 * a int.
41 * @param cdmFormFactory
42 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
43 * object.
44 * @param credit
45 * a {@link eu.etaxonomy.cdm.model.common.Credit} object.
46 * @param removeListener
47 * a {@link org.eclipse.swt.events.SelectionListener} object.
48 */
49 public CreditElement(CdmFormFactory cdmFormFactory,
50 AbstractFormSection formElement, Credit credit,
51 SelectionListener removeListener, int style) {
52 super(cdmFormFactory, formElement, credit, removeListener, null, style);
53 }
54
55 /*
56 * (non-Javadoc)
57 *
58 * @see
59 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
60 * #createControls(org.eclipse.swt.widgets.Composite, int)
61 */
62 /** {@inheritDoc} */
63 @Override
64 public void createControls(ICdmFormElement element, int style) {
65 agentSelection = formFactory
66 .createSelectionElement(AgentBase.class,
67 getConversationHolder(), this, "Agent", null,
68 EntitySelectionElement.ALL, style);
69 text = formFactory.createMultilineTextWithLabel(this, "Text", 100,
70 style);
71 }
72
73 /*
74 * (non-Javadoc)
75 *
76 * @see
77 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
78 * #setElement(eu.etaxonomy.cdm.model.common.AnnotatableEntity)
79 */
80 /** {@inheritDoc} */
81 @Override
82 public void setEntity(Credit element) {
83 this.entity = element;
84
85 agentSelection.setEntity(element.getAgent());
86 text.setText(element.getText());
87 }
88
89 /** {@inheritDoc} */
90 @Override
91 public void handleEvent(Object eventSource) {
92 if (eventSource == agentSelection) {
93 entity.setAgent(agentSelection.getSelection());
94 } else if (eventSource == text) {
95 entity.setText(text.getText());
96 }
97 }
98 }