Am 07.02.2014 20:38, schrieb Charles Harrison Shubert:
> Hi,
>
> I'm clearly not reading the documentation correctly and I'm missing
> something. I want to use the JSmol callback functionality. What am I
> doing wrong?
>
> Thanks,
>
> --Chuck
>
> My javascript:
>
> function init_jsmol(state) {
>
> // … other initialization
>
> Jmol.setXHTML(model.ids.id_jsmol);
>
> var Info = {};
> Info.script = session.modelControl.getActiveScript(state);
> Info.j2sPath = model.jsmol.j2sPath;
> Info.disableInitialConsole = true;
> Info.disableJ2SLoadMonitor = true;
>
> jmolObject = Jmol.getApplet(model.ids.id_jsmol, Info);
>
> // … other initialization
> }
>
> function myMessageCallback(one, two) {
> console.info("I'm in myMessageCallback: " + one);
> console.info("I'm in myMessageCallback: " + two);
> }
>
> function getJSmolInfo(state) { // called from another part of my code.
> try {
> console.info("getJSmolInfo entry");
>
> script(";set messageCallback 'myMessageCallback';");
> script(";define chucksel '[ALA]1:A.O or [ALA]1:A.C'; select chucksel;
> color atoms pink;");
> script("message 'hi ho';");
>
I never tried to set the message callback by using Jmol Script. What
works for me (e.g.:
http://jenalib.fli-leibniz.de/cgi-bin/3d_mapping-rh.pl?CODE=1deh&APPLET=html5)
is setting it in the 'Info' object like this:
-------------------------------------------------------
Info = {
use: "JAVA HTML5",
width: "600",
height: "600",
debug: false,
color: "black",
j2sPath:
"http://jenalib.fli-leibniz.de/ImgLibPDB/jmol/jmol-14.0.5/jsmol/j2s",
jarPath: "/ImgLibPDB/jmol/jmol-14.0.5/jsmol/java",
jarFile: "JmolAppletSigned.jar",
isSigned: "true",
disableJ2SLoadMonitor: true,
disableInitialConsole: true,
addSelectionOptions: false,
serverURL: "/ImgLibPDB/jmol/jmol-14.0.5/jsmol/php/jsmol.php",
script: "",
messagecallback: "_jmolMessageCallback",
allowjavascript: true
};
function _jmolMessageCallback(app,msg) { /* jmol message
callback, reverse logging into textarea */
msg = "" + msg; /* convert callback message into string
(recommended by other Jmol users) */
log_monitor.unshift(msg);
if (document.getElementById("jmol_monitor").value.length >
8000) {
log_monitor.pop();
}
document.getElementById("jmol_monitor").value =
log_monitor.join("\n");
if (msg.match(/([\d,]+) atoms selected/)) { /* */
var selection_count_tag =
document.getElementById("selection_count");
selection_count_tag.replaceChild(document.createTextNode(RegExp.$1),
selection_count_tag.childNodes[0]);
document.getElementById("selection_count").innerHtml=RegExp.$1;
}
}
-------------------------------------------------------
So it should work if you add this to your 'Info' initialization:
Info.messagecallback = "myMessageCallback";
Regards,
Rolf
--
Rolf Huehne
Postdoc
Leibniz Institute for Age Research - Fritz Lipmann Institute (FLI)
Beutenbergstrasse 11
07745 Jena, Germany
Phone: +49 3641 65 6205
Fax: +49 3641 65 6210
E-Mail: [email protected]
Website: http://www.fli-leibniz.de
Scientific Director: Prof. Dr. K. Lenhard Rudolph
Head of Administration: Dr. Daniele Barthel
Chairman of Board of Trustees: Dennys Klein
VAT No: DE 153 925 464
Register of Associations: No. 296, Amtsgericht Jena
Tax Number: 162/141/08228
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users