ref #8450 Fix freeze column index
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 3 Dec 2019 08:14:42 +0000 (09:14 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 3 Dec 2019 08:14:42 +0000 (09:14 +0100)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java

index ef4523352531fcf55ad620ccf01dee4f5b1314a9..4c123405a012eda240858556055a637d69b5356b 100644 (file)
@@ -624,10 +624,17 @@ public class CharacterMatrix extends Composite {
     }
 
     void freezeSupplementalColumns(boolean freeze){
+        int rightMostFreezeColumIndex = LEADING_COLUMN_COUNT-1;
+        Collection<Integer> hiddenColumnIndexes = bodyLayer.getColumnHideShowLayer().getHiddenColumnIndexes();
+        for (Integer integer : hiddenColumnIndexes) {
+            if(integer<LEADING_COLUMN_COUNT){
+                rightMostFreezeColumIndex--;
+            }
+        }
         if(freeze){
             FreezeHelper.freeze(freezeLayer, bodyLayer.getViewportLayer(),
                     new PositionCoordinate(bodyLayer.getViewportLayer(), 0, 0),
-                    new PositionCoordinate(bodyLayer.getViewportLayer(), LEADING_COLUMN_COUNT-1, -1));
+                    new PositionCoordinate(bodyLayer.getViewportLayer(), rightMostFreezeColumIndex, -1));
         }
         else{
             FreezeHelper.unfreeze(freezeLayer, bodyLayer.getViewportLayer());