Merged refactoring from development branch.
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / DeterminationEventDetailElement.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.ui.section.occurrence;
12
13 import org.eclipse.swt.events.SelectionListener;
14
15 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
16 import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
17 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
18 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
19 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
20 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
21 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
22 import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement;
23 import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement;
24
25 /**
26 * <p>DeterminationEventDetailElement class.</p>
27 *
28 * @author n.hoffmann
29 * @created Oct 13, 2010
30 * @version 1.0
31 */
32 public class DeterminationEventDetailElement extends
33 AbstractEventDetailElement<DeterminationEvent> {
34
35 private DeterminationModifierComboElement combo_determinationModifier;
36 private CheckboxElement checkbox_preferredFlag;
37 private TaxonSelectionElement selection_taxon;
38 // private TODO a set of references
39
40 /**
41 * <p>Constructor for DeterminationEventDetailElement.</p>
42 *
43 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
44 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
45 * @param entity a {@link eu.etaxonomy.cdm.model.occurrence.DeterminationEvent} object.
46 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
47 * @param style a int.
48 */
49 public DeterminationEventDetailElement(CdmFormFactory formFactory,
50 AbstractFormSection section, DeterminationEvent entity,
51 SelectionListener removeListener, int style) {
52 super(formFactory, section, entity, removeListener, style);
53 }
54
55 /* (non-Javadoc)
56 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(eu.etaxonomy.cdm.model.common.IVersionableEntity)
57 */
58 /** {@inheritDoc} */
59 @Override
60 public void setEntity(DeterminationEvent entity) {
61 this.entity = entity;
62 super.setEntity(entity);
63 }
64
65 /* (non-Javadoc)
66 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
67 */
68 /** {@inheritDoc} */
69 @Override
70 public void createControls(ICdmFormElement element, int style) {
71
72 combo_determinationModifier = (DeterminationModifierComboElement) formFactory.createTermComboElement(TermComboType.DETERMINATION_MODIFIER, element, "Determination Modifier", null, style);
73 checkbox_preferredFlag = formFactory.createCheckbox(element, "Preferred", false, style);
74 selection_taxon = (TaxonSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON, getConversationHolder(), element, "Taxon", null, style);
75
76 // TODO set of references
77
78 super.createControls(element, style);
79 selection_agent.setLabel("Determined by");
80 }
81
82 /* (non-Javadoc)
83 * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
84 */
85 /** {@inheritDoc} */
86 @Override
87 public void handleEvent(Object eventSource) {
88 if(eventSource == combo_determinationModifier){
89 getEntity().setModifier(combo_determinationModifier.getSelection());
90 }
91 else if(eventSource == checkbox_preferredFlag){
92 getEntity().setPreferredFlag(checkbox_preferredFlag.getSelection());
93 }
94 else if(eventSource == selection_taxon){
95 getEntity().setTaxon(selection_taxon.getSelection());
96 }
97 // else if(eventSource == TODO set of references){
98 //
99 // }
100 else if(eventSource == selection_agent){
101 getEntity().setDeterminer(selection_agent.getSelection());
102 }
103 else if(eventSource == text_description){
104 getEntity().setDescription(text_description.getText());
105 }
106 else if(eventSource == element_timePeriod){
107 getEntity().setTimeperiod(element_timePeriod.getTimePeriod());
108 }
109 }
110
111 }