3 * Copyright (C) 2013 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.taxeditor
.ui
.campanula
.detailViews
.specimen
;
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
;
25 public class SpecimenDetailsElementController
extends AbstractCdmDetailElement
<DerivedUnitFacade
> {
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
;
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);
43 * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement, java.lang.Object, int)
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
);
55 * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
58 public void handleEvent(Object eventSource
) {
59 if(eventSource
== individualEcology
){
60 getEntity().setEcology(individualEcology
.getText());
62 else if(eventSource
== plantDescriptionDetails
){
63 getEntity().setPlantDescription(plantDescriptionDetails
.getText());
65 else if(eventSource
== individualFieldNotes
){
66 getEntity().setFieldNotes(individualFieldNotes
.getText());
68 else if(eventSource
== liveStage
){
69 getEntity().setLifeStage(liveStage
.getSelection());
71 else if(eventSource
== sex
){
72 getEntity().setSex(sex
.getSelection());