1 // Jalview Priliminary applet-generation code.
2 // author: Bob Hanson hansonr@stolaf.edu
8 $(document).ready(function() {
9 if (document.location.href.toLowerCase().indexOf("_use=java") < 0)
10 Jalview.processAllAppletElements(self.JalviewInfo);
14 Jalview.processAllAppletElements = function(PageInfo) {
15 var applets = document.getElementsByTagName("applet") || document.getElementsByTagName("jvapplet");
17 for (var i = 0; i < applets.length; i++)
19 for (var i = 0; i < apps.length; i++) {
20 Jalview.processAppletElement(apps[i], PageInfo);
24 Jalview.processAppletElement = function(element, UserInfo) {
26 // This code is specifically for processing the <applet> or <jvapplet> tag.
28 // To set Jalview application tags, use Info.args="......."
30 // To set preferences, use "jalview_" prefix with all-upper-case names:
32 //Info.jalview_SCREEN_X= 10,Info.jalview_SCREEN_Y= 10;
33 //Info.jalview_EMBEDDED= true;
34 //Info.jalview_SCREEN_WIDTH = 400;
35 //Info.jalview_SCREEN_HEIGHT = 100;
37 var text = element.outerHTML;
38 var code = element.getAttribute("code");
39 var parent = element.parentElement;
40 if (code != "jalview.bin.JalviewLite" && text.indexOf("<applet") == 0) {
46 main: "jalview.bin.Jalview",
48 resourcePath: "examples",
50 serverURL: 'https://chemapps.stolaf.edu/jmol/jsmol/php/jsmol.php',
51 j2sPath: 'swingjs/j2s',
53 startButton:'Start Jalview',
55 embedInternalFrames:false,
60 var args = Info.args = text.replace(/[\n\t]/g, " ").replace("<jvapplet","<applet").split("<param ");
62 // overwrite default parameters with UserInfo (global JalviewInfo):
65 for (var i in UserInfo) {
66 Info[i] = UserInfo[i];
70 // generate name/value pairs for parameters in Applet tag
72 Info.j2sAppletID = Info.j2sAppletID
73 || element.getAttribute("name")
74 || element.getAttribute("id")
75 || Info.idPrefix.replace(/%ID%/g, "jalview" + ++Jalview.jvid);
78 var addParam = function(key,value) {
79 args.push("name=\"" + key + "\" value=\"" + value + "\"");
84 var v = ("" + Info[i] || "null").replace(/\"/g,"'");
85 addParam("Info." + i, v);
90 element.JalviewInfo = Info;
91 var btn = document.createElement("button");
92 btn.appletElement = element;
93 var a = element.getAttribute("width");
94 btn.style.width = (a || 140) + "px";
95 a = element.getAttribute("height");
96 btn.style.height = (a || 25) + "px";
97 btn.jvparent = parent;
98 if (Info.startButton) {
99 btn.innerHTML = Info.startButton;
100 parent.replaceChild(btn, element);
101 $(btn).click(Jalview.doStartJalview);
103 parent.removeElement(element);
104 Jalview.doStartJalview({target:btn});
110 Jalview.doStartJalview = function(e) {
111 var element = e.target.appletElement;
112 var parent = e.target.jvparent;
113 var Info = element.JalviewInfo;
114 var id = Info.j2sAppletID;
115 var d = document.createElement("div");
116 d.id = id + "-desktop-div";
117 if (Info.hideDesktop) {
118 d.style.display = "none";
119 d.style.width = d.style.height = "0px";
121 d.style.width = "300px", d.style.height = "70px";
123 parent.appendChild(d);
124 d = document.createElement("div");
125 d.id = id + "-alignment-div";
126 if (Info.embedInternalFrames) {
129 d.style.display = "none";
130 d.style.width = d.style.height = "0px";
132 SwingJS.getApplet(id, Info);
134 e.target.style.visibility="hidden";