}
/**
+ * 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()
/**
* Returns a read-only view of the (possibly empty) list of selected columns
+ * (base 1)
* <p>
- * The list contains no duplicates but is not necessarily ordered. It also may
- * include columns hidden from the current view. To modify (for example sort)
- * the list, you should first make a copy.
+ * The list contains no duplicates but is not necessarily ordered. Columns are
+ * reported in alignment coordinates (base 1), so may also include columns
+ * hidden from the current view. To modify (for example sort) the list, you
+ * should first make a copy.
* <p>
* The list is not thread-safe: iterating over it could result in
* ConcurrentModificationException if it is modified by another thread.