including changes from cdmlib-print
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / section / supplemental / CreditElement.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.section.supplemental;
5
6 import org.eclipse.swt.events.SelectionListener;
7
8 import eu.etaxonomy.cdm.model.common.Credit;
9 import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
10 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
11 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
12 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
13 import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
14 import eu.etaxonomy.taxeditor.forms.selection.AgentSelectionElement;
15 import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
16
17 /**
18 * <p>CreditElement class.</p>
19 *
20 * @author n.hoffmann
21 * @created Nov 16, 2009
22 * @version 1.0
23 */
24 public class CreditElement extends AbstractEntityCollectionElement<Credit>{
25
26 private AgentSelectionElement agentSelection;
27 private TextWithLabelElement text;
28
29 /**
30 * <p>Constructor for CreditElement.</p>
31 *
32 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
33 * @param style a int.
34 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
35 * @param credit a {@link eu.etaxonomy.cdm.model.common.Credit} object.
36 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
37 */
38 public CreditElement(CdmFormFactory cdmFormFactory, AbstractFormSection formElement, Credit credit, SelectionListener removeListener, int style) {
39 super(cdmFormFactory, formElement, credit, removeListener, null, style);
40 }
41
42 /* (non-Javadoc)
43 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
44 */
45 /** {@inheritDoc} */
46 @Override
47 public void createControls(ICdmFormElement element, int style) {
48 agentSelection = (AgentSelectionElement) formFactory.createSelectionElement(SelectionType.AGENT, getConversationHolder(), this, "Agent", null, style);
49 text = formFactory.createMultilineTextWithLabel(this, "Text", 100, style);
50 }
51
52 /* (non-Javadoc)
53 * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#setElement(eu.etaxonomy.cdm.model.common.AnnotatableEntity)
54 */
55 /** {@inheritDoc} */
56 @Override
57 public void setEntity(Credit element) {
58 this.entity = element;
59
60 agentSelection.setEntity(element.getAgent());
61 text.setText(element.getText());
62 }
63
64 /** {@inheritDoc} */
65 @Override
66 public void handleEvent(Object eventSource) {
67 if(eventSource == agentSelection){
68 entity.setAgent(agentSelection.getSelection());
69 }else if(eventSource == text){
70 entity.setText(text.getText());
71 }
72 }
73 }