From: Robert H. <ha...@st...> - 2008-08-20 21:50:20
|
On Wed, Aug 20, 2008 at 11:53 AM, Eric Martz <em...@mi...>wrote: > Dear Bob, > > In Proteopedia.Org, Jaim Prilusky has implemented a "popup" button > under each Jmol that opens a new window containing only a Jmol. This > window can be made large and resized at will; resizing has been more > challenging to accomplish for Jmol within its Proteopedia structure > within MediaWiki. > > Now we want scripts sent to the Jmol in the main Proteopedia page to > also be obeyed by the separate Jmol in the separate child window. How > best to do this? > > I have tried "sync * all". It works between two Jmols on the same > page (currently 11.5.51 in Proteopedia; update is planned soon), but > not to the Jmol in the child window. > sync * specifically syncs applets on the driver's page. Anything else would be a nightmare in general. If you want to do it programmatically, I suggest having your JavaScript get the property "appletInfo.registry" and from that discern the FULL name of that popup applet. Give the popup applet a name extension that the referring page can identify -- a random set of digits, perhaps. You don't want to send this to the wrong popup in case the user has two Protopedia pages up (which is a real possibility, of course). Then use that FULL name in the sync. It looks something like this: jmolAppletXXX__2923827392370230236823__ By giving that EXACT id, Jmol will send the message to that applet. Alternatively, after the popup opens, an elegant way to do this would be to have the created applet send back to the calling applet its id: jmolApplet(.....,'[state scripts here];myID = getProperty("appletInfo","fullName");jsCall = "opener.jmolScript(\'popupID = \\"" + myID + "\\" \')"; javaScript @jsCall' I think that's the right number of escapes there! Text surrounded by single quote needs \' inside...jmol command jsCall = "..." + myID + "..." needs to end up in Jmol as jsCall = "opener.jmolScript('popupID = \"" + myID + "\" ')"; so in the original we have to escape \ or it will be read as \" and change to " by the initial javaScript processing. Gotta love it. The "opener.jmolScript" is a simple way to direct the message to the applet on the page that opened the popup without knowing its applet id. Bob > > If we can get this to work, when there are more than one Jmol on the > initial page, we will want only one to send to the child window Jmol, > and none of the other Jmols on the page to receive. I suppose that > "sync > off" may accomplish that. > > (Yes, Bob, testing sync on 11.6.RCn is on my list for later today, I hope). > > Thanks, -Eric > > /* - - - - - - - - - - - - - - - - - - - - - - - - - - - > Eric Martz, Professor Emeritus, Dept Microbiology > U Mass, Amherst -- http://www.umass.edu/molvis/martz > > Top Five 3D MolVis Technologies http://Top5.MolviZ.Org > 3D Wiki with Scene-Authoring Tools http://Proteopedia.Org > Biochem 3D Education Resources http://MolviZ.org > See 3D Molecules, Install Nothing! - http://firstglance.jmol.org > Protein Explorer - 3D Visualization: http://proteinexplorer.org > Workshops: http://workshops.proteinexplorer.org > World Index of Molecular Visualization Resources: http://molvisindex.org > ConSurf - Find Conserved Patches in Proteins: http://consurf.tau.ac.il > Atlas of Macromolecules: http://atlas.proteinexplorer.org > PDB Lite Macromolecule Finder: http://pdblite.org > Molecular Visualization EMail List (molvis-list): > http://bioinformatics.org/mailman/listinfo/molvis-list > - - - - - - - - - - - - - - - - - - - - - - - - - - - */ > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Jmol-users mailing list > Jmo...@li... > https://lists.sourceforge.net/lists/listinfo/jmol-users > -- Robert M. Hanson Professor of Chemistry St. Olaf College Northfield, MN http://www.stolaf.edu/people/hansonr If nature does not answer first what we want, it is better to take what answer we get. -- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900 |