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