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