JAL-1713 save Overview title in project, don't save Overview on New View
[jalview.git] / src / jalview / project / Jalview2XML.java
index 6452644..16c324d 100644 (file)
@@ -1463,6 +1463,9 @@ public class Jalview2XML
         overview.setGapColour(ov.getCanvas().getGapColour().getRGB());
         overview.setResidueColour(ov.getCanvas().getResidueColour().getRGB());
         overview.setHiddenColour(ov.getCanvas().getHiddenColour().getRGB());
+        String title = ((JInternalFrame) SwingUtilities
+                .getAncestorOfClass(JInternalFrame.class, ov)).getTitle();
+        overview.setTitle(title);
         view.setOverview(overview);
       }
       if (av.getGlobalColourScheme() instanceof jalview.schemes.UserColourScheme)
@@ -4042,7 +4045,7 @@ public class Jalview2XML
     }
 
     /*
-     * Load any trees, PDB structures and viewers
+     * Load any trees, PDB structures and viewers, Overview
      * 
      * Not done if flag is false (when this method is used for New View)
      */
@@ -4052,12 +4055,41 @@ public class Jalview2XML
       loadPCAViewers(jalviewModel, ap);
       loadPDBStructures(jprovider, jseqs, af, ap);
       loadRnaViewers(jprovider, jseqs, ap);
+      loadOverview(view, af);
     }
     // and finally return.
     return af;
   }
 
   /**
+   * Load Overview window, restoring colours, 'show hidden regions' flag, title
+   * and geometry as saved
+   * 
+   * @param view
+   * @param af
+   */
+  protected void loadOverview(Viewport view, AlignFrame af)
+  {
+    Overview overview = view.getOverview();
+    if (overview != null)
+    {
+      OverviewPanel overviewPanel = af
+              .openOverviewPanel(overview.isShowHidden());
+      overviewPanel.setBounds(overview.getXpos(), overview.getYpos(),
+              overview.getWidth(), overview.getHeight());
+      overviewPanel.setPreferredSize(
+              new Dimension(overview.getWidth(), overview.getHeight()));
+      Color gap = new Color(overview.getGapColour());
+      Color residue = new Color(overview.getResidueColour());
+      Color hidden = new Color(overview.getHiddenColour());
+      overviewPanel.getCanvas().setColours(gap, residue, hidden);
+      ((JInternalFrame) SwingUtilities
+              .getAncestorOfClass(JInternalFrame.class, overviewPanel))
+                      .setTitle(overview.getTitle());
+    }
+  }
+
+  /**
    * Instantiate and link any saved RNA (Varna) viewers. The state of the Varna
    * panel is restored from separate jar entries, two (gapped and trimmed) per
    * sequence and secondary structure.
@@ -4984,20 +5016,7 @@ public class Jalview2XML
     {
       splitFrameCandidates.put(view, af);
     }
-    
-    Overview overview = view.getOverview();
-    if (overview != null)
-    {
-      OverviewPanel overviewPanel = af.openOverviewPanel(overview.isShowHidden());
-      overviewPanel.setBounds(overview.getXpos(), overview.getYpos(),
-              overview.getWidth(), overview.getHeight());
-      overviewPanel.setPreferredSize(new Dimension(
-              overview.getWidth(), overview.getHeight()));
-      Color gap = new Color(overview.getGapColour());
-      Color residue = new Color(overview.getResidueColour());
-      Color hidden = new Color(overview.getHiddenColour());
-      overviewPanel.getCanvas().setColours(gap, residue, hidden);
-    }
+
     return af;
   }