X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FSeqPanel.java;fp=src%2Fjalview%2Fappletgui%2FSeqPanel.java;h=347cceb7a88a0fcbfb2e2d4b1b573b830ee5d616;hb=2267fd4e6dd5e716ba5d89aef9c72c0bd21c6c0b;hp=0e12703b0bb7360e9e8583165c7fff48e38c2877;hpb=5312252fee162e6bc9bf5ac355930e16f1776c53;p=jalview.git diff --git a/src/jalview/appletgui/SeqPanel.java b/src/jalview/appletgui/SeqPanel.java index 0e12703..347cceb 100644 --- a/src/jalview/appletgui/SeqPanel.java +++ b/src/jalview/appletgui/SeqPanel.java @@ -223,24 +223,24 @@ public class SeqPanel extends Panel implements MouseMotionListener, endEditing(); if (av.getWrapAlignment()) { - ap.scrollToWrappedVisible(seqCanvas.cursorX); + av.getRanges().scrollToWrappedVisible(seqCanvas.cursorX); } else { ViewportRanges ranges = av.getRanges(); while (seqCanvas.cursorY < ranges.getStartSeq()) { - ap.scrollUp(true); + ranges.scrollUp(true); } while (seqCanvas.cursorY + 1 > ranges.getEndSeq()) { - ap.scrollUp(false); + ranges.scrollUp(false); } while (seqCanvas.cursorX < av.getColumnSelection() .adjustForHiddenColumns(ranges.getStartRes())) { - if (!ap.scrollRight(false)) + if (!ranges.scrollRight(false)) { break; } @@ -248,7 +248,7 @@ public class SeqPanel extends Panel implements MouseMotionListener, while (seqCanvas.cursorX > av.getColumnSelection() .adjustForHiddenColumns(ranges.getEndRes())) { - if (!ap.scrollRight(true)) + if (!ranges.scrollRight(true)) { break; } @@ -740,10 +740,16 @@ public class SeqPanel extends Panel implements MouseMotionListener, { if (av.isFollowHighlight()) { + // don't allow highlight of protein/cDNA to also scroll a complementary + // panel,as this sets up a feedback loop (scrolling panel 1 causes moused + // over residue to change abruptly, causing highlighted residue in panel 2 + // to change, causing a scroll in panel 1 etc) + ap.setFollowingComplementScroll(false); if (ap.scrollToPosition(results, true)) { ap.alignFrame.repaint(); } + ap.setFollowingComplementScroll(true); } setStatusMessage(results); seqCanvas.highlightSearchResults(results); @@ -1751,24 +1757,24 @@ public class SeqPanel extends Panel implements MouseMotionListener, if (mouseDragging && evt.getY() < 0 && av.getRanges().getStartSeq() > 0) { - running = ap.scrollUp(true); + running = av.getRanges().scrollUp(true); } if (mouseDragging && evt.getY() >= getSize().height && av.getAlignment().getHeight() > av.getRanges() .getEndSeq()) { - running = ap.scrollUp(false); + running = av.getRanges().scrollUp(false); } if (mouseDragging && evt.getX() < 0) { - running = ap.scrollRight(false); + running = av.getRanges().scrollRight(false); } else if (mouseDragging && evt.getX() >= getSize().width) { - running = ap.scrollRight(true); + running = av.getRanges().scrollRight(true); } }