merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / reference / NomenclaturalReferenceDetailElement.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 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
11 package eu.etaxonomy.taxeditor.ui.section.reference;
12
13 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
14 import eu.etaxonomy.cdm.model.reference.Reference;
15 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
16 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
17 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
18 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
19 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
20
21 /**
22 * <p>
23 * NomenclaturalReferenceDetailElement class.
24 * </p>
25 *
26 * @author n.hoffmann
27 * @created Mar 12, 2010
28 * @version 1.0
29 */
30 public class NomenclaturalReferenceDetailElement extends
31 AbstractCdmDetailElement<TaxonNameBase> {
32
33 private EntitySelectionElement<Reference> selection_nomenclaturalReference;
34 private TextWithLabelElement text_referenceDetail;
35
36 /**
37 * <p>
38 * Constructor for NomenclaturalReferenceDetailElement.
39 * </p>
40 *
41 * @param cdmFormFactory
42 * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
43 * object.
44 * @param formElement
45 * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
46 * object.
47 * @param style
48 * a int.
49 */
50 public NomenclaturalReferenceDetailElement(CdmFormFactory cdmFormFactory,
51 ICdmFormElement formElement, int style) {
52 super(cdmFormFactory, formElement);
53 }
54
55 /** {@inheritDoc} */
56 @Override
57 protected void createControls(ICdmFormElement formElement,
58 TaxonNameBase entity, int style) {
59 selection_nomenclaturalReference = formFactory
60 .createSelectionElement(Reference.class,
61 getConversationHolder(), formElement, "Reference",
62 (Reference) entity.getNomenclaturalReference(),
63 EntitySelectionElement.ALL, style);
64 text_referenceDetail = formFactory.createTextWithLabelElement(
65 formElement, "Reference Detail",
66 entity.getNomenclaturalMicroReference(), style);
67 }
68
69 /** {@inheritDoc} */
70 @Override
71 public void handleEvent(Object eventSource) {
72 if (eventSource == selection_nomenclaturalReference) {
73 getEntity().setNomenclaturalReference(
74 selection_nomenclaturalReference.getSelection());
75 } else if (eventSource == text_referenceDetail) {
76 getEntity().setNomenclaturalMicroReference(
77 text_referenceDetail.getText());
78 }
79 }
80 }