Project

General

Profile

Download (3.36 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.agent.AgentBase;
9
import eu.etaxonomy.cdm.model.common.TermType;
10
import eu.etaxonomy.cdm.model.media.Rights;
11
import eu.etaxonomy.cdm.model.media.RightsType;
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.ICdmFormElement;
16
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
17
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
18
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
19

    
20
/**
21
 * <p>
22
 * RightsElement class.
23
 * </p>
24
 *
25
 * @author n.hoffmann
26
 * @created Nov 16, 2009
27
 * @version 1.0
28
 */
29
public class RightsElement extends AbstractEntityCollectionElement<Rights> {
30

    
31
	private TermComboElement<RightsType> combo_rightsType;
32
	private EntitySelectionElement<AgentBase> selection_agent;
33
	private TextWithLabelElement text;
34

    
35
	/**
36
	 * <p>
37
	 * Constructor for RightsElement.
38
	 * </p>
39
	 *
40
	 * @param formElement
41
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
42
	 *            object.
43
	 * @param element
44
	 *            a {@link eu.etaxonomy.cdm.model.media.Rights} object.
45
	 * @param removeListener
46
	 *            a {@link org.eclipse.swt.events.SelectionListener} object.
47
	 * @param style
48
	 *            a int.
49
	 * @param cdmFormFactory
50
	 *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
51
	 *            object.
52
	 */
53
	public RightsElement(CdmFormFactory cdmFormFactory,
54
			AbstractFormSection formElement, Rights element,
55
			SelectionListener removeListener, int style) {
56
		super(cdmFormFactory, formElement, element, removeListener, null, style);
57
	}
58

    
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.createDefinedTermComboElement(TermType.RightsType, this, "Rights Type", null, style);
71
		selection_agent = formFactory.createSelectionElement(
72
				AgentBase.class, //getConversationHolder(),
73
				this, "Agent",
74
				null, EntitySelectionElement.ALL, 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
}
(15-15/19)