2 * Copyright (C) 2013 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.
9 package eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
;
11 import eu
.etaxonomy
.cdm
.model
.agent
.AgentBase
;
12 import eu
.etaxonomy
.cdm
.model
.agent
.Institution
;
13 import eu
.etaxonomy
.cdm
.model
.molecular
.Amplification
;
14 import eu
.etaxonomy
.cdm
.model
.molecular
.Primer
;
15 import eu
.etaxonomy
.cdm
.model
.term
.DefinedTerm
;
16 import eu
.etaxonomy
.cdm
.model
.term
.TermType
;
17 import eu
.etaxonomy
.taxeditor
.store
.StoreUtil
;
18 import eu
.etaxonomy
.taxeditor
.ui
.combo
.term
.TermComboElement
;
19 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.LayoutConstants
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.TimePeriodElement
;
24 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
25 import eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
.AnnotationSection
;
26 import eu
.etaxonomy
.taxeditor
.ui
.selection
.EntitySelectionElement
;
32 public class AmplificationGeneralDetailElement
extends AbstractCdmDetailElement
<Amplification
> {
34 private TextWithLabelElement textDesignation
;
35 private TextWithLabelElement textNotes
;
36 private TermComboElement
<DefinedTerm
> comboMarker
;
37 private TimePeriodElement dateAmplification
;
38 private EntitySelectionElement
<Institution
> selectionInstitution
;
39 private EntitySelectionElement
<AgentBase
> selectionAmplificationStaff
;
40 private EntitySelectionElement
<Primer
> selectionPrimerFW
;
41 private EntitySelectionElement
<Primer
> selectionPrimerRW
;
43 public AmplificationGeneralDetailElement(CdmFormFactory formFactory
, ICdmFormElement formElement
) {
44 super(formFactory
, formElement
);
48 protected void createControls(ICdmFormElement formElement
, Amplification entity
, int style
) {
49 textDesignation
= formFactory
.createTextWithLabelElement(formElement
, "Designation", entity
.getLabelCache(), style
);
50 textDesignation
.setEnabled(false);
51 textDesignation
.setBackground(getPersistentBackground());
52 selectionInstitution
= formFactory
.createSelectionElement(Institution
.class,
53 formElement
, "Institution", entity
.getInstitution(), EntitySelectionElement
.ALL
, style
);
54 selectionAmplificationStaff
= formFactory
.createSelectionElement(AgentBase
.class,
55 formElement
, "Amplification staff", entity
.getActor(), EntitySelectionElement
.ALL
, style
);
56 dateAmplification
= formFactory
.createTimePeriodElement(formElement
, "Date", entity
.getTimeperiod(), style
);
57 comboMarker
= formFactory
.createDefinedTermComboElement(TermType
.DnaMarker
, formElement
, "DNA Marker", entity
.getDnaMarker(), style
);
58 selectionPrimerFW
= formFactory
.createSelectionElement(Primer
.class,
59 formElement
, "Primer FW", entity
.getForwardPrimer(), EntitySelectionElement
.ALL
, style
);
60 selectionPrimerRW
= formFactory
.createSelectionElement(Primer
.class,
61 formElement
, "Primer RW", entity
.getReversePrimer(), EntitySelectionElement
.ALL
, style
);
63 AnnotationSection annotationSection
= formFactory
.createAnnotationSection(formElement
, StoreUtil
.getSectionStyle(AnnotationSection
.class, entity
.getClass().getCanonicalName()));
64 annotationSection
.setLayoutData(LayoutConstants
.FILL_HORIZONTALLY(2, 1));
65 annotationSection
.setEntity(entity
);
69 public void handleEvent(Object eventSource
) {
70 if(eventSource
==textNotes
){
71 getEntity().setDescription(textNotes
.getText());
73 else if(eventSource
==comboMarker
){
74 getEntity().setDnaMarker(comboMarker
.getSelection());
76 else if(eventSource
==dateAmplification
){
77 getEntity().setTimeperiod(dateAmplification
.getTimePeriod());
79 else if(eventSource
==selectionAmplificationStaff
){
80 getEntity().setActor(selectionAmplificationStaff
.getEntity());
82 else if(eventSource
==selectionInstitution
){
83 getEntity().setInstitution(selectionInstitution
.getSelection());
85 else if(eventSource
==selectionPrimerFW
){
86 getEntity().setForwardPrimer(selectionPrimerFW
.getSelection());
88 else if(eventSource
==selectionPrimerRW
){
89 getEntity().setReversePrimer(selectionPrimerRW
.getSelection());
91 getEntity().updateCache();
92 textDesignation
.setText(getEntity().getLabelCache());