frameListener must call close if AlignFrame
[jalview.git] / src / jalview / bin / JalviewLite.java
index 53d55f3..1fbb82e 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
 * Jalview - A Sequence Alignment Editor and Viewer\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
 *\r
 * This program is free software; you can redistribute it and/or\r
 * modify it under the terms of the GNU General Public License\r
@@ -28,6 +28,7 @@ import java.applet.*;
 \r
 import java.awt.*;\r
 import java.awt.event.*;\r
+import jalview.appletgui.FeatureSettings;\r
 \r
 \r
 /**\r
@@ -46,7 +47,7 @@ public class JalviewLite extends Applet
 \r
     //The currentAlignFrame is static, it will change\r
     //if and when the user selects a new window\r
-    static AlignFrame currentAlignFrame;\r
+    public static AlignFrame currentAlignFrame;\r
 \r
     //This is the first frame to be displayed, and does not change\r
     AlignFrame initialAlignFrame;\r
@@ -88,6 +89,20 @@ public class JalviewLite extends Applet
 \r
         file = getParameter("file");\r
 \r
+        if(file==null)\r
+        {\r
+          //Maybe the sequences are added as parameters\r
+          StringBuffer data = new StringBuffer("PASTE");\r
+          int i=1;\r
+          while( (file=getParameter("sequence"+i))!=null)\r
+          {\r
+            data.append(file.toString()+"\n");\r
+            i++;\r
+          }\r
+          if(data.length()>5)\r
+            file = data.toString();\r
+        }\r
+\r
         final JalviewLite applet = this;\r
         if(getParameter("embedded")!=null\r
            && getParameter("embedded").equalsIgnoreCase("true"))\r
@@ -163,6 +178,8 @@ public class JalviewLite extends Applet
             {\r
                 public void windowClosing(WindowEvent e)\r
                 {\r
+                  if(frame instanceof AlignFrame)\r
+                    ((AlignFrame)frame).closeMenuItem_actionPerformed();\r
                     if(currentAlignFrame == frame)\r
                     {\r
                       currentAlignFrame = null;\r
@@ -261,7 +278,12 @@ public class JalviewLite extends Applet
                              JalviewLite _applet)\r
         {\r
             file = _file;\r
-            if(inArchive(file))\r
+            if(file.startsWith("PASTE"))\r
+            {\r
+              file = file.substring(5);\r
+              protocol = AppletFormatAdapter.PASTE;\r
+            }\r
+            else if(inArchive(file))\r
               protocol = AppletFormatAdapter.CLASSLOADER;\r
             else\r
             {\r
@@ -289,6 +311,8 @@ public class JalviewLite extends Applet
                                                  file,\r
                                                  embedded);\r
 \r
+              if(protocol==jalview.io.AppletFormatAdapter.PASTE)\r
+                currentAlignFrame.setTitle("Sequences from "+getDocumentBase());\r
 \r
               initialAlignFrame = currentAlignFrame;\r
 \r
@@ -297,7 +321,8 @@ public class JalviewLite extends Applet
 \r
                 String treeFile = applet.getParameter("tree");\r
                 if(treeFile==null)\r
-                  applet.getParameter("treeFile");\r
+                  treeFile = applet.getParameter("treeFile");\r
+\r
                 if (treeFile != null)\r
                 {\r
                   try\r
@@ -337,7 +362,8 @@ public class JalviewLite extends Applet
               param = getParameter("showFeatureSettings");\r
               if(param !=null && param.equalsIgnoreCase("true"))\r
               {\r
-                currentAlignFrame.featureSettings_actionPerformed();\r
+                currentAlignFrame.viewport.showSequenceFeatures(true);\r
+                new FeatureSettings(currentAlignFrame.alignPanel);\r
               }\r
 \r
              param = getParameter("annotations");\r