*/
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
+import org.joda.time.DateTime;
+
import eu.etaxonomy.cdm.model.common.DefinedTerm;
+import eu.etaxonomy.cdm.model.molecular.DnaQuality;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
*/
public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample> {
+ //TODO: add vocabulary
+// private final TermType qualityTermVocabulary = CdmStore.getService(IVocabularyService.class).find(VocabularyEnum.DnaQualityTerm.getUuid());
+
+ private TextWithLabelElement textPurificationMethod;
private NumberWithLabelElement numberRatioOfAbsorbance260_280;
private NumberWithLabelElement numberRatioOfAbsorbance260_230;
private NumberWithLabelElement numberConcentration;
private TermComboElement<DefinedTerm> comboQualityTerm;
private DateElement dateQualityCheck;
- private DateElement dateNanoDrop;
/**
* @param formFactory
*/
@Override
protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
- //TODO DNA purification details
- //TODO Ratio of absorbance 260-280
- //TODO Ratio of absorbance 260-230
- //TODO concentration unit
- //TODO concentration
- //TODO DNA quality
- //TODO Quality check date
- //TODO Descritpion
+ DnaQuality dnaQuality = entity.getDnaQuality();
+ if(dnaQuality==null){
+ dnaQuality = DnaQuality.NewInstance();
+ entity.setDnaQuality(dnaQuality);
+ }
+ Double ratioOfAbsorbance260_230 = dnaQuality.getRatioOfAbsorbance260_230();
+ Double ratioOfAbsorbance260_280 = dnaQuality.getRatioOfAbsorbance260_280();
+ Double concentration = dnaQuality.getConcentration();
+ DefinedTerm qualityTerm = dnaQuality.getQualityTerm();
+
+// textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "Purification Method", dnaQuality.getPurificationMethod(), style);
+ numberRatioOfAbsorbance260_280 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-280", ratioOfAbsorbance260_280, style);
+ numberRatioOfAbsorbance260_230 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-230", ratioOfAbsorbance260_230, style);
+ numberConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Concentration", concentration, style);
+// comboQualityTerm = formFactory.createDefinedTermComboElement(qualityTermVocabulary, formElement, "Quality Term", qualityTerm, style);
+ dateQualityCheck = formFactory.createDateElement(formElement, "Quality Check", dnaQuality.getQualityCheckDate(), style);
}
/*
*/
@Override
public void handleEvent(Object eventSource) {
+ DnaQuality dnaQuality = getEntity().getDnaQuality();
+ if(eventSource==textPurificationMethod){
+ //TODO
+// dnaQuality.setPurificationMethod(textPurificationMethod.getText());
+ }
+ else if(eventSource==numberRatioOfAbsorbance260_230){
+ dnaQuality.setRatioOfAbsorbance260_230(numberRatioOfAbsorbance260_230.getDouble());
+ }
+ else if(eventSource==numberRatioOfAbsorbance260_280){
+ dnaQuality.setRatioOfAbsorbance260_280(numberRatioOfAbsorbance260_280.getDouble());
+ }
+ else if(eventSource==numberConcentration){
+ dnaQuality.setConcentration(numberConcentration.getDouble());
+ }
+ else if(eventSource==comboQualityTerm){
+ dnaQuality.setQualityTerm(comboQualityTerm.getSelection());
+ }
+ else if(eventSource==dateQualityCheck.getController()){
+ DateTime dateTime = dateQualityCheck.getController().getDateTime();
+ dnaQuality.setQualityCheckDate(dateTime);
+ }
}
}