From 5decc8b93dc4e0e99c1acba852b7dee27cd5330c Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Tue, 16 Apr 2019 15:56:45 +0200 Subject: [PATCH] ref #8242 Set max items for dropdown to 10 + sort items --- .../editor/descriptiveDataSet/matrix/CharacterMatrix.java | 2 ++ .../matrix/categorical/CategoricalComboBoxDataProvider.java | 5 ----- .../matrix/categorical/CategoricalDataCellEditor.java | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java index 774f66b46..b1d5c05d7 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java @@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix; import java.io.File; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -291,6 +292,7 @@ public class CharacterMatrix extends Composite { if(character.isSupportsCategoricalData()){ List supportedStates = new ArrayList<>(); character.getSupportedCategoricalEnumerations().forEach(voc->supportedStates.addAll(voc.getTerms())); + Collections.sort(supportedStates, (state1, state2)->state1.getLabel().compareTo(state2.getLabel())); categoricalFeatureToStateMap.put(character, supportedStates); } }); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalComboBoxDataProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalComboBoxDataProvider.java index 4985a9a0f..feb256ca9 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalComboBoxDataProvider.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalComboBoxDataProvider.java @@ -25,7 +25,6 @@ import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.CharacterMatrix; public class CategoricalComboBoxDataProvider implements IComboBoxDataProvider { private CharacterMatrix matrix; - private int maxVisibleItems; public CategoricalComboBoxDataProvider(CharacterMatrix matrix) { super(); @@ -36,11 +35,7 @@ public class CategoricalComboBoxDataProvider implements IComboBoxDataProvider { public List getValues(int columnIndex, int rowIndex) { Feature feature = matrix.getIndexToCharacterMap().get(columnIndex); List supportedStatesForCategoricalFeature = matrix.getSupportedStatesForCategoricalFeature(feature); - maxVisibleItems = Math.max(3, Math.min(supportedStatesForCategoricalFeature.size()-1, 10)); return supportedStatesForCategoricalFeature; } - int getMaxVisibleItems(){ - return maxVisibleItems; - } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalDataCellEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalDataCellEditor.java index f29abe64d..6435880a0 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalDataCellEditor.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/categorical/CategoricalDataCellEditor.java @@ -30,7 +30,7 @@ public class CategoricalDataCellEditor extends ComboBoxCellEditor{ private CharacterMatrix matrix; public CategoricalDataCellEditor(CharacterMatrix matrix, CategoricalComboBoxDataProvider categoricalComboBoxDataProvider) { - super(categoricalComboBoxDataProvider, categoricalComboBoxDataProvider.getMaxVisibleItems()); + super(categoricalComboBoxDataProvider, 10); this.matrix = matrix; setUseCheckbox(true); setMultiselect(true); -- 2.34.1