JAL-2774 Created single event for update to both start residue and seq
[jalview.git] / src / jalview / gui / SeqCanvas.java
index 4e896a0..403cbcf 100755 (executable)
@@ -1489,6 +1489,7 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
     return matchFound;
   }
 
+
   @Override
   public void propertyChange(PropertyChangeEvent evt)
   {
@@ -1509,12 +1510,22 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
     else
     {
       int scrollX = 0;
-      if (eventName.equals(ViewportRanges.STARTRES))
+      if (eventName.equals(ViewportRanges.STARTRES)
+              || eventName.equals(ViewportRanges.STARTRESANDSEQ))
       {
         // Make sure we're not trying to draw a panel
         // larger than the visible window
+        if (eventName.equals(ViewportRanges.STARTRES))
+        {
+          scrollX = (int) evt.getNewValue() - (int) evt.getOldValue();
+        }
+        else
+        {
+          scrollX = ((int[]) evt.getNewValue())[0]
+                  - ((int[]) evt.getOldValue())[0];
+        }
         ViewportRanges vpRanges = av.getRanges();
-        scrollX = (int) evt.getNewValue() - (int) evt.getOldValue();
+
         int range = vpRanges.getEndRes() - vpRanges.getStartRes();
         if (scrollX > range)
         {
@@ -1541,6 +1552,11 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
         // scroll
         fastPaint(0, (int) evt.getNewValue() - (int) evt.getOldValue());
       }
+      else if (eventName.equals(ViewportRanges.STARTRESANDSEQ))
+      {
+        fastPaint(scrollX, ((int[]) evt.getNewValue())[1]
+                - ((int[]) evt.getOldValue())[1]);
+      }
     }
   }