JAL-147 prevent vertical Overview box movement in wrapped mode
[jalview.git] / src / jalview / viewmodel / OverviewDimensionsHideHidden.java
index 9236151..4d64f1c 100644 (file)
@@ -39,6 +39,11 @@ public class OverviewDimensionsHideHidden extends OverviewDimensions
       y = 0;
     }
 
+    if (ranges.isWrappedMode())
+    {
+      y = 0; // sorry, no vertical scroll when wrapped
+    }
+
     //
     // Convert x value to residue position
     //
@@ -58,13 +63,13 @@ public class OverviewDimensionsHideHidden extends OverviewDimensions
       // went past the end of the alignment, adjust backwards
 
       // if last position was before the end of the alignment, need to update
-      if ((ranges.getEndRes() + vpwidth - 1) < alwidth)
+      if (ranges.getStartRes() < alwidth)
       {
         xAsRes = alwidth - vpwidth;
       }
       else
       {
-        xAsRes = ranges.getEndRes();
+        xAsRes = ranges.getStartRes();
       }
     }
 
@@ -83,13 +88,13 @@ public class OverviewDimensionsHideHidden extends OverviewDimensions
     if (yAsSeq + vpheight > alheight)
     {
       // went past the end of the alignment, adjust backwards
-      if ((ranges.getEndSeq() + vpheight - 1) < alheight)
+      if (ranges.getEndSeq() < alheight)
       {
         yAsSeq = alheight - vpheight;
       }
       else
       {
-        yAsSeq = ranges.getEndSeq();
+        yAsSeq = ranges.getStartSeq();
       }
     }
 
@@ -103,15 +108,8 @@ public class OverviewDimensionsHideHidden extends OverviewDimensions
   public void setBoxPosition(HiddenSequences hiddenSeqs,
           HiddenColumns hiddenCols)
   {
-    // work with visible values of startRes and endRes
-    int startRes = ranges.getStartRes();
-    int endRes = ranges.getEndRes();
-
-    // work with visible values of startSeq and endSeq
-    int startSeq = ranges.getStartSeq();
-    int endSeq = ranges.getEndSeq();
-
-    setBoxPosition(startRes, endRes, startSeq, endSeq);
+    setBoxPosition(ranges.getStartRes(), ranges.getStartSeq(),
+            ranges.getViewportWidth(), ranges.getViewportHeight());
   }
 
   @Override