- increased version number
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / campanula / detailViews / specimen / SpecimenDetailsElementController.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.detailViews.specimen;
11
12 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
13 import eu.etaxonomy.cdm.model.common.DefinedTerm;
14 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ComboDefinedTermController;
15 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
16 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
17 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
18 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
19
20 /**
21 * @author pplitzner
22 * @date 29.08.2013
23 *
24 */
25 public class SpecimenDetailsElementController extends AbstractCdmDetailElement<DerivedUnitFacade> {
26
27 private SpecimenDetailsElement specimenDetailsElement;
28 private TextFieldController individualEcology;
29 private TextFieldController plantDescriptionDetails;
30 private TextFieldController individualFieldNotes;
31 private ComboDefinedTermController<DefinedTerm> liveStage;
32 private ComboDefinedTermController<DefinedTerm> sex;
33
34
35 public SpecimenDetailsElementController(SpecimenDetailsElement specimenDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
36 super(formFactory, formElement);
37 this.specimenDetailsElement = specimenDetailsElement;
38 setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
39 formFactory.addPropertyChangeListener(this);
40 }
41
42 /* (non-Javadoc)
43 * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement, java.lang.Object, int)
44 */
45 @Override
46 protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
47 individualEcology = new TextFieldController(specimenDetailsElement.getText_IndividualEcology(), getFormFactory(), formElement, entity.getEcology(), null);
48 plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_PlantDesriptionDetails(), getFormFactory(), formElement, entity.getPlantDescription(), null);
49 plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_IndividualFieldNotes(), getFormFactory(), formElement, entity.getFieldNotes(), null);
50 liveStage = new ComboDefinedTermController<DefinedTerm>(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style);
51 sex = new ComboDefinedTermController<DefinedTerm>(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style);
52 }
53
54 /* (non-Javadoc)
55 * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
56 */
57 @Override
58 public void handleEvent(Object eventSource) {
59 if(eventSource == individualEcology){
60 getEntity().setEcology(individualEcology.getText());
61 }
62 else if(eventSource == plantDescriptionDetails){
63 getEntity().setPlantDescription(plantDescriptionDetails.getText());
64 }
65 else if(eventSource == individualFieldNotes){
66 getEntity().setFieldNotes(individualFieldNotes.getText());
67 }
68 else if(eventSource == liveStage){
69 getEntity().setLifeStage(liveStage.getSelection());
70 }
71 else if(eventSource == sex){
72 getEntity().setSex(sex.getSelection());
73 }
74 }
75 }