extends Applet\r
{\r
\r
+\r
+\r
///////////////////////////////////////////\r
//The following public methods maybe called\r
//externally, eg via javascript in HTML page\r
\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
}\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
\r
return file;\r
}\r
-\r
}\r
}\r