X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=3349825bcbe82581726bcc269f80dbe991cb2c43;hb=197359781e7142ec6bcb53740831fc626c4675cd;hp=ac9368316e96238cb3ac0027b04515b4f32c99da;hpb=eb77addf49f8957e88b61f07ce36414c6619a221;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index ac93683..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[] @@ -1430,7 +1449,8 @@ public class SeqPanel extends JPanel implements MouseListener, if (stretchGroup.cs instanceof Blosum62ColourScheme || stretchGroup.cs instanceof PIDColourScheme - || stretchGroup.cs.conservationApplied()) + || stretchGroup.cs.conservationApplied() + || stretchGroup.cs.getThreshold()>0) stretchGroup.recalcConservation(); if (stretchGroup.cs.conservationApplied())