Merge branch 'releases/Release_2_11_3_Branch'
[jalview.git] / src / jalview / gui / IdwidthAdjuster.java
index 4596e1f..029f184 100755 (executable)
@@ -132,7 +132,7 @@ public class IdwidthAdjuster extends JPanel
     /*
      * don't drag below minimum width
      */
-    if (newWidth < MIN_ID_WIDTH)
+    if (newWidth < MIN_ID_WIDTH || newWidth > this.ap.getWidth())
     {
       return;
     }
@@ -158,8 +158,19 @@ public class IdwidthAdjuster extends JPanel
     {
       return;
     }
+
+    // TODO JAL-4260 - work out how to trigger recomputation of wrapped pages !
+    int curCol = viewport.getRanges().getStartRes()
+            + viewport.getRanges().getViewportWidth();
+
     viewport.setIdWidth(newWidth);
+
     ap.validateAnnotationDimensions(false);
+    if (viewport.getWrapAlignment())
+    {
+      viewport.getRanges().scrollToWrappedVisible(
+              curCol - viewport.getRanges().getViewportWidth());
+    }
     ap.paintAlignment(true, false);
 
     ap.getIdPanel().getIdCanvas().setManuallyAdjusted(true);
@@ -168,7 +179,7 @@ public class IdwidthAdjuster extends JPanel
   public void setWidth(int newWidth)
   {
     if (newWidth < MIN_ID_WIDTH
-            || ap.getIdPanel().getIdCanvas().manuallyAdjusted())
+            || ap.getIdPanel().getIdCanvas().isManuallyAdjusted())
     {
       return;
     }
@@ -179,7 +190,7 @@ public class IdwidthAdjuster extends JPanel
 
   public boolean manuallyAdjusted()
   {
-    return ap.getIdPanel().getIdCanvas().manuallyAdjusted();
+    return ap.getIdPanel().getIdCanvas().isManuallyAdjusted();
   }
 
   @Override