Project

General

Profile

Download (3.63 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.RightsTerm;
11
import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade;
12
import eu.etaxonomy.taxeditor.singlesource.ui.forms.TextWithLabelElementFacade;
13
import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.SelectionType;
14
import eu.etaxonomy.taxeditor.singlesource.ui.forms.CdmFormFactoryFacade.TermComboType;
15
import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
16
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
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
import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement;
21

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

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

    
57
	private AbstractTermComboElement<RightsTerm> combo_rightsType;
58
	private AbstractSelectionElement<AgentBase> selection_agent;
59
	private TextWithLabelElementFacade text;
60

    
61
	/*
62
	 * (non-Javadoc)
63
	 * 
64
	 * @see
65
	 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
66
	 * #createControls(org.eclipse.swt.widgets.Composite, int)
67
	 */
68
	/** {@inheritDoc} */
69
	@Override
70
	public void createControls(ICdmFormElement element, int style) {
71
		combo_rightsType = formFactory.createTermComboElement(
72
				TermComboType.RIGHTSTYPE, this, "Rights Type", null, style);
73
		selection_agent = formFactory.createSelectionElement(
74
				SelectionType.AGENT, getConversationHolder(), this, "Agent",
75
				null, AgentSelectionElement.DEFAULT, style);
76
		text = formFactory.createMultilineTextWithLabel(this, "Text", 100,
77
				style);
78
	}
79

    
80
	/*
81
	 * (non-Javadoc)
82
	 * 
83
	 * @see
84
	 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
85
	 * #setElement(eu.etaxonomy.cdm.model.common.VersionableEntity)
86
	 */
87
	/** {@inheritDoc} */
88
	@Override
89
	public void setEntity(Rights element) {
90
		this.entity = element;
91
		combo_rightsType.setSelection(element.getType());
92
		selection_agent.setEntity(element.getAgent());
93
		text.setText(element.getText());
94
	}
95

    
96
	/*
97
	 * (non-Javadoc)
98
	 * 
99
	 * @see
100
	 * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent
101
	 * (java.lang.Object)
102
	 */
103
	/** {@inheritDoc} */
104
	@Override
105
	public void handleEvent(Object eventSource) {
106
		if (eventSource == combo_rightsType) {
107
			entity.setType(combo_rightsType.getSelection());
108
		} else if (eventSource == selection_agent) {
109
			entity.setAgent(selection_agent.getSelection());
110
		} else if (eventSource == text) {
111
			entity.setText(text.getText());
112
		}
113
	}
114

    
115
}
(13-13/17)