Merged refactoring from development branch.
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / ui / 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.ui.section.occurrence;
12
13 import org.eclipse.ui.forms.widgets.Section;
14
15 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
16 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
17 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
18 import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement;
19 import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;
20 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;
21 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
22
23 /**
24 * <p>GatheringEventDetailElement class.</p>
25 *
26 * @author n.hoffmann
27 * @created Jun 24, 2010
28 * @version 1.0
29 */
30 public class GatheringEventDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade>{
31
32 private NumberWithLabelElement number_absoluteElevationError;
33
34 private NumberWithLabelElement number_absoluteElevationMinimum;
35
36 private NumberWithLabelElement number_absoluteElevationMaximum;
37
38 private TextWithLabelElement text_collectingMethod;
39
40 private NumberWithLabelElement number_distanceToGround;
41
42 private NumberWithLabelElement number_distanceToWaterSurface;
43
44 private TextWithLabelElement text_gatheringEventDescription;
45
46 private CollectingAreasDetailSection section_collectingAreas;
47
48 /**
49 * <p>Constructor for GatheringEventDetailElement.</p>
50 *
51 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
52 * @param formElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
53 */
54 public GatheringEventDetailElement(CdmFormFactory formFactory,
55 ICdmFormElement formElement) {
56 super(formFactory, formElement);
57 }
58
59 /** {@inheritDoc} */
60 @Override
61 protected void createControls(ICdmFormElement formElement,
62 DerivedUnitFacade entity, int style) {
63 //collectingArea
64 number_absoluteElevationError = formFactory.createIntegerTextWithLabelElement(formElement, "Elevation Error", entity.getAbsoluteElevationError(), style);
65 number_absoluteElevationMinimum = formFactory.createIntegerTextWithLabelElement(formElement, "Elevation Minimum (m)", entity.getAbsoluteElevationMinimum(), style);
66 number_absoluteElevationMaximum = formFactory.createIntegerTextWithLabelElement(formElement, "Elevation Maximum (m)", entity.getAbsoluteElevationMinimum(), style);
67
68 text_collectingMethod = formFactory.createTextWithLabelElement(formElement, "Collecting Method", entity.getCollectingMethod(), style);
69
70 number_distanceToGround = formFactory.createIntegerTextWithLabelElement(formElement, "Distance To Ground (m)", entity.getDistanceToGround(), style);
71 number_distanceToWaterSurface = formFactory.createIntegerTextWithLabelElement(formElement, "Distance To Water Surface (m)", entity.getDistanceToWaterSurface(), style);
72 // exactLocation
73 text_gatheringEventDescription = formFactory.createTextWithLabelElement(formElement, "Gathering Event Description", entity.getGatheringEventDescription(), style);
74
75 section_collectingAreas = (CollectingAreasDetailSection) formFactory.createEntityDetailSection(EntityDetailType.COLLECTING_AREA, getConversationHolder(), formElement, Section.TWISTIE);
76 section_collectingAreas.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
77 section_collectingAreas.setEntity(entity);
78 }
79
80 /** {@inheritDoc} */
81 @Override
82 public void handleEvent(Object eventSource) {
83 if(eventSource == number_absoluteElevationError){
84 getEntity().setAbsoluteElevationError(number_absoluteElevationError.getInteger());
85 }
86 else if(eventSource == number_absoluteElevationMinimum){
87 getEntity().setAbsoluteElevationRange(number_absoluteElevationMinimum.getInteger(), number_absoluteElevationMaximum.getInteger());
88 }
89 else if(eventSource == number_absoluteElevationMaximum){
90 getEntity().setAbsoluteElevationRange(number_absoluteElevationMinimum.getInteger(), number_absoluteElevationMaximum.getInteger());
91 }
92 else if(eventSource == text_collectingMethod){
93 getEntity().setCollectingMethod(text_collectingMethod.getText());
94 }
95 else if(eventSource == number_distanceToGround){
96 getEntity().setDistanceToGround(number_distanceToGround.getInteger());
97 }
98 else if(eventSource == number_distanceToWaterSurface){
99 getEntity().setDistanceToWaterSurface(number_distanceToWaterSurface.getInteger());
100 }
101 else if(eventSource == text_gatheringEventDescription){
102 getEntity().setGatheringEventDescription(text_gatheringEventDescription.getText());
103 }
104 }
105 }