X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2FHiddenColumns.java;h=3685ab0ededfb7c249f412b1bdce9e7d67cf99f0;hb=0e65ec37e2c956e0ad94feda6fd07b7c3a9003ee;hp=1abd04be187a358609df1b297375fca5c183a826;hpb=b70c7ff4b002103401ccceb917114b954e18d50c;p=jalview.git diff --git a/src/jalview/datamodel/HiddenColumns.java b/src/jalview/datamodel/HiddenColumns.java index 1abd04b..3685ab0 100644 --- a/src/jalview/datamodel/HiddenColumns.java +++ b/src/jalview/datamodel/HiddenColumns.java @@ -21,12 +21,35 @@ public class HiddenColumns * * @return empty list or List of hidden column intervals */ - public List getListOfCols() + public List getHiddenRegions() { return hiddenColumns == null ? Collections. emptyList() : hiddenColumns; } + /** + * Find the number of hidden columns + * + * @return number of hidden columns + */ + public int getSize() + { + int size = 0; + if (hasHidden()) + { + for (int[] range : hiddenColumns) + { + size += range[1] - range[0] + 1; + } + } + return size; + } + + /** + * Answers if there are any hidden columns + * + * @return true if there are hidden columns + */ public boolean hasHidden() { return (hiddenColumns != null) && (!hiddenColumns.isEmpty()); @@ -544,7 +567,7 @@ public class HiddenColumns if (hiddenColumns != null && hiddenColumns.size() > 0) { List visiblecontigs = new ArrayList(); - List regions = getListOfCols(); + List regions = getHiddenRegions(); int vstart = start; int[] region; @@ -598,7 +621,7 @@ public class HiddenColumns for (i = 0; i < iSize; i++) { StringBuffer visibleSeq = new StringBuffer(); - List regions = getListOfCols(); + List regions = getHiddenRegions(); int blockStart = start, blockEnd = end; int[] region; @@ -671,7 +694,7 @@ public class HiddenColumns // Simply walk along the sequence whilst watching for hidden column // boundaries - List regions = getListOfCols(); + List regions = getHiddenRegions(); int spos = fpos, lastvispos = -1, rcount = 0, hideStart = seq .getLength(), hideEnd = -1; int visPrev = 0, visNext = 0, firstP = -1, lastP = -1; @@ -765,7 +788,7 @@ public class HiddenColumns // then mangle the alignmentAnnotation annotation array Vector annels = new Vector(); Annotation[] els = null; - List regions = getListOfCols(); + List regions = getHiddenRegions(); int blockStart = start, blockEnd = end; int[] region; int hideStart, hideEnd, w = 0; @@ -1224,9 +1247,10 @@ public class HiddenColumns /** * Returns a hashCode built from hidden column ranges */ - public int hashCode(int hc) + @Override + public int hashCode() { - int hashCode = hc; + int hashCode = 1; if (hiddenColumns != null) { for (int[] hidden : hiddenColumns)