JAL-1588 refactoring prior to 'save Chimera project'
[jalview.git] / src / jalview / gui / Desktop.java
index b8f629a..9871c27 100644 (file)
@@ -26,6 +26,7 @@ import jalview.io.FormatAdapter;
 import jalview.io.IdentifyFile;
 import jalview.io.JalviewFileChooser;
 import jalview.io.JalviewFileView;
+import jalview.jbgui.GStructureViewer;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.ImageMaker;
 import jalview.util.MessageManager;
@@ -113,6 +114,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    */
   private BlogReader jvnews = null;
 
+  private File projectFile;
+
   /**
    * @param listener
    * @see jalview.gui.JalviewChangeSupport#addJalviewPropertyChangeListener(java.beans.PropertyChangeListener)
@@ -1462,6 +1465,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     {
       final Desktop me = this;
       final java.io.File choice = chooser.getSelectedFile();
+      setProjectFile(choice);
+
       new Thread(new Runnable()
       {
         public void run()
@@ -1497,6 +1502,16 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     }
   }
 
+  private void setProjectFile(File choice)
+  {
+    this.projectFile = choice;
+  }
+
+  public File getProjectFile()
+  {
+    return this.projectFile;
+  }
+
   /**
    * DOCUMENT ME!
    * 
@@ -1517,9 +1532,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements
 
     if (value == JalviewFileChooser.APPROVE_OPTION)
     {
-      final String choice = chooser.getSelectedFile().getAbsolutePath();
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", chooser
-              .getSelectedFile().getParent());
+      final File selectedFile = chooser.getSelectedFile();
+      setProjectFile(selectedFile);
+      final String choice = selectedFile.getAbsolutePath();
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY", selectedFile.getParent());
       new Thread(new Runnable()
       {
         public void run()
@@ -2312,7 +2328,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     return afs;
   }
 
-  public AppJmol[] getJmols()
+  public GStructureViewer[] getJmols()
   {
     JInternalFrame[] frames = Desktop.desktop.getAllFrames();
 
@@ -2328,7 +2344,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
       {
         if (frames[i] instanceof AppJmol)
         {
-          AppJmol af = (AppJmol) frames[i];
+          GStructureViewer af = (GStructureViewer) frames[i];
           avp.addElement(af);
         }
       }
@@ -2340,10 +2356,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     {
       return null;
     }
-    AppJmol afs[] = new AppJmol[avp.size()];
+    GStructureViewer afs[] = new GStructureViewer[avp.size()];
     for (int i = 0, j = avp.size(); i < j; i++)
     {
-      afs[i] = (AppJmol) avp.elementAt(i);
+      afs[i] = (GStructureViewer) avp.elementAt(i);
     }
     avp.clear();
     return afs;