Project

General

Profile

Download (5.85 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.detailViews.fieldObservation;
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.campanula.basicFields.EntitySelectionFieldController;
17
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.LanguageTextFieldController;
18
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController;
19
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.PointFieldController;
20
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
21
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ToggleableTextFieldController;
22
import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
23
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
24
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
25
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
26
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
27

    
28
/**
29
 * @author pplitzner
30
 * @date 13.08.2013
31
 *
32
 */
33
public class FieldObservationGeneralElementController extends AbstractCdmDetailElement<DerivedUnitFacade> {
34

    
35
    private FieldObservationGeneralElement fieldObservationGeneralElement;
36

    
37
    private ToggleableTextFieldController toggleableText_titleCache;
38
    private EntitySelectionFieldController<NamedArea> selection_country;
39
    private LanguageTextFieldController languageText_locality;
40
    private PointFieldController element_point;
41
    private NumberFieldController number_elevation;
42
    private TimePeriodElement element_date;//TODO convert
43
    private EntitySelectionFieldController<AgentBase> selection_collector;
44
    private TextFieldController text_collectingNumber;
45

    
46
    /**
47
     * @param formFactory
48
     * @param formElement
49
     */
50
    public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
51
        super(formFactory, formElement);
52
        this.fieldObservationGeneralElement = fieldObservationGeneralElement;
53
        setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
54
        formFactory.addPropertyChangeListener(this);
55
    }
56

    
57
    /*
58
     * (non-Javadoc)
59
     *
60
     * @see
61
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
62
     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
63
     */
64
    @Override
65
    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
66
        toggleableText_titleCache = new ToggleableTextFieldController(fieldObservationGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style);
67

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

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

    
109
}
(5-5/7)