2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.ui
.section
.description
.detail
;
14 import eu
.etaxonomy
.cdm
.common
.CdmUtils
;
15 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
16 import eu
.etaxonomy
.cdm
.model
.common
.Language
;
17 import eu
.etaxonomy
.cdm
.model
.common
.LanguageString
;
18 import eu
.etaxonomy
.cdm
.model
.description
.TaxonInteraction
;
19 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
20 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
24 import eu
.etaxonomy
.taxeditor
.ui
.selection
.EntitySelectionElement
;
28 * TaxonInteractionDetailElement class.
32 * @created Jun 10, 2010
35 public class TaxonInteractionDetailElement
extends
36 AbstractDetailedDescriptionDetailElement
<TaxonInteraction
> {
38 private EntitySelectionElement
<Taxon
> taxonSelection
;
39 private TextWithLabelElement interactionDescription
;
43 * Constructor for TaxonInteractionDetailElement.
47 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
50 * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
53 * a {@link eu.etaxonomy.cdm.model.description.TaxonInteraction}
58 public TaxonInteractionDetailElement(CdmFormFactory formFactory
,
59 ICdmFormElement formElement
, TaxonInteraction entity
, boolean enabled
, int style
) {
60 super(formFactory
, formElement
, entity
, enabled
, style
);
65 protected void createControls(ICdmFormElement formElement
,
66 TaxonInteraction entity
, int style
) {
68 taxonSelection
= formFactory
69 .createSelectionElement(Taxon
.class,
71 CdmBase
.deproxy(entity
.getTaxon2(),Taxon
.class),
72 EntitySelectionElement
.ALL
, style
);
74 interactionDescription
= formFactory
.createMultiLineTextWithLabel(
75 formElement
, "Relationship to the unit:", 200, style
);
76 Map
<Language
, LanguageString
> descriptions
= entity
.getDescription();
78 if (descriptions
.get(CdmStore
.getDefaultLanguage()) != null) {
79 interactionDescription
.setText(descriptions
.get(
80 CdmStore
.getDefaultLanguage()).getText());
82 createTimePeriod(formElement
, entity
, style
);
83 if (!CdmUtils
.isNullSafeEmpty(entity
.getFeature().getRecommendedModifierEnumeration()) || !CdmUtils
.isNullSafeEmpty(entity
.getModifiers())){
84 createModifier(formElement
, entity
, style
);
86 createFreetextModifier(formElement
, entity
, style
);
92 public void handleEvent(Object eventSource
) {
93 super.handleEvent(eventSource
);
94 if (eventSource
== taxonSelection
) {
95 getEntity().setTaxon2(taxonSelection
.getEntity());
96 } else if (eventSource
== interactionDescription
) {
97 getEntity().putDescription(CdmStore
.getDefaultLanguage(), interactionDescription
.getText());
102 public void fillFields() {
103 if (getEntity()!= null) {
105 taxonSelection
.setEntity(getEntity().getTaxon2());
106 interactionDescription
.setText(getEntity().getDescription(CdmStore
.getDefaultLanguage()));