X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2FOverviewDimensionsShowHidden.java;h=0bda56ecca1ed046f91b2134035f0a275eaa100e;hb=a57976ba40e1abe6d7c1940386e1a25419ef9c9d;hp=c4b69a86e37d1fc124b7fcc79163e59eea2cafa6;hpb=58fb14c48ecb086be7422f92addf14f930656523;p=jalview.git diff --git a/src/jalview/viewmodel/OverviewDimensionsShowHidden.java b/src/jalview/viewmodel/OverviewDimensionsShowHidden.java index c4b69a8..0bda56e 100644 --- a/src/jalview/viewmodel/OverviewDimensionsShowHidden.java +++ b/src/jalview/viewmodel/OverviewDimensionsShowHidden.java @@ -81,7 +81,9 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions int visXAsRes = hiddenCols.findColumnPosition(xAsRes); yAsSeq = hiddenSeqs.adjustForHiddenSeqs( hiddenSeqs.findIndexWithoutHiddenSeqs(yAsSeq)); + yAsSeq = Math.max(yAsSeq, 0); // -1 if before first visible sequence int visYAsSeq = hiddenSeqs.findIndexWithoutHiddenSeqs(yAsSeq); + visYAsSeq = Math.max(visYAsSeq, 0); // -1 if before first visible sequence // update viewport accordingly updateViewportFromTopLeft(visXAsRes, visYAsSeq, hiddenSeqs, hiddenCols); @@ -102,9 +104,7 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions int visYAsRes = hiddenSeqs.findIndexWithoutHiddenSeqs(vpy) + ydiff; // update viewport accordingly - updateViewportFromTopLeft(visXAsRes, visYAsRes, - hiddenSeqs, - hiddenCols); + updateViewportFromTopLeft(visXAsRes, visYAsRes, hiddenSeqs, hiddenCols); } @Override @@ -125,6 +125,11 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions visYAsSeq = 0; } + if (ranges.isWrappedMode()) + { + visYAsSeq = 0; // sorry, no vertical scroll when wrapped + } + // Determine where scrollCol should be, given visXAsRes // get viewport width in residues @@ -161,8 +166,8 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions // went past the end of the alignment, adjust backwards if (ranges.getEndSeq() < visAlignHeight) { - visYAsSeq = hiddenSeqs.findIndexWithoutHiddenSeqs(hiddenSeqs - .subtractVisibleRows(vpheight - 1, alheight - 1)); + visYAsSeq = hiddenSeqs.findIndexWithoutHiddenSeqs( + hiddenSeqs.subtractVisibleRows(vpheight - 1, alheight - 1)); } else { @@ -198,22 +203,21 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions int startSeq = hiddenSeqs.adjustForHiddenSeqs(ranges.getStartSeq()); int endSeq = hiddenSeqs.adjustForHiddenSeqs(ranges.getEndSeq()); - setBoxPosition(startRes, startSeq, endRes - startRes + 1, endSeq - - startSeq + 1); + setBoxPosition(startRes, startSeq, endRes - startRes + 1, + endSeq - startSeq + 1); } @Override public AlignmentColsCollectionI getColumns(AlignmentI al) { - return new AllColsCollection(0, - ranges.getAbsoluteAlignmentWidth() - 1, al); + return new AllColsCollection(0, ranges.getAbsoluteAlignmentWidth() - 1, + al); } @Override public AlignmentRowsCollectionI getRows(AlignmentI al) { - return new AllRowsCollection(0, - ranges.getAbsoluteAlignmentHeight() - 1, + return new AllRowsCollection(0, ranges.getAbsoluteAlignmentHeight() - 1, al); }