JAL-2759 Changes to getVisibleSequenceStrings after review
[jalview.git] / src / jalview / viewmodel / AlignmentViewport.java
index 44dfe8d..01ec8b1 100644 (file)
@@ -67,6 +67,7 @@ import java.util.BitSet;
 import java.util.Deque;
 import java.util.HashMap;
 import java.util.Hashtable;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -1740,8 +1741,12 @@ public abstract class AlignmentViewport
     if (alignment.getHiddenColumns() != null
             && alignment.getHiddenColumns().hasHiddenColumns())
     {
-      selection = alignment.getHiddenColumns()
-              .getVisibleSequenceStrings(start, end, seqs);
+      for (i = 0; i < iSize; i++)
+      {
+        Iterator<int[]> blocks = alignment.getHiddenColumns()
+                .getVisContigsIterator(start, end + 1, false);
+        selection[i] = seqs[i].getSequenceStringFromIterator(blocks);
+      }
     }
     else
     {
@@ -1771,7 +1776,7 @@ public abstract class AlignmentViewport
           start = hidden.visibleToAbsoluteColumn(start);
         }
 
-        end = hidden.getHiddenBoundaryRight(start);
+        end = hidden.getNextHiddenBoundary(false, start);
         if (start == end)
         {
           end = max;
@@ -1787,7 +1792,7 @@ public abstract class AlignmentViewport
       if (hidden != null && hidden.hasHiddenColumns())
       {
         start = hidden.visibleToAbsoluteColumn(end);
-        start = hidden.getHiddenBoundaryLeft(start) + 1;
+        start = hidden.getNextHiddenBoundary(true, start) + 1;
       }
     } while (end < max);