- moved campanula package to parent package
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / campanula / FieldObservationGeneralElementController.java
1 // $Id$
2 /**
3 * Copyright (C) 2013 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 package eu.etaxonomy.taxeditor.ui.campanula;
11
12 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
13 import eu.etaxonomy.cdm.model.agent.AgentBase;
14 import eu.etaxonomy.cdm.model.common.LanguageString;
15 import eu.etaxonomy.cdm.model.location.NamedArea;
16 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
17 import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
18 import eu.etaxonomy.taxeditor.ui.element.PointElement;
19 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
20 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
21 import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
22 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
23
24 /**
25 * @author pplitzner
26 * @date 13.08.2013
27 *
28 */
29 public class FieldObservationGeneralElementController extends AbstractCdmDetailElement<DerivedUnitFacade> {
30
31 private ToggleableTextFieldController toggleableText_titleCache;
32
33 private EntitySelectionFieldController<NamedArea> selection_country;
34 private LanguageStringWithLabelElement languageText_locality;
35 private PointElement element_point;
36 private NumberFieldController number_elevation;
37 private TimePeriodElement element_date;
38 private EntitySelectionFieldController<AgentBase> selection_collector;
39 private TextFieldController text_collectingNumber;
40 private FieldObservationGeneralElement fieldObservationGeneralElement;
41
42 /**
43 * @param formFactory
44 * @param formElement
45 */
46 public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
47 super(formFactory, formElement);
48 this.fieldObservationGeneralElement = fieldObservationGeneralElement;
49 formFactory.addPropertyChangeListener(this);
50 formFactory.getPropertyChangeListeners().add(this);
51 }
52
53 /*
54 * (non-Javadoc)
55 *
56 * @see
57 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
58 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
59 */
60 @Override
61 protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
62 toggleableText_titleCache = new ToggleableTextFieldController(fieldObservationGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style);
63
64 selection_country = new EntitySelectionFieldController<NamedArea>(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
65 // languageText_locality = formFactory.createLanguageStringWithLabelElement(formElement, "Locality", entity.getLocality(), style);
66 // element_point = formFactory.createPointElement(formElement, entity.getExactLocation(), style);
67 number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getAbsoluteElevation());
68 // element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
69 selection_collector = new EntitySelectionFieldController<AgentBase>(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
70 text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
71 }
72
73 /*
74 * (non-Javadoc)
75 *
76 * @see
77 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
78 * .lang.Object)
79 */
80 @Override
81 public void handleEvent(Object eventSource) {
82 if (eventSource == toggleableText_titleCache) {
83 getEntity().setTitleCache(toggleableText_titleCache.getText(), toggleableText_titleCache.getState());
84 } else if (eventSource == selection_country) {
85 getEntity().setCountry(selection_country.getSelection());
86 } else if (eventSource == languageText_locality) {
87 LanguageString locality = languageText_locality.getLanguageString();
88 getEntity().setLocality(locality);
89 } else if (eventSource == element_point) {
90 getEntity().setExactLocation(element_point.getPoint());
91 } else if (eventSource == number_elevation) {
92 getEntity().setAbsoluteElevation(number_elevation.getInteger());
93 } else if (eventSource == element_date) {
94 getEntity().setGatheringPeriod(element_date.getTimePeriod());
95 } else if (eventSource == selection_collector) {
96 getEntity().setCollector(selection_collector.getSelection());
97 } else if (eventSource == text_collectingNumber) {
98 getEntity().setFieldNumber(text_collectingNumber.getText());
99 }
100 if (eventSource != toggleableText_titleCache) {
101 toggleableText_titleCache.setText(getEntity().getTitleCache());
102 }
103 }
104
105 }