From: jprocter Date: Tue, 24 Feb 2009 17:52:48 +0000 (+0000) Subject: change method signature to allow caller to test if panel actually scrolled or not X-Git-Tag: Release_2_5~339 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=106634777c0910504d9c1617d6307b70581fd3c8;p=jalview.git change method signature to allow caller to test if panel actually scrolled or not --- diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index eaa685d..bbd9f72 100755 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -236,39 +236,42 @@ public class AlignmentPanel extends GAlignmentPanel implements * region in results (if any) and redraw the overview * @param results */ - public void scrollToPosition(SearchResults results) { - scrollToPosition(results, true); + public boolean scrollToPosition(SearchResults results) { + return scrollToPosition(results, true); } /** * scroll the view to show the position of the highlighted * region in results (if any) * @param results * @param redrawOverview - when set, the overview will be recalculated (takes longer) + * @return false if results were not found */ - public void scrollToPosition(SearchResults results, boolean redrawOverview) { + public boolean scrollToPosition(SearchResults results, boolean redrawOverview) { + // TODO: properly locate search results in view when large numbers of hidden columns exist before highlighted region // do we need to scroll the panel? if (results != null && results.getSize()>0) { int seqIndex = av.alignment.findIndex(results); if (seqIndex==-1) { - return; + return false; } SequenceI seq = av.alignment.getSequenceAt(seqIndex); + int [] r = results.getResults(seq, seq.getStart(), seq.getEnd()); if (r==null) { - return; + return false; } int start = r[0]; int end = r[1]; if (start<0) { - return; + return false; } if (end==seq.getEnd()) { - return; + return false; } if (!av.wrapAlignment) { @@ -291,6 +294,7 @@ public class AlignmentPanel extends GAlignmentPanel implements overviewPanel.setBoxPosition(); } paintAlignment(!redrawOverview); + return true; } void scrollToWrappedVisible(int res)