@Override
public void componentResized(ComponentEvent evt)
{
- int ph = (progressPanel.getParent() == null ? 0
- : progressPanel.getHeight());
- // Resize is called on the initial display of the overview.
- // This code adjusts sizes to account for the progress bar if it has not
- // already been accounted for, which triggers another resize call for
- // the correct sizing, at which point the overview image is updated.
- // (This avoids a double recalculation of the image.)
- if (getWidth() == od.getWidth()
- && getHeight() == od.getHeight() + ph)
- {
- updateOverviewImage();
- }
- else
- {
- int w = getWidth();
- int h = getHeight();
- if ((w > 0) && (h > 0))
- {
- if (dim != null)
- {
- dim.setSize(w, h - ph);
- }
- od.setWidth(w);
- od.setHeight(h - ph);
- repaint();
- }
- // BH 2019.07.29 this is unnecessary -- it is what layout managers are
- // for:
- // setPreferredSize(new Dimension(od.getWidth(), od.getHeight() +
- // ph));
- }
+ resizePanel();
}
});
});
- /*
- * Javascript does not call componentResized on initial display,
- * so do the update here
- */
- if (Platform.isJS())
+ // /*
+ // * Javascript does not call componentResized on initial display,
+ // * so do the update here
+ // */
+ // if (Platform.isJS())
+ // {
+ // updateOverviewImage();
+ // }
+ }
+
+ protected void resizePanel()
+ {
+ int ph = (progressPanel.getParent() == null ? 0
+ : progressPanel.getHeight());
+ // Resize is called on the initial display of the overview.
+ // This code adjusts sizes to account for the progress bar if it has not
+ // already been accounted for, which triggers another resize call for
+ // the correct sizing, at which point the overview image is updated.
+ // (This avoids a double recalculation of the image.)
+ if (getWidth() == od.getWidth() && getHeight() == od.getHeight() + ph)
+ {
+ if (canvas.lastMiniMe == null)
+ {
+ updateOverviewImage();
+ }
+ }
+ else
{
- updateOverviewImage();
+ int w = getWidth();
+ int h = getHeight();
+ if ((w > 0) && (h > 0))
+ {
+ if (dim != null)
+ {
+ dim.setSize(w, h - ph);
+ }
+ od.setWidth(w);
+ od.setHeight(h - ph);
+ updateOverviewImage();
+ }
+ // BH 2019.07.29 this is unnecessary -- it is what layout managers are
+ // for:
+ // setPreferredSize(new Dimension(od.getWidth(), od.getHeight() +
+ // ph));
}
}
}
/**
- * Updates the overview image when the related alignment panel is updated
+ * Updates the overview image when the related alignment panel is updated.
+ *
+ * Cases:
+ *
+ * AlignFrame.setFeatureGroupState
+ *
+ * AlignmentPanel.paintAlignment(true,...) (117 references)
+ *
+ * OverviewPanel..componentResized() OverviewPanel.toggleHiddenColumns()
+ *
+ * PopupMenu for action.reveal_sequences, action.reveal_all
+ *
+ * SliderPanel.mouseReleased()
+ *
*/
public void updateOverviewImage()
{
{
if (canvas != null)
{
+ setBoxPosition();
canvas.draw(av.isShowSequenceFeatures(),
(av.isShowAnnotation()
&& av.getAlignmentConservationAnnotation() != null),
ap.getFeatureRenderer());
- setBoxPosition();
}
}