{
// BH 2018.04.18 comment: addNotify() is not appropriate here. We
// are not changing ancestors, and keyboard action listeners do
- // not need to be reset. addNotify() is a very expensive operation,
+ // not need to be reset, and most importantly, we can't be sure we are actually
+ // connected to resources.
+
+ // addNotify() is a very expensive operation,
// requiring a full re-layout of all parents and children.
+
// Note in JComponent:
+
// This method is called by the toolkit internally and should
// not be called directly by programs.
+
// I note that addNotify() is called in several areas of Jalview.
int annotationHeight = getAnnotationPanel().adjustPanelHeight();
annotationHeight = getAnnotationPanel()
.adjustForAlignFrame(adjustPanelHeight, annotationHeight);
+ // BH no!!
hscroll.addNotify();
annotationScroller.setPreferredSize(
new Dimension(annotationScroller.getWidth(), annotationHeight));
*/
public void updateLayout()
{
- if (getTopLevelAncestor() == null)
- return;
+ // BH 2020.06.09 avoiding negative values for SequencePanel and SeqCanvas
+ // dimensions.
+
+ if (getTopLevelAncestor() == null)
+ return;
+
+
ViewportRanges ranges = av.getRanges();
fontChanged();
setAnnotationVisible(av.isShowAnnotation());
idSpaceFillerPanel1.setVisible(!wrap);
-
-// BH not added to anything yet! repaint();
+ // System.out.println("ap dim = " + getSize());
+
+ // these values will go negative if getSize() returns (0,0):
+
+ // System.out.println("seqpan dim = " + getSeqPanel().getSize());
+ // System.out.println("seqcan dim = " + getSeqPanel().seqCanvas.getSize());
+
+ // BH not added to anything yet! repaint();
}
/**
*/
public void setScrollValues(int x, int y)
{
-
- System.out.println("AlignmentPanel.setScrollValues " + x + "_" + y);
if (av == null || av.getAlignment() == null)
{
hextent = Math.min(getSeqPanel().seqCanvas.getWidth() / av.getCharWidth(), width);
vextent = Math.min(getSeqPanel().seqCanvas.getHeight() / av.getCharHeight(), height);
-
- if (hextent < 0)
- System.out.println("AlignmentPanel.setScrollValues found hext=" + hextent + " vext=" + vextent + " width=" + width + " height=" + height
- );
-
x = Math.max(0, Math.min(x, width - hextent));
y = Math.max(0, Math.min(y, height - vextent));
-
- System.out.println("AlignmentPanel.setScrollValues resetting these to " + x + "_" + y
- + " based on hext=" + hextent + " vext=" + vextent + " width=" + width + " height=" + height
- );
-
updateRanges(x, y);
updateScrollBars(x, y, width, height);
}