X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2FHiddenColumnsCursor.java;fp=src%2Fjalview%2Fdatamodel%2FHiddenColumnsCursor.java;h=7be6cca76a743c264c54559114b462c49e134537;hb=aee4f1ed59e360cfee845b480d6d85550b7e6d82;hp=7fa96c18af840c1827b7c66faf54835a3aa7872f;hpb=ea06b90e5c49d114c414d1e739a82694d0de12e7;p=jalview.git diff --git a/src/jalview/datamodel/HiddenColumnsCursor.java b/src/jalview/datamodel/HiddenColumnsCursor.java index 7fa96c1..7be6cca 100644 --- a/src/jalview/datamodel/HiddenColumnsCursor.java +++ b/src/jalview/datamodel/HiddenColumnsCursor.java @@ -99,8 +99,9 @@ public class HiddenColumnsCursor } if ((hiddenColumns.get(index)[0] <= column) - && (hiddenColumns.get(index)[1] >= column)) + && hiddenColumns.get(index)[1] >= column) { + // column is in the current region // we hit the jackpot // don't need to move index } @@ -109,26 +110,25 @@ public class HiddenColumnsCursor index = 0; hiddenCount = 0; } - /*else if (column > lastColumn) - { - index = hiddenColumns.size(); - // TODO resolve here - need full hidden count - }*/ + // column is after current region else if (column > hiddenColumns.get(index)[1]) // includes if column > // lastColumn { // iterate from where we are now, if we're lucky we'll be close by // (but still better than iterating from 0) + // stop when we find the region *before* column + // i.e. the next region starts after column or if not, ends after column while ((index < hiddenColumns.size()) - && (hiddenColumns.get(index)[0] <= column)) + && (column > hiddenColumns.get(index)[1])) { int[] region = hiddenColumns.get(index); hiddenCount += region[1] - region[0] + 1; index++; } - } - else // (column < hiddenColumns.get(regionIndex)[0]) + + // column is before current region + else if (column < hiddenColumns.get(index)[0]) { while ((index > 0) && (hiddenColumns.get(index)[1] > column)) {