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