ref #8335 Add default state to table states
authorPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 20 Jun 2019 11:27:32 +0000 (13:27 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 20 Jun 2019 11:27:32 +0000 (13:27 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixToolbar.java

index c6f8b2f4867a44b5d7ad81143d002517c2c8c23c..98e1745aa4bf02cf9190f737b9f36657bbf13d4c 100644 (file)
@@ -22,6 +22,7 @@ import java.util.stream.Collectors;
 import javax.inject.Inject;
 
 import org.apache.commons.collections4.map.LinkedMap;
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.core.runtime.ICoreRunnable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.SubMonitor;
@@ -54,7 +55,6 @@ import org.eclipse.nebula.widgets.nattable.freeze.CompositeFreezeLayer;
 import org.eclipse.nebula.widgets.nattable.freeze.FreezeHelper;
 import org.eclipse.nebula.widgets.nattable.freeze.FreezeLayer;
 import org.eclipse.nebula.widgets.nattable.grid.GridRegion;
-import org.eclipse.nebula.widgets.nattable.grid.command.ClientAreaResizeCommand;
 import org.eclipse.nebula.widgets.nattable.grid.data.DefaultColumnHeaderDataProvider;
 import org.eclipse.nebula.widgets.nattable.grid.data.DefaultCornerDataProvider;
 import org.eclipse.nebula.widgets.nattable.grid.data.DefaultRowHeaderDataProvider;
@@ -69,6 +69,7 @@ import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
 import org.eclipse.nebula.widgets.nattable.layer.ILayer;
 import org.eclipse.nebula.widgets.nattable.layer.cell.ColumnOverrideLabelAccumulator;
 import org.eclipse.nebula.widgets.nattable.layer.stack.DefaultBodyLayerStack;
+import org.eclipse.nebula.widgets.nattable.persistence.gui.PersistenceDialog;
 import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
 import org.eclipse.nebula.widgets.nattable.sort.SortHeaderLayer;
 import org.eclipse.nebula.widgets.nattable.sort.config.SingleClickSortConfiguration;
@@ -268,8 +269,14 @@ public class CharacterMatrix extends Composite {
         new CategoricalChartTooltip(this);
         new QuantitativeChartTooltip(this);
 
+
         this.layout();
-        natTable.doCommand(new ClientAreaResizeCommand(natTable));
+//        natTable.doCommand(new ClientAreaResizeCommand(natTable));
+
+//        load active table state
+        String activeState = getNatTableState().getProperty(PersistenceDialog.ACTIVE_VIEW_CONFIGURATION_KEY);
+        natTable.loadState(activeState!=null?activeState:StringUtils.EMPTY, getNatTableState());
+        getNatTableState().remove(NatTable.INITIAL_PAINT_COMPLETE_FLAG);
     }
 
     private List<Character> initCharacterList(FeatureNode<Character> node){
index 0021eefdbf7a2882d220df9fe1b7f60661fa837d..795475a7aac8ba6ebd9d10a2ed33678f09622085 100644 (file)
@@ -14,6 +14,7 @@ import java.util.Collection;
 import java.util.Properties;
 import java.util.function.Consumer;
 
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ComboViewer;
 import org.eclipse.jface.viewers.LabelProvider;
@@ -181,6 +182,11 @@ public class CharacterMatrixToolbar extends Composite {
 
         // create a combobox for showing the available view states
         Collection<String> availableStates = PersistenceHelper.getAvailableStates(natTableState);
+        if(availableStates.isEmpty()){
+            natTableState.put(StringUtils.EMPTY, StringUtils.EMPTY); // add default config if no states are persisted
+            natTableState.setProperty(PersistenceDialog.ACTIVE_VIEW_CONFIGURATION_KEY, StringUtils.EMPTY);
+            availableStates.add(StringUtils.EMPTY);
+        }
         comboStates.setLabelProvider(new LabelProvider(){
             @Override
             public String getText(Object element) {