X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FSeqPanel.java;h=dfc236e23e6dca7c0946ca30eb2e25c9f0413b51;hb=3261dc1e0830659cf50d975f19177894af778ecd;hp=e6ed8f295dbfa9c5ee61026ca85cd2fb59c749c2;hpb=8b80cdbcd6ca4928049ec518a61d10ce90c21cab;p=jalview.git diff --git a/src/jalview/appletgui/SeqPanel.java b/src/jalview/appletgui/SeqPanel.java index e6ed8f2..dfc236e 100755 --- a/src/jalview/appletgui/SeqPanel.java +++ b/src/jalview/appletgui/SeqPanel.java @@ -639,11 +639,15 @@ public class SeqPanel extends Panel implements MouseMotionListener, public void highlightSequence(SearchResults results) { - seqCanvas.highlightSearchResults(results); if (av.followHighlight) { - ap.scrollToPosition(results); + if (ap.scrollToPosition(results, false)) + { + // ap.invalidate(); + } } + seqCanvas.highlightSearchResults(results); + } public void updateColours(SequenceI seq, int index) @@ -1683,6 +1687,7 @@ public class SeqPanel extends Panel implements MouseMotionListener, } } } + /** * modify current selection according to a received message. */ @@ -1693,9 +1698,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, // handles selection messages... // TODO: extend config options to allow user to control if selections may be // shared between viewports. - if (av!=null && (av == source - || !av.followSelection - || (source instanceof AlignViewport && ((AlignViewport) source) + if (av != null + && (av == source || !av.followSelection || (source instanceof AlignViewport && ((AlignViewport) source) .getSequenceSetId().equals(av.getSequenceSetId())))) { return; @@ -1708,13 +1712,15 @@ public class SeqPanel extends Panel implements MouseMotionListener, if (av.selectionGroup == null || !av.isSelectionGroupChanged()) { SequenceGroup sgroup = null; - if (seqsel != null) + if (seqsel != null && seqsel.getSize()>0) { if (av.alignment == null) { - System.out.println("Selection message: alignviewport av SeqSetId=" - + av.getSequenceSetId() + " ViewId=" + av.getViewId() - + " 's alignment is NULL! returning immediatly."); + System.out + .println("Selection message: alignviewport av SeqSetId=" + + av.getSequenceSetId() + " ViewId=" + + av.getViewId() + + " 's alignment is NULL! returning immediatly."); return; } sgroup = seqsel.intersect(av.alignment, @@ -1768,9 +1774,8 @@ public class SeqPanel extends Panel implements MouseMotionListener, } if (repaint) { - // probably finessing with multiple redraws here - PaintRefresher.Refresh(this, av.getSequenceSetId()); - // ap.paintAlignment(false); + ap.repaint(); + //ap.paintAlignment(false); } }