performed javacscript:fix and worked on documentation
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / section / occurrence / GatheringEventDetailElement.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.section.occurrence;
12
13 import org.eclipse.ui.forms.widgets.Section;
14
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;
31
32 /**
33 * <p>GatheringEventDetailElement class.</p>
34 *
35 * @author n.hoffmann
36 * @created Jun 24, 2010
37 * @version 1.0
38 */
39 public class GatheringEventDetailElement extends AbstractCdmDetailElement<GatheringEvent> implements IFacadeHolder{
40
41 private DerivedUnitFacade facade;
42
43 private NumberWithLabelElement number_absoluteElevation;
44
45 private NumberWithLabelElement number_absoluteElevationError;
46
47 private NumberWithLabelElement number_absoluteElevationMinimum;
48
49 private NumberWithLabelElement number_absoluteElevationMaximum;
50
51 private AgentSelectionElement selection_collector;
52
53 private TextWithLabelElement text_collectingMethod;
54
55 private NumberWithLabelElement number_distanceToGround;
56
57 private NumberWithLabelElement number_distanceToWaterSurface;
58
59 private TextWithLabelElement text_gatheringEventDescription;
60
61 private TimePeriodElement composite_gatheringPeriod;
62
63 private LanguageStringWithLabelElement text_localityText;
64
65 private LanguageComboElement combo_localityLanguage;
66
67 private NamedAreaSelectionElement selection_namedArea;
68
69 private CollectingAreasDetailSection section_collectingAreas;
70
71 private PointElement point_exactLocation;
72
73 /**
74 * <p>Constructor for GatheringEventDetailElement.</p>
75 *
76 * @param formFactory a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory} object.
77 * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
78 */
79 public GatheringEventDetailElement(CdmFormFactory formFactory,
80 ICdmFormElement formElement) {
81 super(formFactory, formElement);
82 // TODO Auto-generated constructor stub
83 }
84
85 /** {@inheritDoc} */
86 @Override
87 protected void createControls(ICdmFormElement formElement,
88 GatheringEvent entity, int style) {
89 //collectingArea
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);
94
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);
97
98 point_exactLocation = formFactory.createPointElement(formElement, facade.getExactLocation(), style);
99
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);
102 // exactLocation
103 text_gatheringEventDescription = formFactory.createTextWithLabelElement(formElement, "Gathering Event Description", facade.getGatheringEventDescription(), style);
104 composite_gatheringPeriod = formFactory.createTimePeriodElement(formElement, "Gathering Period", facade.getGatheringPeriod(), style);
105
106 selection_namedArea = formFactory.createNamedAreaSelectionElement(formElement, getConversationHolder(), "Country", facade.getCountry(), style);
107
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);
111
112 text_localityText = formFactory.createLanguageStringWithLabelElement(formElement, "Locality", facade.getLocality(), style);
113
114 }
115
116 /** {@inheritDoc} */
117 @Override
118 public void handleEvent(Object eventSource) {
119 // if(eventSource == xxx_collectingArea){
120 //
121 // }else
122 if(eventSource == number_absoluteElevation){
123 facade.setAbsoluteElevation(number_absoluteElevation.getInteger());
124 }
125 else if(eventSource == number_absoluteElevationError){
126 facade.setAbsoluteElevationError(number_absoluteElevationError.getInteger());
127 }
128 else if(eventSource == number_absoluteElevationMinimum){
129 facade.setAbsoluteElevationRange(number_absoluteElevationMinimum.getInteger(), number_absoluteElevationMaximum.getInteger());
130 }
131 else if(eventSource == number_absoluteElevationMaximum){
132 facade.setAbsoluteElevationRange(number_absoluteElevationMinimum.getInteger(), number_absoluteElevationMaximum.getInteger());
133 }
134 else if(eventSource == selection_collector){
135 facade.setCollector(selection_collector.getEntity());
136 }
137 else if(eventSource == text_collectingMethod){
138 facade.setCollectingMethod(text_collectingMethod.getText());
139 }
140 else if(eventSource == number_distanceToGround){
141 facade.setDistanceToGround(number_distanceToGround.getInteger());
142 }
143 else if(eventSource == number_distanceToWaterSurface){
144 facade.setDistanceToWaterSurface(number_distanceToWaterSurface.getInteger());
145 }
146 else if(eventSource == point_exactLocation){
147 facade.setExactLocation(point_exactLocation.getPoint());
148 }
149 else if(eventSource == text_gatheringEventDescription){
150 facade.setGatheringEventDescription(text_gatheringEventDescription.getText());
151 }
152 else if(eventSource == composite_gatheringPeriod){
153 facade.setGatheringPeriod(composite_gatheringPeriod.getTimePeriod());
154 }
155 else if(eventSource == text_localityText || eventSource == combo_localityLanguage){
156 facade.setLocality(LanguageString.NewInstance(text_localityText.getText(), combo_localityLanguage.getSelection()));
157 }
158 else if(eventSource == selection_namedArea){
159 facade.setCountry(selection_namedArea.getSelection());
160 }
161 }
162
163 /**
164 * <p>Getter for the field <code>facade</code>.</p>
165 *
166 * @return a {@link eu.etaxonomy.cdm.api.facade.DerivedUnitFacade} object.
167 */
168 public DerivedUnitFacade getFacade() {
169 return facade;
170 }
171
172 /** {@inheritDoc} */
173 public void setFacade(DerivedUnitFacade facade) {
174 this.facade = facade;
175 updateContent();
176 }
177 }