this.startRes = 0;
this.endRes = alignment.getWidth() - 1;
this.startSeq = 0;
- this.endSeq = alignment.getHeight() - 1;
+ this.setEndSeqTest(alignment.getHeight() - 1);
this.al = alignment;
}
+ public static String sTest = "";
+
+ private void setEndSeqTest(int val)
+ {
+ sTest += "ViewPortRanges.setEndseqTest " + val + " "
+ + Thread.currentThread() + "\n";
+ endSeq = val;
+ }
/**
* Get alignment width in cols, including hidden cols
*/
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);
public void setStartSeq(int seq)
{
int height = getViewportHeight();
- int startseq = Math.max(seq, getVisibleAlignmentHeight() - height);
+ int startseq = Math.min(seq, getVisibleAlignmentHeight() - height);
// BH 2019.07.27 cosmetic only -- was:
// if (startseq + height - 1 > getVisibleAlignmentHeight() - 1)
// {
int oldendseq = this.endSeq;
if (end >= visibleHeight)
{
- endSeq = Math.max(visibleHeight - 1, 0);
+ setEndSeqTest(Math.max(visibleHeight - 1, 0));
}
else if (end < 0)
{
- endSeq = 0;
+ setEndSeqTest(0);
}
else
{
- endSeq = end;
+ setEndSeqTest(end);
}
return new int[] { oldstartseq, oldendseq };
}
*/
public void setStartResAndSeq(int res, int seq)
{
- // from Overview only
int width = getViewportWidth();
int[] oldresvalues = updateStartEndRes(res, res + width - 1);
{
vpstart = visHeight - h;
}
- // System.out.println("ViewportRanges setviewportStartAndHeight " + vpstart
- // + " " + start + " " + h + " " + getVisibleAlignmentHeight());
setStartEndSeq(vpstart, vpstart + h - 1);
}
}
/**
- * 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
return maxScroll;
}
+
+ @Override
+ public String toString()
+ {
+ return "[ViewportRange startRes=" + startRes + " endRes=" + endRes
+ + " startSeq=" + startSeq + " endSeq=" + endSeq + "]";
+ }
}