X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=3349825bcbe82581726bcc269f80dbe991cb2c43;hb=197359781e7142ec6bcb53740831fc626c4675cd;hp=a4c22795c7878bc5b190b21d474ae7534c7edea1;hpb=ecb5ab32cb7599f6665117ad4e25c61f0a650720;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index a4c2279..3349825 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -286,6 +286,25 @@ public class SeqPanel extends JPanel implements MouseListener, { seqCanvas.cursorX += dx; seqCanvas.cursorY += dy; + if (av.hasHiddenColumns && !av.colSel.isVisible(seqCanvas.cursorX)) + { + int original = seqCanvas.cursorX - dx; + int maxWidth = av.alignment.getWidth(); + + while(!av.colSel.isVisible(seqCanvas.cursorX) + && seqCanvas.cursorX0) + { + seqCanvas.cursorX += dx; + } + + if(seqCanvas.cursorX>=maxWidth + || !av.colSel.isVisible(seqCanvas.cursorX) ) + { + seqCanvas.cursorX = original; + } + } + scrollToVisible(); } @@ -319,12 +338,12 @@ public class SeqPanel extends JPanel implements MouseListener, } if (!av.wrapAlignment) { - while (seqCanvas.cursorX < av.startRes) + while (seqCanvas.cursorX < av.colSel.adjustForHiddenColumns(av.startRes)) { if (!ap.scrollRight(false)) break; } - while (seqCanvas.cursorX > av.endRes) + while (seqCanvas.cursorX > av.colSel.adjustForHiddenColumns(av.endRes)) { if (!ap.scrollRight(true)) break; @@ -1221,7 +1240,7 @@ public class SeqPanel extends JPanel implements MouseListener, features[0].getEnd()); seqCanvas.highlightSearchResults(highlight); } - if(features!=null) + if(features!=null && features.length>0) { seqCanvas.getFeatureRenderer().amendFeatures( new SequenceI[] @@ -1428,11 +1447,16 @@ public class SeqPanel extends JPanel implements MouseListener, stretchGroup.getWidth()); } + if (stretchGroup.cs instanceof Blosum62ColourScheme + || stretchGroup.cs instanceof PIDColourScheme + || stretchGroup.cs.conservationApplied() + || stretchGroup.cs.getThreshold()>0) + stretchGroup.recalcConservation(); + if (stretchGroup.cs.conservationApplied()) { SliderPanel.setConservationSlider(ap, stretchGroup.cs, stretchGroup.getName()); - stretchGroup.recalcConservation(); } else {