Scroll cursor wrapped alignment
[jalview.git] / src / jalview / appletgui / SeqPanel.java
index 021a5dc..987b0b8 100755 (executable)
@@ -140,26 +140,32 @@ public class SeqPanel
 \r
 \r
      endEditing();\r
-     while (seqCanvas.cursorY < av.startSeq)\r
+     if (av.wrapAlignment)\r
      {\r
-       ap.scrollUp(true);\r
+       ap.scrollToWrappedVisible(seqCanvas.cursorX);\r
      }\r
-     while (seqCanvas.cursorY + 1 > av.endSeq)\r
-     {\r
-       ap.scrollUp(false);\r
-     }\r
-     while (seqCanvas.cursorX < av.startRes)\r
+     else\r
      {\r
+       while (seqCanvas.cursorY < av.startSeq)\r
+       {\r
+         ap.scrollUp(true);\r
+       }\r
+       while (seqCanvas.cursorY + 1 > av.endSeq)\r
+       {\r
+         ap.scrollUp(false);\r
+       }\r
+       while (seqCanvas.cursorX < av.startRes)\r
+       {\r
 \r
-       if(!ap.scrollRight(false))\r
-         break;\r
-     }\r
-     while (seqCanvas.cursorX > av.endRes)\r
-     {\r
-       if(!ap.scrollRight(true))\r
-         break;\r
+         if (!ap.scrollRight(false))\r
+           break;\r
+       }\r
+       while (seqCanvas.cursorX > av.endRes)\r
+       {\r
+         if (!ap.scrollRight(true))\r
+           break;\r
+       }\r
      }\r
-\r
      setStatusMessage(av.alignment.getSequenceAt(seqCanvas.cursorY),\r
                       seqCanvas.cursorX, seqCanvas.cursorY);\r
 \r
@@ -694,7 +700,7 @@ public class SeqPanel
               {\r
                 //We can still insert gaps if the selectionGroup\r
                 //contains all the sequences\r
-                sg.setEndRes(sg.getEndRes()+1+startres-lastres);\r
+                sg.setEndRes(sg.getEndRes()+startres-lastres);\r
                 fixedRight = av.alignment.getWidth()+startres-lastres;\r
               }\r
               else\r