X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2FAlignmentViewport.java;h=a3b7527186f3341b5a9d77635ac346615cc8412a;hb=d131f05c68757d57e5e4a1f440196ae1b70f3b8a;hp=5617bcf74ff99064c521ff3d35f3087c727b31a0;hpb=1b2a573d7c93db57c3299d768f021c9096dffc67;p=jalview.git diff --git a/src/jalview/viewmodel/AlignmentViewport.java b/src/jalview/viewmodel/AlignmentViewport.java index 5617bcf..a3b7527 100644 --- a/src/jalview/viewmodel/AlignmentViewport.java +++ b/src/jalview/viewmodel/AlignmentViewport.java @@ -2501,14 +2501,14 @@ public abstract class AlignmentViewport implements AlignViewportI, */ 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; @@ -2531,7 +2531,12 @@ public abstract class AlignmentViewport implements AlignViewportI, 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)) @@ -2546,7 +2551,7 @@ public abstract class AlignmentViewport implements AlignViewportI, .findMappingsForSequence(sequence, mappings); if (!seqMappings.isEmpty()) { - break; + break; } }