3 * Copyright (C) 2007 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.
11 package eu
.etaxonomy
.taxeditor
.ui
.section
.name
;
13 import org
.eclipse
.swt
.events
.SelectionListener
;
15 import eu
.etaxonomy
.cdm
.hibernate
.HibernateProxyHelper
;
16 import eu
.etaxonomy
.cdm
.model
.name
.SpecimenTypeDesignation
;
17 import eu
.etaxonomy
.cdm
.model
.name
.SpecimenTypeDesignationStatus
;
18 import eu
.etaxonomy
.cdm
.model
.occurrence
.Specimen
;
19 import eu
.etaxonomy
.taxeditor
.ui
.forms
.AbstractFormSection
;
20 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
21 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.forms
.TextWithLabelElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
.SelectionType
;
24 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
.TermComboType
;
25 import eu
.etaxonomy
.taxeditor
.ui
.selection
.DerivedUnitBaseSelectionElement
;
26 import eu
.etaxonomy
.taxeditor
.ui
.term
.SpecimenTypeDesignationStatusComboElement
;
29 * <p>SpecimenTypeDesignationElement class.</p>
32 * @created May 17, 2010
35 public class SpecimenTypeDesignationElement
extends
36 AbstractTypeDesignationElement
<SpecimenTypeDesignation
> {
38 private SpecimenTypeDesignationStatusComboElement combo_typeStatus
;
39 private DerivedUnitBaseSelectionElement selection_typeSpecimen
;
40 private TextWithLabelElement text_specimenTypeText
;
43 * <p>Constructor for SpecimenTypeDesignationElement.</p>
45 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
46 * @param section a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection} object.
47 * @param entity a {@link eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation} object.
48 * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
51 public SpecimenTypeDesignationElement(CdmFormFactory formFactory
,
52 AbstractFormSection section
, SpecimenTypeDesignation entity
,
53 SelectionListener removeListener
, int style
) {
54 super(formFactory
, section
, entity
, removeListener
, style
);
59 public void createControls(ICdmFormElement formElement
, int style
) {
60 selection_typeSpecimen
= (DerivedUnitBaseSelectionElement
) formFactory
.createSelectionElement(SelectionType
.DERIVED_UNIT
, getConversationHolder(), formElement
, "Unit", null, style
);
61 combo_typeStatus
= (SpecimenTypeDesignationStatusComboElement
) formFactory
.createTermComboElement(TermComboType
.SPECIMENTYPEDESIGNATIONSTATUS
, formElement
, "Designation Status", null, style
);
63 super.createControls(formElement
, style
);
68 public void setEntity(SpecimenTypeDesignation entity
) {
69 super.setEntity(entity
);
70 selection_typeSpecimen
.setEntity(entity
.getTypeSpecimen());
72 SpecimenTypeDesignationStatus typeStatus
= (SpecimenTypeDesignationStatus
) HibernateProxyHelper
.deproxy(entity
.getTypeStatus());
73 combo_typeStatus
.setSelection(typeStatus
);
74 checkbox_notDesignated
.setSelection(entity
.isNotDesignated());
79 public void handleEvent(Object eventSource
) {
80 if(eventSource
== combo_typeStatus
){
81 getEntity().setTypeStatus(combo_typeStatus
.getSelection());
83 // TODO remove this once specimens are correctly implemented
84 else if(eventSource
== text_specimenTypeText
){
85 // TODO this is a simple workaround to enter type specimen as text strings
86 if(getEntity().getTypeSpecimen() == null){
87 Specimen typeSpecimen
= Specimen
.NewInstance();
88 getEntity().setTypeSpecimen(typeSpecimen
);
90 getEntity().getTypeSpecimen().setTitleCache(text_specimenTypeText
.getText());
92 else if(eventSource
== selection_typeSpecimen
){
93 getEntity().setTypeSpecimen(selection_typeSpecimen
.getSelection());
95 else if(eventSource
== checkbox_notDesignated
){
96 getEntity().setNotDesignated(checkbox_notDesignated
.getSelection());
98 else if(eventSource
== selection_reference
){
99 getEntity().setCitation(selection_reference
.getSelection());
101 else if(eventSource
== text_referenceDetail
){
102 getEntity().setCitationMicroReference(text_referenceDetail
.getText());
104 else if(eventSource
== text_originaleNameString
){
105 getEntity().setOriginalNameString(text_originaleNameString
.getText());