Project

General

Profile

Download (7.52 KB) Statistics
| Branch: | Tag: | Revision:
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
}
(15-15/20)