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