Project

General

Profile

Download (3.31 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.media.Rights;
10
import eu.etaxonomy.cdm.model.media.RightsType;
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
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
}
(15-15/19)