JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / viewmodel / ViewportRanges.java
index a022627..4f671da 100644 (file)
@@ -137,31 +137,11 @@ public class ViewportRanges extends ViewportProperties
     int oldstartres = oldvalues[0];
     int oldendres = oldvalues[1];
 
-    if (oldstartres == startRes && oldendres == endRes)
-    {
-      return; // BH 2019.07.27 standard check for no changes
-    }
-
-    // listeners include:
-
-    // jalview.gui.SeqCanvas[,0,0,568x90,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
-    // STARTRES, STARTRESANDSEQ
-    // jalview.gui.IdCanvas[,0,0,112x90,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=112,height=0]]
-    // jalview.gui.ScalePanel[,0,0,594x17,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
-    // jalview.gui.AnnotationPanel[,0,0,0x162,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=1,height=162]]
-    // jalview.gui.AlignmentPanel[,0,0,706x133,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777225,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=220,height=166]]
-    // jalview.gui.OverviewPanel[,0,0,543x135,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=543,height=135]]
-
-
-    // "STARTRES" is a misnomer here -- really "STARTORENDRES"
-    // note that this could be "no change" if the range is just being expanded
     changeSupport.firePropertyChange(STARTRES, oldstartres, startRes);
     if (oldstartres == startRes)
     {
-      // No listener cares about this
-      // "ENDRES" is a misnomer here -- really "ENDONLYRES"
-      // BH 2019.07.27 adds end change check
-      // fire only if only the end is changed
+      // event won't be fired if start positions are same
+      // fire an event for the end positions in case they changed
       changeSupport.firePropertyChange(ENDRES, oldendres, endRes);
     }
   }
@@ -223,13 +203,12 @@ public class ViewportRanges extends ViewportProperties
    */
   public void setStartSeq(int seq)
   {
+    int startseq = seq;
     int height = getViewportHeight();
-    int startseq = Math.min(seq, getVisibleAlignmentHeight() - height);
-    // BH 2019.07.27 cosmetic only -- was:
-    // if (startseq + height - 1 > getVisibleAlignmentHeight() - 1)
-    // {
-    // startseq = getVisibleAlignmentHeight() - height;
-    // }
+    if (startseq + height - 1 > getVisibleAlignmentHeight() - 1)
+    {
+      startseq = getVisibleAlignmentHeight() - height;
+    }
     setStartEndSeq(startseq, startseq + height - 1);
   }
 
@@ -250,19 +229,11 @@ public class ViewportRanges extends ViewportProperties
     int oldstartseq = oldvalues[0];
     int oldendseq = oldvalues[1];
 
-    if (oldstartseq == startSeq && oldendseq == endSeq)
-    {
-      return; // BH 2019.07.27 standard check for no changes
-    }
-
-    // "STARTSEQ" is a misnomer here -- really "STARTORENDSEQ"
     changeSupport.firePropertyChange(STARTSEQ, oldstartseq, startSeq);
     if (oldstartseq == startSeq)
     {
-      // Note that all listeners ignore this - could be removed, or there is a
-      // bug.
-      // "ENDSEQ" is a misnomer here -- really "ENDONLYSEQ"
-      // additional fire, only if only the end is changed
+      // event won't be fired if start positions are the same
+      // fire in case the end positions changed
       changeSupport.firePropertyChange(ENDSEQ, oldendseq, endSeq);
     }
   }
@@ -335,7 +306,6 @@ public class ViewportRanges extends ViewportProperties
    */
   public void setStartResAndSeq(int res, int seq)
   {
-    // from Overview only
     int width = getViewportWidth();
     int[] oldresvalues = updateStartEndRes(res, res + width - 1);
 
@@ -347,9 +317,9 @@ public class ViewportRanges extends ViewportProperties
     }
     int[] oldseqvalues = updateStartEndSeq(startseq, startseq + height - 1);
 
-    int[] oldvalues = new int[] { oldresvalues[0], oldseqvalues[0] };
-    int[] newvalues = new int[] { startRes, startSeq };
-    changeSupport.firePropertyChange(STARTRESANDSEQ, oldvalues, newvalues);
+    int[] old = new int[] { oldresvalues[0], oldseqvalues[0] };
+    int[] newresseq = new int[] { startRes, startSeq };
+    changeSupport.firePropertyChange(STARTRESANDSEQ, old, newresseq);
   }
 
   /**
@@ -661,10 +631,7 @@ public class ViewportRanges extends ViewportProperties
   }
 
   /**
-   * Set the viewport location so that a position is visible. From
-   * SeqPanel.scrollToVisible(true) only, from AlignFrame keyboard actions
-   * SeqPanel.scrollCursor[Row(VK_S)/Column(VK_C)/RowAndColumn(VK_ENTER,COMMA)/Position(VK_P)]
-   * 
+   * Set the viewport location so that a position is visible
    * 
    * @param x
    *          column to be visible: absolute position in alignment