From 73a663a3839cc7aed53dc9eb3aca832c3ebf0d93 Mon Sep 17 00:00:00 2001 From: "n.hoffmann" Date: Thu, 12 May 2011 12:08:45 +0000 Subject: [PATCH] Fixes a problem with TimePeriodElement --- .../taxeditor/ui/forms/DateDetailSection.java | 11 +++++++++- .../taxeditor/ui/forms/TimePeriodElement.java | 1 + .../DeterminationEventDetailElement.java | 14 ++++++++----- .../taxeditor/view/detail/DetailsViewer.java | 21 +++++++------------ 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java index 0b9556370..792219c21 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/DateDetailSection.java @@ -70,6 +70,14 @@ public class DateDetailSection extends AbstractFormSection { formFactory.addPropertyChangeListener(this); } + @Override + public TimePeriod getEntity() { + if(super.getEntity() == null){ + setEntity(TimePeriod.NewInstance()); + } + return super.getEntity(); + } + /** *

* Setter for the field timePeriod. @@ -82,7 +90,6 @@ public class DateDetailSection extends AbstractFormSection { public void setEntity(TimePeriod timePeriod) { setEntityInternally(timePeriod); text_parseText.setText(timePeriod.toString()); - super.setEntity(timePeriod); } /** @@ -99,6 +106,8 @@ public class DateDetailSection extends AbstractFormSection { text_freeText.setText(timePeriod.getFreeText()); this.setText(CdmUtils.Nz(timePeriod.toString())); + super.setEntity(timePeriod); + layout(); } /** {@inheritDoc} */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java index 14efd25b2..cb618f23b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/TimePeriodElement.java @@ -106,6 +106,7 @@ public class TimePeriodElement extends AbstractCdmFormElement { // section_dateDetails.setEntity(timePeriod); // if (eventSource == section_dateDetails) { + timePeriod = section_dateDetails.getEntity(); firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java index 4324ca891..d879b874b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java @@ -19,6 +19,7 @@ import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement; import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement; @@ -36,7 +37,7 @@ public class DeterminationEventDetailElement extends private DeterminationModifierComboElement combo_determinationModifier; private CheckboxElement checkbox_preferredFlag; - private TaxonSelectionElement selection_taxon; + private TaxonBaseSelectionElement selection_taxonBase; // private TODO a set of references @@ -76,6 +77,8 @@ public class DeterminationEventDetailElement extends @Override public void setEntity(DeterminationEvent entity) { this.entity = entity; + combo_determinationModifier.setSelection(entity.getModifier()); + selection_taxonBase.setEntity(entity.getTaxon()); super.setEntity(entity); } @@ -93,10 +96,11 @@ public class DeterminationEventDetailElement extends combo_determinationModifier = (DeterminationModifierComboElement) formFactory .createTermComboElement(TermComboType.DETERMINATION_MODIFIER, element, "Determination Modifier", null, style); + // TODO remove this // checkbox_preferredFlag = formFactory.createCheckbox(element, // "Current", false, style); - selection_taxon = (TaxonSelectionElement) formFactory - .createSelectionElement(SelectionType.TAXON, + selection_taxonBase = (TaxonBaseSelectionElement) formFactory + .createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), element, "Taxon", null, TaxonSelectionElement.DEFAULT, style); @@ -120,8 +124,8 @@ public class DeterminationEventDetailElement extends getEntity().setModifier(combo_determinationModifier.getSelection()); } else if (eventSource == checkbox_preferredFlag) { getEntity().setPreferredFlag(checkbox_preferredFlag.getSelection()); - } else if (eventSource == selection_taxon) { - getEntity().setTaxon(selection_taxon.getSelection()); + } else if (eventSource == selection_taxonBase) { + getEntity().setTaxon(selection_taxonBase.getSelection()); } // else if(eventSource == TODO set of references){ // diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java index 48ad93b9e..941e099f3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java @@ -599,25 +599,20 @@ public class DetailsViewer extends AbstractCdmDataViewer { .createCdmDetailSection(DetailType.DERIVED_UNIT, getConversationHolder(), parent, this, Section.TWISTIE); - boolean showExperimentalFeatures = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES); + Object getBoolean; + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + DeterminationDetailSection determinationDetailSection = (DeterminationDetailSection) formFactory + .createCdmDetailSection(DetailType.DETERMINATION, + getConversationHolder(), parent, this, Section.TWISTIE); - // TODO remove experimental check once this is fully implemented. see #2376 - DeterminationDetailSection determinationDetailSection = null; - if(showExperimentalFeatures){ - formFactory.createHorizontalSeparator(parent, SWT.BORDER); - - determinationDetailSection = (DeterminationDetailSection) formFactory - .createCdmDetailSection(DetailType.DETERMINATION, - getConversationHolder(), parent, this, Section.TWISTIE); - } addPart(generalDetailSection); addPart(gatheringEventDetailSection); addPart(fieldObservationDetailSection); addPart(derivedUnitBaseDetailSection); - if(showExperimentalFeatures){ - addPart(determinationDetailSection); - } + addPart(determinationDetailSection); + } /** -- 2.34.1