JAL-3379 Javascript applet.app
authorhansonr <hansonr@STO24954W.ad.stolaf.edu>
Mon, 29 Jul 2019 08:31:05 +0000 (10:31 +0200)
committerhansonr <hansonr@STO24954W.ad.stolaf.edu>
Mon, 29 Jul 2019 08:31:05 +0000 (10:31 +0200)
src/jalview/bin/Jalview.java
src/jalview/util/Platform.java

index a67c5fd..6f902af 100755 (executable)
@@ -279,7 +279,11 @@ public class Jalview implements ApplicationSingletonI, JalviewJSApi
   {
 
     boolean isJS = Platform.isJS();
-    if (!isJS)
+    if (isJS)
+    {
+      Platform.setAppClass(this);
+    }
+    else
     {
       System.setSecurityManager(null);
     }
@@ -2018,3 +2022,4 @@ public class Jalview implements ApplicationSingletonI, JalviewJSApi
 
 
 }
+
index e7be77d..e53d2a9 100644 (file)
@@ -807,5 +807,29 @@ public class Platform
     }
   }
 
+  /**
+   * Set the "app" property of the HTML5 applet object, for example,
+   * "testApplet.app", to point to the Jalview instance. This will be the object
+   * that page developers use that is similar to the original Java applet object
+   * that was accessed via LiveConnect.
+   * 
+   * @param j
+   */
+  public static void setAppClass(Object j)
+  {
+    if (!isJS())
+    {
+      return;
+    }
+    @SuppressWarnings("unused")
+    Thread t = Thread.currentThread();
+    /**
+     * Set up "testApplet.app" to be this instance
+     * 
+     * @j2sNative
+     * 
+     *            try {self[t.name].app = j}catch(e){}
+     */
+  }
 
 }