Alignment might not have any annotations
[jalview.git] / src / jalview / appletgui / AlignmentPanel.java
index e0c327f..cc89098 100755 (executable)
@@ -219,19 +219,25 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
         }\r
         else\r
         {\r
-          int cwidth = seqPanel.seqCanvas.getWrappedCanvasWidth(seqPanel.\r
-              seqCanvas.getSize().width);\r
-          if (start < av.getStartRes() || start > (av.getStartRes() + cwidth))\r
-          {\r
-            vscroll.setValue(start / cwidth);\r
-            av.startRes = vscroll.getValue() * cwidth;\r
-          }\r
+          scrollToWrappedVisible(start);\r
         }\r
     }\r
 \r
     repaint();\r
   }\r
 \r
+  void scrollToWrappedVisible(int res)\r
+  {\r
+    int cwidth = seqPanel.seqCanvas.getWrappedCanvasWidth(seqPanel.seqCanvas.\r
+        getWidth());\r
+    if (res <= av.getStartRes() || res >= (av.getStartRes() + cwidth))\r
+    {\r
+      vscroll.setValue(res / cwidth);\r
+      av.startRes = vscroll.getValue() * cwidth;\r
+    }\r
+  }\r
+\r
+\r
   public OverviewPanel getOverviewPanel()\r
   {\r
     return overviewPanel;\r
@@ -306,14 +312,14 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       }\r
       setScrollValues(hscroll.getValue(), vscroll.getValue()+1);\r
     }\r
+\r
     repaint();\r
     return true;\r
   }\r
 \r
   public boolean scrollRight(boolean right)\r
   {\r
-\r
-    if (right)\r
+    if (!right)\r
     {\r
       if (hscroll.getValue() < 1)\r
       {\r
@@ -381,6 +387,9 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     av.setEndSeq(endSeq);\r
     hscroll.setValues(x, hextent, 0, av.getAlignment().getWidth());\r
     vscroll.setValues(y, vextent, 0, av.getAlignment().getHeight());\r
+\r
+    if(overviewPanel!=null)\r
+          overviewPanel.setBoxPosition();\r
   }\r
 \r
   public void adjustmentValueChanged(AdjustmentEvent evt)\r