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