Launch applet jmol
authoramwaterhouse <Andrew Waterhouse>
Tue, 27 Feb 2007 13:39:49 +0000 (13:39 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 27 Feb 2007 13:39:49 +0000 (13:39 +0000)
src/jalview/bin/JalviewLite.java

index e6bb685..0623193 100755 (executable)
@@ -37,6 +37,8 @@ public class JalviewLite
     extends Applet\r
 {\r
 \r
+\r
+\r
   ///////////////////////////////////////////\r
   //The following public methods maybe called\r
   //externally, eg via javascript in HTML page\r
@@ -147,11 +149,25 @@ public class JalviewLite
 \r
   boolean embedded = false;\r
 \r
+  public boolean jmolAvailable = false;\r
+\r
   /**\r
    * init method for Jalview Applet\r
    */\r
   public void init()\r
   {\r
+    try\r
+    {\r
+      Class.forName("org.jmol.adapter.smarter.SmarterJmolAdapter",\r
+                    true, Thread.currentThread().getContextClassLoader());\r
+\r
+      jmolAvailable = true;\r
+    }\r
+    catch (java.lang.ClassNotFoundException ex)\r
+    {\r
+      System.out.println("Jmol not found - Use MCview for structures");\r
+    }\r
+\r
     int r = 255;\r
     int g = 255;\r
     int b = 255;\r
@@ -489,28 +505,41 @@ public class JalviewLite
           }\r
         }\r
 \r
+\r
         param = getParameter("PDBFILE");\r
         if (param != null)\r
         {\r
-          if (inArchive(param))\r
-          {\r
-            protocol = AppletFormatAdapter.CLASSLOADER;\r
-          }\r
-          else\r
+\r
+          PDBEntry pdb = new PDBEntry();\r
+\r
+          if (!inArchive(param) || jmolAvailable)\r
           {\r
-            protocol = AppletFormatAdapter.URL;\r
             param = addProtocol(param);\r
           }\r
 \r
+          pdb.setFile(param);\r
+\r
           String sequence = applet.getParameter("PDBSEQ");\r
 \r
           if (sequence != null)\r
           {\r
-            new MCview.AppletPDBViewer(param, protocol,\r
-                                       (Sequence) currentAlignFrame.\r
-                                       getAlignViewport().getAlignment().\r
-                                       findName(sequence),\r
-                                       currentAlignFrame.getSeqcanvas());\r
+            if (jmolAvailable)\r
+              new jalview.appletgui.AppletJmol(pdb,\r
+                                               new SequenceI[]\r
+                                               { (Sequence) currentAlignFrame.\r
+                                               getAlignViewport().getAlignment().\r
+                                               findName(sequence)},\r
+                                               currentAlignFrame.alignPanel,\r
+                                               protocol);\r
+            else\r
+\r
+              new MCview.AppletPDBViewer(pdb,\r
+                                         new SequenceI[]\r
+                                         { (Sequence) currentAlignFrame.\r
+                                         getAlignViewport().getAlignment().\r
+                                         findName(sequence)},\r
+                                         currentAlignFrame.alignPanel,\r
+                                         protocol);\r
           }\r
 \r
         }\r
@@ -552,6 +581,5 @@ public class JalviewLite
 \r
       return file;\r
     }\r
-\r
   }\r
 }\r