X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FColumnSelection.java;h=55c055c46d5546a5613ca18c7e5352ba8fbe0974;hb=62df38e7204f2903d1b4e5aaef7762acf96f317d;hp=02810a4ce59d4c6530a0e77ef2189510e26ee3fa;hpb=3098f4ad5ced6a2dce2327dfa8547c6c0b129e13;p=jalview.git diff --git a/src/jalview/gui/ColumnSelection.java b/src/jalview/gui/ColumnSelection.java index 02810a4..55c055c 100755 --- a/src/jalview/gui/ColumnSelection.java +++ b/src/jalview/gui/ColumnSelection.java @@ -20,7 +20,6 @@ package jalview.gui; import java.util.*; - /** * NOTE: Columns are zero based. */ @@ -262,6 +261,56 @@ public class ColumnSelection return result; } + /** + * THis method returns the rightmost limit of a + * region of an alignment with hidden columns. + * In otherwords, the next hidden column. + * @param index int + */ + public int getHiddenBoundaryRight(int alPos) + { + if (hiddenColumns != null) + { + int index = 0; + do + { + int[] region = (int[]) hiddenColumns.elementAt(index); + if(alPos < region[0]) + return region[0]; + + index++; + } + while(index < hiddenColumns.size()); + } + + return alPos; + + } + /** + * THis method returns the rightmost limit of a + * region of an alignment with hidden columns. + * In otherwords, the next hidden column. + * @param index int + */ + public int getHiddenBoundaryLeft(int alPos) + { + if (hiddenColumns != null) + { + int index = hiddenColumns.size()-1; + do + { + int[] region = (int[]) hiddenColumns.elementAt(index); + if(alPos > region[1]) + return region[1]; + + index--; + } + while(index >-1); + } + + return alPos; + + } public void hideColumns(int res, AlignViewport av) @@ -299,6 +348,12 @@ public class ColumnSelection av.hasHiddenColumns = true; } + public void revealAllHiddenColumns(AlignViewport av) + { + av.hasHiddenColumns = false; + hiddenColumns = null; + } + public void revealHiddenColumns(int res, AlignViewport av) { for(int i=0; i= region[0] && column <= region[1]) + { + return false; + } + } + return true; + } + }