Merge branch 'Jalview-JS/JAL-3253-applet' of https://source.jalview.org/git/jalview...
[jalview.git] / src / jalview / datamodel / AllColsCollection.java
index 03f2fea..f3077fa 100644 (file)
@@ -22,26 +22,28 @@ package jalview.datamodel;
 
 import jalview.api.AlignmentColsCollectionI;
 
+import java.util.BitSet;
 import java.util.Iterator;
 
 public class AllColsCollection implements AlignmentColsCollectionI
 {
   int start;
+
   int end;
 
   HiddenColumns hidden;
-  
-  public AllColsCollection(int s, int e, HiddenColumns hiddenCols)
+
+  public AllColsCollection(int s, int e, AlignmentI al)
   {
     start = s;
     end = e;
-    hidden = hiddenCols;
+    hidden = al.getHiddenColumns();
   }
-  
+
   @Override
   public Iterator<Integer> iterator()
   {
-    return new AllColsIterator(start,end,hidden);
+    return new AllColsIterator(start, end, hidden);
   }
 
   @Override
@@ -49,4 +51,32 @@ public class AllColsCollection implements AlignmentColsCollectionI
   {
     return !hidden.isVisible(c);
   }
+
+  @Override
+  public boolean hasHidden()
+  {
+    return hidden.hasHiddenColumns();
+  }
+
+  private BitSet bsVisible;
+
+  @Override
+  public BitSet getHiddenBitSet()
+  {
+    return hidden.getBitset();
+  }
+
+  /**
+   * return ALL columns, not just the truly visible ones
+   */
+  @Override
+  public BitSet getOverviewBitSet()
+  {
+    if (bsVisible == null)
+    {
+      bsVisible = new BitSet(end + 1);
+      bsVisible.set(0, end + 1);
+    }
+    return bsVisible;
+  }
 }