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
.section
.occurrence
.dna
;
12 import org
.eclipse
.swt
.widgets
.Text
;
14 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTerm
;
15 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
16 import eu
.etaxonomy
.cdm
.model
.molecular
.Sequence
;
17 import eu
.etaxonomy
.cdm
.model
.molecular
.SequenceString
;
18 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
19 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.NumberWithLabelElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.UriWithLabelElement
;
24 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
31 public class SequenceGeneralDetailElement
extends AbstractCdmDetailElement
<Sequence
> {
33 private TermComboElement
<DefinedTerm
> comboMarker
;
34 private TextWithLabelElement textConsensusSequence
;
35 private NumberWithLabelElement textConsensusSequenceLength
;
36 private TextWithLabelElement textBarcodeSequence
;
37 private TextWithLabelElement textGeneticAccessNo
;
38 private UriWithLabelElement textNCBIUri
;
39 private UriWithLabelElement textENAUri
;
40 private UriWithLabelElement textDDBJUri
;
41 private TextWithLabelElement textBoldProcessID
;
42 private UriWithLabelElement textBoldUri
;
48 public SequenceGeneralDetailElement(CdmFormFactory formFactory
, ICdmFormElement formElement
) {
49 super(formFactory
, formElement
);
56 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
57 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
60 protected void createControls(ICdmFormElement formElement
, Sequence entity
, int style
) {
61 comboMarker
= formFactory
.createDefinedTermComboElement(TermType
.DnaMarker
, formElement
, "DNA Marker", entity
.getDnaMarker(), style
);
62 // textConsensusSequence = formFactory.createTextWithLabelElement(formElement, "Consensus Sequence 5'->3'", entity.getConsensusSequence().getString(), style);
63 // textConsensusSequenceLength = formFactory.createNumberTextWithLabelElement(formElement, "Consensus Seq. Length", entity.getConsensusSequence().getLength(), style);
64 // ((Text) textConsensusSequenceLength.getMainControl()).setEditable(false);
65 textBarcodeSequence
= formFactory
.createTextWithLabelElement(formElement
, "Barcode Sequence 5'->3'", entity
.getBarcodeSequencePart()==null?
"":entity
.getBarcodeSequencePart().getString(), style
);
67 textGeneticAccessNo
= formFactory
.createTextWithLabelElement(formElement
, "Genetic Acc. No.", entity
.getGeneticAccessionNumber(), style
);
68 textNCBIUri
= formFactory
.createUriWithLabelElement(formElement
, "NCBI URI", entity
.getGenBankUri(), style
);
69 ((Text
) textNCBIUri
.getMainControl()).setEditable(false);
70 textENAUri
= formFactory
.createUriWithLabelElement(formElement
, "ENA URI", entity
.getEmblUri(), style
);
71 ((Text
) textENAUri
.getMainControl()).setEditable(false);
72 textDDBJUri
= formFactory
.createUriWithLabelElement(formElement
, "DDBJ URI", entity
.getDdbjUri(), style
);
73 ((Text
) textDDBJUri
.getMainControl()).setEditable(false);
74 textBoldProcessID
= formFactory
.createTextWithLabelElement(formElement
, "BOLD Process ID", entity
.getBoldProcessId(), style
);
75 textBoldUri
= formFactory
.createUriWithLabelElement(formElement
, "BOLD URI", entity
.getBoldUri(), style
);
76 ((Text
) textBoldUri
.getMainControl()).setEditable(false);
77 ((Text
) textBoldUri
.getMainControl()).setToolTipText("Query BOLD");
84 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
88 public void handleEvent(Object eventSource
) {
89 if(eventSource
==comboMarker
){
90 getEntity().setDnaMarker(comboMarker
.getSelection());
92 else if(eventSource
==textConsensusSequence
){
93 SequenceString consensusSequence
= getEntity().getConsensusSequence();
94 if(consensusSequence
==null){
95 consensusSequence
= SequenceString
.NewInstance();
97 consensusSequence
.setString(textConsensusSequence
.getText());
98 getEntity().setConsensusSequence(consensusSequence
);
99 textConsensusSequenceLength
.setNumber(consensusSequence
.getLength());
101 else if(eventSource
==textBarcodeSequence
){
102 SequenceString barcodeSequencePart
= getEntity().getBarcodeSequencePart();
103 if(barcodeSequencePart
==null){
104 barcodeSequencePart
= SequenceString
.NewInstance();
106 barcodeSequencePart
.setString(textBarcodeSequence
.getText());
107 getEntity().setBarcodeSequencePart(barcodeSequencePart
);
109 else if(eventSource
==textGeneticAccessNo
){
110 getEntity().setGeneticAccessionNumber(textGeneticAccessNo
.getText());
111 if(textGeneticAccessNo
.getText()!=null && !textGeneticAccessNo
.getText().isEmpty()){
112 textNCBIUri
.setUri(getEntity().getGenBankUri());
113 textENAUri
.setUri(getEntity().getEmblUri());
114 textDDBJUri
.setUri(getEntity().getDdbjUri());
117 textNCBIUri
.setText("");
118 textENAUri
.setText("");
119 textDDBJUri
.setText("");
122 else if(eventSource
==textBoldProcessID
){
123 getEntity().setBoldProcessId(textBoldProcessID
.getText());
124 if(textBoldProcessID
.getText()!=null && !textBoldProcessID
.getText().isEmpty()){
125 textBoldUri
.setUri(getEntity().getBoldUri());
128 textBoldUri
.setText("");