Project

General

Profile

Download (2.78 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.TextWithLabelElement;
13
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
14
import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
15
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
16

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

    
28
	private EntitySelectionElement<AgentBase> agentSelection;
29
	private TextWithLabelElement text;
30

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

    
55
	/*
56
	 * (non-Javadoc)
57
	 * 
58
	 * @see
59
	 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
60
	 * #createControls(org.eclipse.swt.widgets.Composite, int)
61
	 */
62
	/** {@inheritDoc} */
63
	@Override
64
	public void createControls(ICdmFormElement element, int style) {
65
		agentSelection = formFactory
66
				.createSelectionElement(AgentBase.class,
67
						getConversationHolder(), this, "Agent", null,
68
						EntitySelectionElement.ALL, style);
69
		text = formFactory.createMultilineTextWithLabel(this, "Text", 100,
70
				style);
71
	}
72

    
73
	/*
74
	 * (non-Javadoc)
75
	 * 
76
	 * @see
77
	 * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
78
	 * #setElement(eu.etaxonomy.cdm.model.common.AnnotatableEntity)
79
	 */
80
	/** {@inheritDoc} */
81
	@Override
82
	public void setEntity(Credit element) {
83
		this.entity = element;
84

    
85
		agentSelection.setEntity(element.getAgent());
86
		text.setText(element.getText());
87
	}
88

    
89
	/** {@inheritDoc} */
90
	@Override
91
	public void handleEvent(Object eventSource) {
92
		if (eventSource == agentSelection) {
93
			entity.setAgent(agentSelection.getSelection());
94
		} else if (eventSource == text) {
95
			entity.setText(text.getText());
96
		}
97
	}
98
}
(7-7/19)