From b0d7867b81900c063f7e300f4582538e476e8135 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Tue, 26 May 2015 15:07:14 +0000 Subject: [PATCH] - removed empty element from combo dropdown #4448 --- .gitattributes | 2 +- .../taxeditor/ui/combo/TermComboElement.java | 8 ++++++-- .../ui/combo/VocabularyComboElement.java | 5 +++++ .../taxeditor/ui/element/CdmFormFactory.java | 4 ++-- .../MeasurementUnitCollectionElement.java | 6 +++++- .../RecommendedModifierVocabulariesElement.java} | 15 +++++++++------ .../StateVocabularyCollectionElement.java | 8 ++++++-- .../StatisticalMeasureCollectionElement.java | 6 +++++- 8 files changed, 39 insertions(+), 15 deletions(-) rename eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/{description/StateModifierElement.java => vocabulary/RecommendedModifierVocabulariesElement.java} (73%) diff --git a/.gitattributes b/.gitattributes index 3167e48d3..c04da5788 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1580,7 +1580,6 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/des eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateModifierElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java -text @@ -1773,6 +1772,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/voc eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/RecommendedModifierVocabulariesCollectionSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/RecommendedModifierVocabulariesElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java -text diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java index 14336ea79..6f80b90d8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java @@ -155,8 +155,6 @@ public class TermComboElement public void setSelection(T selection) { this.selection = selection; - this.selection = selection; - Listener[] listeners = combo.getListeners(SWT.Selection); for (Listener listener : listeners) { @@ -429,4 +427,10 @@ public class TermComboElement populateTerms(customPreferredTerms); } + public void removeEmptyElement(){ + if(addEmptyElement){ + terms.remove(emptyElement); + combo.remove(EMPTY_ELEMENT_LABEL); + } + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/VocabularyComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/VocabularyComboElement.java index 9520de1b4..bc920ea69 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/VocabularyComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/VocabularyComboElement.java @@ -373,4 +373,9 @@ public class VocabularyComboElement, VOC exte combo.setVisibleItemCount(count); } + public void removeEmptyElement(){ + terms.remove(emptyElement); + combo.remove(EMPTY_ELEMENT_LABEL); + } + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java index 8734cd94a..6373d42ae 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java @@ -150,7 +150,6 @@ import eu.etaxonomy.taxeditor.ui.section.description.ScopeElement; import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection; import eu.etaxonomy.taxeditor.ui.section.description.StateDataElement; import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection; -import eu.etaxonomy.taxeditor.ui.section.description.StateModifierElement; import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueElement; import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection; import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement; @@ -314,6 +313,7 @@ import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionEle import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.RecommendedModifierVocabulariesCollectionSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.RecommendedModifierVocabulariesElement; import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionElement; import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection; import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionElement; @@ -2532,7 +2532,7 @@ public class CdmFormFactory extends FormToolkit { element = new StateVocabularyCollectionElement(this, parentElement, (TermVocabulary) entity, removeListener, backgroundColor, style); break; case Modifier: - element = new StateModifierElement(this, parentElement, (TermVocabulary) entity, removeListener, backgroundColor, style); + element = new RecommendedModifierVocabulariesElement(this, parentElement, (TermVocabulary) entity, removeListener, backgroundColor, style); break; default: break; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java index 40f1fcc86..26a68223e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java @@ -56,6 +56,7 @@ public class MeasurementUnitCollectionElement extends AbstractEntityCollectionEl this.entity = entity; if(entity.getId()!=0){ comboMeasurementUnit.setSelection(entity); + comboMeasurementUnit.removeEmptyElement(); } } @@ -63,11 +64,14 @@ public class MeasurementUnitCollectionElement extends AbstractEntityCollectionEl public void handleEvent(Object eventSource) { if(eventSource==comboMeasurementUnit && comboMeasurementUnit.getSelection()!=null){ if(getParentElement() instanceof MeasurementUnitCollectionSection){ - Feature feature = ((MeasurementUnitCollectionSection) getParentElement()).getEntity(); + MeasurementUnitCollectionSection parentElement = (MeasurementUnitCollectionSection) getParentElement(); + Feature feature = parentElement.getEntity(); feature.removeRecommendedMeasurementUnit(entity); MeasurementUnit measurementUnit = comboMeasurementUnit.getSelection(); feature.addRecommendedMeasurementUnit(measurementUnit); entity = measurementUnit; + //update the parent section to re-set the listeners to the persisted measurement unit + parentElement.removeElementAndUpdate(null); } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateModifierElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/RecommendedModifierVocabulariesElement.java similarity index 73% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateModifierElement.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/RecommendedModifierVocabulariesElement.java index 65ae5a33f..c65ad64ab 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateModifierElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/RecommendedModifierVocabulariesElement.java @@ -7,7 +7,7 @@ * 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. */ -package eu.etaxonomy.taxeditor.ui.section.description; +package eu.etaxonomy.taxeditor.ui.section.vocabulary; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Color; @@ -21,14 +21,13 @@ import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.section.vocabulary.RecommendedModifierVocabulariesCollectionSection; /** * @author pplitzner * @date Apr 27, 2015 * */ -public class StateModifierElement extends AbstractEntityCollectionElement> { +public class RecommendedModifierVocabulariesElement extends AbstractEntityCollectionElement> { private VocabularyComboElement> comboStateVocabulary; @@ -42,7 +41,7 @@ public class StateModifierElement extends AbstractEntityCollectionElement entity, + public RecommendedModifierVocabulariesElement(CdmFormFactory formFactory, AbstractFormSection section, TermVocabulary entity, SelectionListener removeListener, Color backgroundColor, int style) { super(formFactory, section, entity, removeListener, false, backgroundColor, style); @@ -50,7 +49,7 @@ public class StateModifierElement extends AbstractEntityCollectionElement vocabulary = comboStateVocabulary.getSelection(); feature.addRecommendedModifierEnumeration(vocabulary); entity = vocabulary; + //update the parent section to re-set the listeners to the persisted measurement unit + parentElement.removeElementAndUpdate(null); } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java index a8094ed72..de856abb9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java @@ -49,7 +49,7 @@ public class StateVocabularyCollectionElement extends AbstractEntityCollectionEl @Override public void createControls(ICdmFormElement element, int style) { - comboStateVocabulary = formFactory.createVocabularyComboElement(TermType.State, "State vocabularies", null, element, style); + comboStateVocabulary = formFactory.createVocabularyComboElement(TermType.State, "State vocabulary", null, element, style); } @Override @@ -57,6 +57,7 @@ public class StateVocabularyCollectionElement extends AbstractEntityCollectionEl this.entity = entity; if(entity.getId()!=0){ comboStateVocabulary.setSelection(entity); + comboStateVocabulary.removeEmptyElement(); } } @@ -64,11 +65,14 @@ public class StateVocabularyCollectionElement extends AbstractEntityCollectionEl public void handleEvent(Object eventSource) { if(eventSource==comboStateVocabulary && comboStateVocabulary.getSelection()!=null){ if(getParentElement() instanceof StateVocabularyCollectionSection){ - Feature feature = ((StateVocabularyCollectionSection) getParentElement()).getEntity(); + StateVocabularyCollectionSection parentElement = (StateVocabularyCollectionSection) getParentElement(); + Feature feature = parentElement.getEntity(); feature.removeSupportedCategoricalEnumeration(entity); TermVocabulary vocabulary = comboStateVocabulary.getSelection(); feature.addSupportedCategoricalEnumeration(vocabulary); entity = vocabulary; + //update the parent section to re-set the listeners to the persisted measurement unit + parentElement.removeElementAndUpdate(null); } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java index 237a5d369..57ee1dabd 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java @@ -56,6 +56,7 @@ public class StatisticalMeasureCollectionElement extends AbstractEntityCollectio this.entity = entity; if(entity.getId()!=0){ comboStatisticalMeasure.setSelection(entity); + comboStatisticalMeasure.removeEmptyElement(); } } @@ -63,11 +64,14 @@ public class StatisticalMeasureCollectionElement extends AbstractEntityCollectio public void handleEvent(Object eventSource) { if(eventSource==comboStatisticalMeasure && comboStatisticalMeasure.getSelection()!=null){ if(getParentElement() instanceof StatisticalMeasureCollectionSection){ - Feature feature = ((StatisticalMeasureCollectionSection) getParentElement()).getEntity(); + StatisticalMeasureCollectionSection parentElement = (StatisticalMeasureCollectionSection) getParentElement(); + Feature feature = parentElement.getEntity(); feature.removeRecommendedStatisticalMeasure(entity); StatisticalMeasure statisticalMeasure = comboStatisticalMeasure.getSelection(); feature.addRecommendedStatisticalMeasure(statisticalMeasure); entity = statisticalMeasure; + //update the parent section to re-set the listeners to the persisted measurement unit + parentElement.removeElementAndUpdate(null); } } } -- 2.34.1