public boolean scrollToPosition(SearchResultsI results,
boolean redrawOverview)
{
- return scrollToPosition(results, redrawOverview, false);
+ return scrollToPosition(results, 0, redrawOverview, false);
}
/**
* @return false if results were not found
*/
public boolean scrollToPosition(SearchResultsI results,
+ int verticalOffset,
boolean redrawOverview, boolean centre)
{
// do we need to scroll the panel?
{
return false;
}
+ /*
+ * allow for offset of target sequence (actually scroll to one above it)
+ */
+
SequenceI seq = alignment.getSequenceAt(seqIndex);
int[] r = results.getResults(seq, 0, alignment.getWidth());
if (r == null)
{
return false;
}
+
+ /*
+ * allow for offset of target sequence (actually scroll to one above it)
+ */
+ seqIndex = Math.max(0, seqIndex - verticalOffset);
return scrollTo(start, end, seqIndex, false, redrawOverview);
}
return true;
{
start = ostart;
}
+
if (!av.getWrapAlignment())
{
/*
{
return; // failsafe, shouldn't happen
}
- sequenceIndex = Math.max(0, sequenceIndex - seqOffset);
- sr.getResults().get(0)
- .setSequence(av.getAlignment().getSequenceAt(sequenceIndex));
/*
* Scroll to position but centring the target residue. Also set a state flag
* to prevent adjustmentValueChanged performing this recursively.
*/
setFollowingComplementScroll(true);
- scrollToPosition(sr, true, true);
+ // this should be scrollToPosition(sr,verticalOffset,
+ scrollToPosition(sr, seqOffset, true, true);
}
private void sendViewPosition()