Merge branch 'develop' into spike/JAL-4047/JAL-4048_columns_in_sequenceID
[jalview.git] / src / jalview / datamodel / ColumnSelection.java
index 6ee324f..4a38ec0 100644 (file)
@@ -278,6 +278,27 @@ public class ColumnSelection
   }
 
   /**
+   * add a series of start,end (inclusive) ranges to the column selection
+   * 
+   * @param rng
+   *          [start_0, end_0, start_1, end_1, ... ]
+   * @param baseOne
+   *          - when true, ranges are base 1 and will be mapped to base 0
+   */
+  public void addRangeOfElements(int[] rng, boolean baseOne)
+  {
+    int base = baseOne ? -1 : 0;
+    for (int c = 0; c < rng.length; c += 2)
+    {
+      for (int p = rng[c]; p <= rng[c + 1]; p++)
+      {
+        selection.add(base + p);
+      }
+    }
+
+  }
+
+  /**
    * clears column selection
    */
   public void clear()
@@ -586,8 +607,8 @@ public class ColumnSelection
           int cpos = ann_row.sequenceRef.findPosition(column) - 1;
           ContactListI clist = ann_row.sequenceRef
                   .getContactListFor(ann_row, cpos);
-          for (int row = column + 8,
-                  rowEnd = clist.getContactHeight(); row < rowEnd; row++)
+          for (int row = column + 8, rowEnd = clist
+                  .getContactHeight(); row < rowEnd; row++)
           {
             if (filterParams
                     .getThresholdType() == AnnotationFilterParameter.ThresholdType.ABOVE_THRESHOLD