JAL-3446 JavaScript interface
[jalview.git] / src / jalview / api / JalviewJSApp.java
index d6c2ec6..5641295 100644 (file)
@@ -65,9 +65,17 @@ public class JalviewJSApp implements JalviewJSApi
                                        // be '|', but many sequence IDS include
                                        // pipes.
 
+  /**
+   * We maintain a pointer to the jalview instance here, because only with that do we have a direct 
+   * connection from the JavaScript "applet" object to the proper instance of Jalview in case there
+   * are multiple applets on a page.
+   */
+  private Jalview jalview;
+
 
-  public JalviewJSApp(ArgsParser aparser)
+  public JalviewJSApp(Jalview jalview, ArgsParser aparser)
   {
+    this.jalview = jalview;
     this.aparser = aparser;
     Platform.setAppClass(this);
   }
@@ -1397,7 +1405,7 @@ public class JalviewJSApp implements JalviewJSApi
 
     try
     {
-      Jalview.getInstance().parseArguments(new ArgsParser(args), false);
+      jalview.parseArguments(new ArgsParser(args), false);
       return null;
     } catch (Throwable t)
     {
@@ -1852,7 +1860,7 @@ public class JalviewJSApp implements JalviewJSApi
    */
   public String doSendCallback(Object callback, Object[] data)
   {
-    Jalview me = Jalview.getInstance();
+    Jalview me = jalview;
 
     if (me != null && callback != null)
     {