Project

General

Profile

Download (5.36 KB) Statistics
| Branch: | Tag: | Revision:
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.TimePeriodElement;
18
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
19
import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement;
20
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
21

    
22
/**
23
 * @author pplitzner
24
 * @date 13.08.2013
25
 *
26
 */
27
public class FieldObservationGeneralElementController extends AbstractCdmDetailElement<DerivedUnitFacade> {
28

    
29
    private FieldObservationGeneralElement fieldObservationGeneralElement;
30

    
31
    private ToggleableTextFieldController toggleableText_titleCache;
32
    private EntitySelectionFieldController<NamedArea> selection_country;
33
    private LanguageTextFieldController languageText_locality;
34
    private PointFieldController element_point;
35
    private NumberFieldController number_elevation;
36
    private TimePeriodElement element_date;
37
    private EntitySelectionFieldController<AgentBase> selection_collector;
38
    private TextFieldController text_collectingNumber;
39

    
40
    /**
41
     * @param formFactory
42
     * @param formElement
43
     */
44
    public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
45
        super(formFactory, formElement);
46
        this.fieldObservationGeneralElement = fieldObservationGeneralElement;
47
        setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
48
        formFactory.addPropertyChangeListener(this);
49
    }
50

    
51
    /*
52
     * (non-Javadoc)
53
     *
54
     * @see
55
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
56
     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
57
     */
58
    @Override
59
    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
60
        toggleableText_titleCache = new ToggleableTextFieldController(fieldObservationGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style);
61

    
62
        selection_country = new EntitySelectionFieldController<NamedArea>(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
63
        languageText_locality = new LanguageTextFieldController(fieldObservationGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getLocality());
64
        element_point = new PointFieldController(fieldObservationGeneralElement.getPointField(),getFormFactory(), formElement, entity.getExactLocation(), style);
65
        number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getAbsoluteElevation());
66
//        element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
67
        selection_collector = new EntitySelectionFieldController<AgentBase>(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
68
        text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
69
    }
70

    
71
    /*
72
     * (non-Javadoc)
73
     *
74
     * @see
75
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
76
     * .lang.Object)
77
     */
78
    @Override
79
    public void handleEvent(Object eventSource) {
80
        if (eventSource == toggleableText_titleCache) {
81
            getEntity().setTitleCache(toggleableText_titleCache.getText(), toggleableText_titleCache.getState());
82
        } else if (eventSource == selection_country) {
83
            getEntity().setCountry(selection_country.getSelection());
84
        } else if (eventSource == languageText_locality) {
85
            LanguageString locality = languageText_locality.getLanguageString();
86
            getEntity().setLocality(locality);
87
        } else if (eventSource == element_point) {
88
            getEntity().setExactLocation(element_point.getPoint());
89
        } else if (eventSource == number_elevation) {
90
            getEntity().setAbsoluteElevation(number_elevation.getInteger());
91
        } else if (eventSource == element_date) {
92
            getEntity().setGatheringPeriod(element_date.getTimePeriod());
93
        } else if (eventSource == selection_collector) {
94
            getEntity().setCollector(selection_collector.getSelection());
95
        } else if (eventSource == text_collectingNumber) {
96
            getEntity().setFieldNumber(text_collectingNumber.getText());
97
        }
98
        if (eventSource != toggleableText_titleCache) {
99
            toggleableText_titleCache.setText(getEntity().getTitleCache());
100
        }
101
    }
102

    
103
}
(5-5/15)