Project

General

Profile

Download (3.13 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.Credit;
10
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
11
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
12
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
13
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
14
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
15
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
16
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
17

    
18
/**
19
 * <p>
20
 * CreditElement class.
21
 * </p>
22
 *
23
 * @author n.hoffmann
24
 * @created Nov 16, 2009
25
 * @version 1.0
26
 */
27
public class CreditElement extends AbstractEntityCollectionElement<Credit> {
28

    
29
	private EntitySelectionElement<AgentBase> agentSelection;
30
	private TextWithLabelElement text;
31
	private TimePeriodElement timePeriod;
32

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

    
57
	/*
58
	 * (non-Javadoc)
59
	 *
60
	 * @see
61
	 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
62
	 * #createControls(org.eclipse.swt.widgets.Composite, int)
63
	 */
64
	/** {@inheritDoc} */
65
	@Override
66
	public void createControls(ICdmFormElement element, int style) {
67
		agentSelection = formFactory
68
				.createSelectionElement(AgentBase.class,
69
				        this, "Agent", null,
70
						EntitySelectionElement.ALL, style);
71
		text = formFactory.createMultiLineTextWithLabel(this, "Text", 100,
72
				style);
73
		timePeriod = formFactory.createTimePeriodElement(this, "Date", null, style);
74
		if (entity != null){
75
			setEntity(entity);
76
		}
77
	}
78

    
79
	/*
80
	 * (non-Javadoc)
81
	 *
82
	 * @see
83
	 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
84
	 * #setElement(eu.etaxonomy.cdm.model.common.AnnotatableEntity)
85
	 */
86
	/** {@inheritDoc} */
87
	@Override
88
	public void setEntity(Credit element) {
89
		this.entity = element;
90
		if (agentSelection != null){
91
			agentSelection.setEntity(element.getAgent());
92
			text.setText(element.getText());
93
			timePeriod.setTimePeriod(element.getTimePeriod());
94
		}
95
	}
96

    
97
	/** {@inheritDoc} */
98
	@Override
99
	public void handleEvent(Object eventSource) {
100
		if (eventSource == agentSelection) {
101
			entity.setAgent(agentSelection.getSelection());
102
		} else if (eventSource == text) {
103
			entity.setText(text.getText());
104
		} else if (eventSource == timePeriod) {
105
			entity.setTimePeriod(timePeriod.getTimePeriod());
106
		}
107
	}
108
}
(9-9/21)