X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignmentPanel.java;h=8c935992ed529e658cc29d37de942ccc87518a7f;hb=37a5dfc3c72a42689e90ad8a0e118e8855d9868b;hp=b1a8b8bb2cbc279772ba7c5bca5158274fd8c232;hpb=739be60490b5c6efe5237ff12605baa6b38035f4;p=jalview.git diff --git a/src/jalview/appletgui/AlignmentPanel.java b/src/jalview/appletgui/AlignmentPanel.java index b1a8b8b..8c93599 100755 --- a/src/jalview/appletgui/AlignmentPanel.java +++ b/src/jalview/appletgui/AlignmentPanel.java @@ -341,30 +341,38 @@ public class AlignmentPanel extends Panel implements AdjustmentListener public void setScrollValues(int x, int y) { + int width = av.alignment.getWidth(); + int height = av.alignment.getHeight(); + + if(av.hasHiddenColumns) + width = av.getColumnSelection().findColumnPosition(width); + av.setStartRes(x); av.setStartSeq(y); - av.setEndRes(x + seqPanel.seqCanvas.getSize().width / av.getCharWidth() - 1); + + av.setEndRes( (x + (seqPanel.seqCanvas.getSize().width / av.charWidth)) -1); hextent = seqPanel.seqCanvas.getSize().width / av.charWidth; vextent = seqPanel.seqCanvas.getSize().height / av.charHeight; - if (hextent > av.alignment.getWidth()) + if (hextent > width) { - hextent = av.alignment.getWidth(); + hextent = width; } - if (vextent > av.alignment.getHeight()) + + if (vextent > height) { - vextent = av.alignment.getHeight(); + vextent = height; } - if (hextent + x > av.getAlignment().getWidth()) + if ( (hextent + x) > width) { - x = av.getAlignment().getWidth() - hextent; + x = width - hextent; } - if (vextent + y > av.getAlignment().getHeight()) + if ( (vextent + y) > height) { - y = av.getAlignment().getHeight() - vextent; + y = height - vextent; } if (y < 0) @@ -389,6 +397,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener if(overviewPanel!=null) overviewPanel.setBoxPosition(); + } public void adjustmentValueChanged(AdjustmentEvent evt) @@ -477,9 +486,15 @@ public class AlignmentPanel extends Panel implements AdjustmentListener if (av.getWrapAlignment()) { - int max = av.alignment.getWidth() / - seqPanel.seqCanvas. - getWrappedCanvasWidth(seqPanel.seqCanvas.getSize().width) +1; + int maxwidth = av.alignment.getWidth(); + + if (av.hasHiddenColumns) + maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1; + + int max = maxwidth / + seqPanel.seqCanvas.getWrappedCanvasWidth(seqPanel.seqCanvas.getSize().width) + + 1; + vscroll.setMaximum(max); vscroll.setUnitIncrement(1); vscroll.setVisibleAmount(1);