Merge branch 'feature/JAL-1713_overviewInProject' into bug/JAL-3785autoOverviewTitle
[jalview.git] / src / jalview / project / Jalview2XML.java
index 4145703..e9a2a52 100644 (file)
@@ -1453,17 +1453,16 @@ public class Jalview2XML
       if (ov != null)
       {
         Overview overview = new Overview();
-        JInternalFrame frame = (JInternalFrame) SwingUtilities
-                .getAncestorOfClass(JInternalFrame.class, ov);
-        overview.setTitle(frame.getTitle());
-        Rectangle bounds = frame.getBounds();
+        overview.setTitle(ov.getTitle());
+        Rectangle bounds = ov.getFrameBounds();
         overview.setXpos(bounds.x);
         overview.setYpos(bounds.y);
         overview.setWidth(bounds.width);
         overview.setHeight(bounds.height);
         overview.setShowHidden(ov.isShowHiddenRegions());
         overview.setGapColour(ov.getCanvas().getGapColour().getRGB());
-        overview.setResidueColour(ov.getCanvas().getResidueColour().getRGB());
+        overview.setResidueColour(
+                ov.getCanvas().getResidueColour().getRGB());
         overview.setHiddenColour(ov.getCanvas().getHiddenColour().getRGB());
         view.setOverview(overview);
       }
@@ -4089,15 +4088,20 @@ public class Jalview2XML
    */
   protected void loadOverview(Viewport view, AlignFrame af)
   {
+    /*
+     * first close any Overview that was opened automatically
+     * (if so configured in Preferences) so that the view is
+     * restored in the same state as saved
+     */
+    af.alignPanel.closeOverviewPanel();
+
     Overview overview = view.getOverview();
     if (overview != null)
     {
       OverviewPanel overviewPanel = af
               .openOverviewPanel(overview.isShowHidden());
-      JInternalFrame frame = (JInternalFrame) SwingUtilities
-              .getAncestorOfClass(JInternalFrame.class, overviewPanel);
-      frame.setTitle(overview.getTitle());
-      frame.setBounds(overview.getXpos(), overview.getYpos(),
+      overviewPanel.setTitle(overview.getTitle());
+      overviewPanel.setFrameBounds(overview.getXpos(), overview.getYpos(),
               overview.getWidth(), overview.getHeight());
       Color gap = new Color(overview.getGapColour());
       Color residue = new Color(overview.getResidueColour());