Colour is a panel, not button
[jalview.git] / src / jalview / gui / SeqPanel.java
index 8387d35..3349825 100755 (executable)
@@ -286,6 +286,25 @@ public class SeqPanel extends JPanel implements MouseListener,
     {\r
       seqCanvas.cursorX += dx;\r
       seqCanvas.cursorY += dy;\r
+      if (av.hasHiddenColumns && !av.colSel.isVisible(seqCanvas.cursorX))\r
+      {\r
+        int original = seqCanvas.cursorX - dx;\r
+        int maxWidth = av.alignment.getWidth();\r
+\r
+        while(!av.colSel.isVisible(seqCanvas.cursorX)\r
+              && seqCanvas.cursorX<maxWidth\r
+              && seqCanvas.cursorX>0)\r
+        {\r
+          seqCanvas.cursorX += dx;\r
+        }\r
+\r
+        if(seqCanvas.cursorX>=maxWidth\r
+           || !av.colSel.isVisible(seqCanvas.cursorX) )\r
+        {\r
+          seqCanvas.cursorX = original;\r
+        }\r
+      }\r
+\r
       scrollToVisible();\r
     }\r
 \r
@@ -319,12 +338,12 @@ public class SeqPanel extends JPanel implements MouseListener,
         }\r
         if (!av.wrapAlignment)\r
         {\r
-          while (seqCanvas.cursorX < av.startRes)\r
+          while (seqCanvas.cursorX < av.colSel.adjustForHiddenColumns(av.startRes))\r
           {\r
             if (!ap.scrollRight(false))\r
               break;\r
           }\r
-          while (seqCanvas.cursorX > av.endRes)\r
+          while (seqCanvas.cursorX > av.colSel.adjustForHiddenColumns(av.endRes))\r
           {\r
             if (!ap.scrollRight(true))\r
               break;\r
@@ -1430,7 +1449,8 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
           if (stretchGroup.cs instanceof Blosum62ColourScheme\r
               || stretchGroup.cs instanceof PIDColourScheme\r
-              || stretchGroup.cs.conservationApplied())\r
+              || stretchGroup.cs.conservationApplied()\r
+              || stretchGroup.cs.getThreshold()>0)\r
             stretchGroup.recalcConservation();\r
 \r
           if (stretchGroup.cs.conservationApplied())\r