X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignmentPanel.java;h=277e11dd84ab24874e80c089f9ef538233f41a07;hb=e016e819d1f9d851aa28a273414b4432c2137858;hp=b57bc0860f5eccf3141948dc43ea0627e16f2185;hpb=8594f8fc93ae2003f0587a5b3b01d56f41216fac;p=jalview.git diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index b57bc08..277e11d 100644 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -123,6 +123,7 @@ public class AlignmentPanel extends GAlignmentPanel implements */ public AlignmentPanel(AlignFrame af, final AlignViewport av) { + setName("AligmentPanel"); // setBackground(Color.white); // BH 2019 alignFrame = af; this.av = av; @@ -601,19 +602,9 @@ public class AlignmentPanel extends GAlignmentPanel implements /** * update alignment layout for viewport settings - * - * @param wrap - * DOCUMENT ME! */ public void updateLayout() { - // BH 2020.06.09 avoiding negative values for SequencePanel and SeqCanvas - // dimensions. - - if (getTopLevelAncestor() == null) - return; - - ViewportRanges ranges = av.getRanges(); fontChanged(); setAnnotationVisible(av.isShowAnnotation()); @@ -632,9 +623,24 @@ public class AlignmentPanel extends GAlignmentPanel implements { annotationScroller.setVisible(true); annotationSpaceFillerHolder.setVisible(true); - validateAnnotationDimensions(false); } + idSpaceFillerPanel1.setVisible(!wrap); + + /* + * defer dimension calculations if panel not yet added to a Window + * BH 2020.06.09 + */ + if (getTopLevelAncestor() == null) + { + repaint(); + return; + } + + if (!wrap && av.isShowAnnotation()) + { + validateAnnotationDimensions(false); + } int canvasWidth = getSeqPanel().seqCanvas.getWidth(); if (canvasWidth > 0) { // may not yet be laid out @@ -655,16 +661,12 @@ public class AlignmentPanel extends GAlignmentPanel implements } } - idSpaceFillerPanel1.setVisible(!wrap); - // 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(); + repaint(); } /** @@ -860,12 +862,12 @@ public class AlignmentPanel extends GAlignmentPanel implements if (updateOverview) { alignFrame.repaint(); - if (overviewPanel != null) { overviewPanel.updateOverviewImage(); } } else { + invalidate(); // needed so that the id width adjuster works correctly repaint(); } } @@ -873,6 +875,7 @@ public class AlignmentPanel extends GAlignmentPanel implements @Override public void paintComponent(Graphics g) { + // BH OUCH! invalidate(); // needed so that the id width adjuster works correctly Dimension d = getIdPanel().getIdCanvas().getPreferredSize(); @@ -1939,7 +1942,7 @@ public class AlignmentPanel extends GAlignmentPanel implements } av.setSelectionGroup(null); av.getColumnSelection().clear(); - av.setSelectionGroup(null); + av.setSearchResults(null); getIdPanel().getIdCanvas().searchResults = null; av.sendSelection(); // JAL-2034 - should delegate to