*/
protected int findComplementScrollTarget(SearchResults sr)
{
- final AlignViewportI codingComplement = getCodingComplement();
- if (codingComplement == null || !codingComplement.isFollowHighlight())
+ final AlignViewportI complement = getCodingComplement();
+ if (complement == null || !complement.isFollowHighlight())
{
return 0;
}
boolean iAmProtein = !getAlignment().isNucleotide();
AlignmentI proteinAlignment = iAmProtein ? getAlignment()
- : codingComplement.getAlignment();
+ : complement.getAlignment();
if (proteinAlignment == null)
{
return 0;
int middleColumn = getStartRes() + (getEndRes() - getStartRes()) / 2;
final HiddenSequences hiddenSequences = getAlignment()
.getHiddenSequences();
- for (int seqNo = getStartSeq(); seqNo < getEndSeq(); seqNo++, seqOffset++)
+
+ /*
+ * searching to the bottom of the alignment gives smoother scrolling across all gapped visible regions
+ */
+ int lastSeq = alignment.getHeight() - 1;
+ for (int seqNo = getStartSeq(); seqNo < lastSeq; seqNo++, seqOffset++)
{
sequence = getAlignment().getSequenceAt(seqNo);
if (hiddenSequences != null && hiddenSequences.isHidden(sequence))
.findMappingsForSequence(sequence, mappings);
if (!seqMappings.isEmpty())
{
- break;
+ break;
}
}