-// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
* <p>
* DeterminationEventDetailElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Oct 13, 2010
* @version 1.0
private TermComboElement<DefinedTerm> combo_determinationModifier;
private CheckboxElement checkbox_preferredFlag;
private EntitySelectionElement<TaxonBase> selection_taxonBase;
+ private EntitySelectionElement<TaxonNameBase> selectionTaxonNameBase;
// private TODO a set of references
* <p>
* Constructor for DeterminationEventDetailElement.
* </p>
- *
+ *
* @param formFactory
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
* (eu.etaxonomy.cdm.model.common.IVersionableEntity)
this.entity = entity;
combo_determinationModifier.setSelection(entity.getModifier());
selection_taxonBase.setEntity(entity.getTaxon());
+ selectionTaxonNameBase.setEntity(entity.getTaxonName());
super.setEntity(entity);
}
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
* (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
+ selectionTaxonNameBase = formFactory
+ .createSelectionElement(TaxonNameBase.class,
+ getConversationHolder(), element, "Taxon Name", null,
+ EntitySelectionElement.NOTHING, style);
selection_taxonBase = formFactory
.createSelectionElement(TaxonBase.class,
getConversationHolder(), element, "Taxon", null,
EntitySelectionElement.NOTHING, style);
-
+
// TODO set of references
super.createControls(element, style);
-
+
element_timePeriod.setLabel("Determined When");
selection_agent.setLabel("Determined by");
-
-
- combo_determinationModifier = formFactory.createTermComboElement(DefinedTerm.class,
+
+
+ combo_determinationModifier = formFactory.createDefinedTermComboElement(TermType.DeterminationModifier,
element, "Modifier", null, style);
}
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent
* (java.lang.Object)
getEntity().setModifier(combo_determinationModifier.getSelection());
} else if (eventSource == checkbox_preferredFlag) {
getEntity().setPreferredFlag(checkbox_preferredFlag.getSelection());
+ } else if (eventSource == selectionTaxonNameBase) {
+ getEntity().setTaxonName(selectionTaxonNameBase.getSelection());
+ //empty taxon field if name does not belong the taxon
+ TaxonBase taxonBase = selection_taxonBase.getEntity();
+ if(taxonBase!=null && taxonBase.getName()!=null
+ && !taxonBase.getName().equals(selectionTaxonNameBase.getSelection())){
+ selection_taxonBase.setEntity(null);
+ }
} else if (eventSource == selection_taxonBase) {
- getEntity().setTaxon(selection_taxonBase.getSelection());
+ TaxonBase taxon = selection_taxonBase.getSelection();
+ getEntity().setTaxon(taxon);
+ getEntity().setTaxonName(taxon.getName());
+ selectionTaxonNameBase.setEntity(taxon.getName());
}
// else if(eventSource == TODO set of references){
//