X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2FAlignmentViewport.java;h=ea6c6f8c401a7c06f55e810dc744554dedc045f1;hb=83be20f1d8274aa0044acc72c427abef766d8dd1;hp=44dfe8d0fe96b969b81b0bdc0329485fca68348f;hpb=62086b8b7a0b9436c445a94bfab5eff253adb6d5;p=jalview.git diff --git a/src/jalview/viewmodel/AlignmentViewport.java b/src/jalview/viewmodel/AlignmentViewport.java index 44dfe8d..ea6c6f8 100644 --- a/src/jalview/viewmodel/AlignmentViewport.java +++ b/src/jalview/viewmodel/AlignmentViewport.java @@ -67,6 +67,7 @@ import java.util.BitSet; import java.util.Deque; import java.util.HashMap; import java.util.Hashtable; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -1740,8 +1741,12 @@ public abstract class AlignmentViewport if (alignment.getHiddenColumns() != null && alignment.getHiddenColumns().hasHiddenColumns()) { - selection = alignment.getHiddenColumns() - .getVisibleSequenceStrings(start, end, seqs); + for (i = 0; i < iSize; i++) + { + Iterator blocks = alignment.getHiddenColumns() + .getVisContigsIterator(start, end + 1, false); + selection[i] = seqs[i].getSequenceStringFromIterator(blocks); + } } else { @@ -1771,7 +1776,7 @@ public abstract class AlignmentViewport start = hidden.visibleToAbsoluteColumn(start); } - end = hidden.getHiddenBoundaryRight(start); + end = hidden.getNextHiddenBoundary(false, start); if (start == end) { end = max; @@ -1787,7 +1792,7 @@ public abstract class AlignmentViewport if (hidden != null && hidden.hasHiddenColumns()) { start = hidden.visibleToAbsoluteColumn(end); - start = hidden.getHiddenBoundaryLeft(start) + 1; + start = hidden.getNextHiddenBoundary(true, start) + 1; } } while (end < max); @@ -2781,7 +2786,7 @@ public abstract class AlignmentViewport int lastSeq = alignment.getHeight() - 1; List seqMappings = null; for (int seqNo = ranges - .getStartSeq(); seqNo < lastSeq; seqNo++, seqOffset++) + .getStartSeq(); seqNo <= lastSeq; seqNo++, seqOffset++) { sequence = getAlignment().getSequenceAt(seqNo); if (hiddenSequences != null && hiddenSequences.isHidden(sequence)) @@ -2949,4 +2954,25 @@ public abstract class AlignmentViewport { return currentTree; } + + List highlightedSeqs = null; + + /** + * Highlight the IDs for the given sequences call alignPanel.repaint() to + * update view after setting. + * + * @param list + * List + */ + @Override + public void setHighlightedSeqs(List list) + { + highlightedSeqs = list; + } + + @Override + public List getHighlightedSeqs() + { + return highlightedSeqs; + } }