3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.taxeditor
.section
.occurrence
;
13 import org
.eclipse
.ui
.forms
.widgets
.Section
;
15 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacade
;
16 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
17 import eu
.etaxonomy
.cdm
.model
.occurrence
.GatheringEvent
;
18 import eu
.etaxonomy
.taxeditor
.forms
.CdmFormFactory
;
19 import eu
.etaxonomy
.taxeditor
.forms
.CdmFormFactory
.EntityDetailType
;
20 import eu
.etaxonomy
.taxeditor
.forms
.CdmFormFactory
.SelectionType
;
21 import eu
.etaxonomy
.taxeditor
.forms
.ICdmFormElement
;
22 import eu
.etaxonomy
.taxeditor
.forms
.LanguageStringWithLabelElement
;
23 import eu
.etaxonomy
.taxeditor
.forms
.NumberWithLabelElement
;
24 import eu
.etaxonomy
.taxeditor
.forms
.PointElement
;
25 import eu
.etaxonomy
.taxeditor
.forms
.TextWithLabelElement
;
26 import eu
.etaxonomy
.taxeditor
.forms
.TimePeriodElement
;
27 import eu
.etaxonomy
.taxeditor
.forms
.selection
.AgentSelectionElement
;
28 import eu
.etaxonomy
.taxeditor
.forms
.selection
.NamedAreaSelectionElement
;
29 import eu
.etaxonomy
.taxeditor
.forms
.term
.LanguageComboElement
;
30 import eu
.etaxonomy
.taxeditor
.section
.AbstractCdmDetailElement
;
33 * <p>GatheringEventDetailElement class.</p>
36 * @created Jun 24, 2010
39 public class GatheringEventDetailElement
extends AbstractCdmDetailElement
<GatheringEvent
> implements IFacadeHolder
{
41 private DerivedUnitFacade facade
;
43 private NumberWithLabelElement number_absoluteElevation
;
45 private NumberWithLabelElement number_absoluteElevationError
;
47 private NumberWithLabelElement number_absoluteElevationMinimum
;
49 private NumberWithLabelElement number_absoluteElevationMaximum
;
51 private AgentSelectionElement selection_collector
;
53 private TextWithLabelElement text_collectingMethod
;
55 private NumberWithLabelElement number_distanceToGround
;
57 private NumberWithLabelElement number_distanceToWaterSurface
;
59 private TextWithLabelElement text_gatheringEventDescription
;
61 private TimePeriodElement composite_gatheringPeriod
;
63 private LanguageStringWithLabelElement text_localityText
;
65 private LanguageComboElement combo_localityLanguage
;
67 private NamedAreaSelectionElement selection_namedArea
;
69 private CollectingAreasDetailSection section_collectingAreas
;
71 private PointElement point_exactLocation
;
74 * <p>Constructor for GatheringEventDetailElement.</p>
76 * @param formFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
77 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
79 public GatheringEventDetailElement(CdmFormFactory formFactory
,
80 ICdmFormElement formElement
) {
81 super(formFactory
, formElement
);
82 // TODO Auto-generated constructor stub
87 protected void createControls(ICdmFormElement formElement
,
88 GatheringEvent entity
, int style
) {
90 number_absoluteElevation
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Absolute Elevation (m)", facade
.getAbsoluteElevation(), style
);
91 number_absoluteElevationError
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Elevation Error", facade
.getAbsoluteElevationError(), style
);
92 number_absoluteElevationMinimum
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Elevation Minimum (m)", facade
.getAbsoluteElevationMinimum(), style
);
93 number_absoluteElevationMaximum
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Elevation Maximum (m)", facade
.getAbsoluteElevationMinimum(), style
);
95 selection_collector
= (AgentSelectionElement
) formFactory
.createSelectionElement(SelectionType
.AGENT
, getConversationHolder(), formElement
, "Collector", facade
.getCollector(), style
);
96 text_collectingMethod
= formFactory
.createTextWithLabelElement(formElement
, "Collecting Method", facade
.getCollectingMethod(), style
);
98 point_exactLocation
= formFactory
.createPointElement(formElement
, facade
.getExactLocation(), style
);
100 number_distanceToGround
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Distance To Ground (m)", facade
.getDistanceToGround(), style
);
101 number_distanceToWaterSurface
= formFactory
.createIntegerTextWithLabelElement(formElement
, "Distance To Water Surface (m)", facade
.getDistanceToWaterSurface(), style
);
103 text_gatheringEventDescription
= formFactory
.createTextWithLabelElement(formElement
, "Gathering Event Description", facade
.getGatheringEventDescription(), style
);
104 composite_gatheringPeriod
= formFactory
.createTimePeriodElement(formElement
, "Gathering Period", facade
.getGatheringPeriod(), style
);
106 selection_namedArea
= formFactory
.createNamedAreaSelectionElement(formElement
, getConversationHolder(), "Country", facade
.getCountry(), style
);
108 section_collectingAreas
= (CollectingAreasDetailSection
) formFactory
.createEntityDetailSection(EntityDetailType
.COLLECTING_AREA
, getConversationHolder(), formElement
, Section
.TWISTIE
);
109 section_collectingAreas
.setLayoutData(CdmFormFactory
.FILL_HORIZONTALLY(2, 1));
110 section_collectingAreas
.setEntity(facade
);
112 text_localityText
= formFactory
.createLanguageStringWithLabelElement(formElement
, "Locality", facade
.getLocality(), style
);
118 public void handleEvent(Object eventSource
) {
119 // if(eventSource == xxx_collectingArea){
122 if(eventSource
== number_absoluteElevation
){
123 facade
.setAbsoluteElevation(number_absoluteElevation
.getInteger());
125 else if(eventSource
== number_absoluteElevationError
){
126 facade
.setAbsoluteElevationError(number_absoluteElevationError
.getInteger());
128 else if(eventSource
== number_absoluteElevationMinimum
){
129 facade
.setAbsoluteElevationRange(number_absoluteElevationMinimum
.getInteger(), number_absoluteElevationMaximum
.getInteger());
131 else if(eventSource
== number_absoluteElevationMaximum
){
132 facade
.setAbsoluteElevationRange(number_absoluteElevationMinimum
.getInteger(), number_absoluteElevationMaximum
.getInteger());
134 else if(eventSource
== selection_collector
){
135 facade
.setCollector(selection_collector
.getEntity());
137 else if(eventSource
== text_collectingMethod
){
138 facade
.setCollectingMethod(text_collectingMethod
.getText());
140 else if(eventSource
== number_distanceToGround
){
141 facade
.setDistanceToGround(number_distanceToGround
.getInteger());
143 else if(eventSource
== number_distanceToWaterSurface
){
144 facade
.setDistanceToWaterSurface(number_distanceToWaterSurface
.getInteger());
146 else if(eventSource
== point_exactLocation
){
147 facade
.setExactLocation(point_exactLocation
.getPoint());
149 else if(eventSource
== text_gatheringEventDescription
){
150 facade
.setGatheringEventDescription(text_gatheringEventDescription
.getText());
152 else if(eventSource
== composite_gatheringPeriod
){
153 facade
.setGatheringPeriod(composite_gatheringPeriod
.getTimePeriod());
155 else if(eventSource
== text_localityText
|| eventSource
== combo_localityLanguage
){
156 facade
.setLocality(LanguageString
.NewInstance(text_localityText
.getText(), combo_localityLanguage
.getSelection()));
158 else if(eventSource
== selection_namedArea
){
159 facade
.setCountry(selection_namedArea
.getSelection());
164 * <p>Getter for the field <code>facade</code>.</p>
166 * @return a {@link eu.etaxonomy.cdm.api.facade.DerivedUnitFacade} object.
168 public DerivedUnitFacade
getFacade() {
173 public void setFacade(DerivedUnitFacade facade
) {
174 this.facade
= facade
;