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