Clazz.declarePackage ("JSV.app"); Clazz.load (["JSV.api.JSVAppInterface", "$.PanelListener"], "JSV.app.JSVApp", ["java.lang.Double", "JU.Lst", "$.PT", "JSV.common.Coordinate", "$.JSVFileManager", "$.JSVersion", "$.JSViewer", "$.PeakPickEvent", "$.ScriptToken", "$.SubSpecChangeEvent", "$.ZoomEvent", "JU.Logger"], function () { c$ = Clazz.decorateAsClass (function () { this.appletFrame = null; this.isNewWindow = false; this.appletReadyCallbackFunctionName = null; this.coordCallbackFunctionName = null; this.loadFileCallbackFunctionName = null; this.peakCallbackFunctionName = null; this.syncCallbackFunctionName = null; this.vwr = null; this.prevPanel = null; Clazz.instantialize (this, arguments); }, JSV.app, "JSVApp", null, [JSV.api.PanelListener, JSV.api.JSVAppInterface]); Clazz.makeConstructor (c$, function (appletFrame, isJS) { this.appletFrame = appletFrame; this.initViewer (isJS); this.initParams (appletFrame.getParameter ("script")); }, "JSV.api.AppletFrame,~B"); Clazz.defineMethod (c$, "initViewer", function (isJS) { this.vwr = new JSV.common.JSViewer (this, true, isJS); this.appletFrame.setDropTargetListener (this.isSigned (), this.vwr); var path = this.appletFrame.getDocumentBase (); JSV.common.JSVFileManager.setDocumentBase (this.vwr, path); }, "~B"); Clazz.overrideMethod (c$, "isPro", function () { return this.isSigned (); }); Clazz.overrideMethod (c$, "isSigned", function () { { return true; }}); Clazz.defineMethod (c$, "getAppletFrame", function () { return this.appletFrame; }); Clazz.defineMethod (c$, "dispose", function () { try { this.vwr.dispose (); } catch (e) { if (Clazz.exceptionOf (e, Exception)) { e.printStackTrace (); } else { throw e; } } }); Clazz.overrideMethod (c$, "getPropertyAsJavaObject", function (key) { return this.vwr.getPropertyAsJavaObject (key); }, "~S"); Clazz.overrideMethod (c$, "getPropertyAsJSON", function (key) { return JU.PT.toJSON (null, this.getPropertyAsJavaObject (key)); }, "~S"); Clazz.overrideMethod (c$, "getCoordinate", function () { return this.vwr.getCoordinate (); }); Clazz.overrideMethod (c$, "loadInline", function (data) { this.siOpenDataOrFile (data, null, null, null, -1, -1, true, null, null); this.appletFrame.validateContent (3); }, "~S"); Clazz.overrideMethod (c$, "exportSpectrum", function (type, n) { return this.vwr.$export (type, n); }, "~S,~N"); Clazz.overrideMethod (c$, "setFilePath", function (tmpFilePath) { this.runScript ("load " + JU.PT.esc (tmpFilePath)); }, "~S"); Clazz.overrideMethod (c$, "setSpectrumNumber", function (n) { this.runScript (JSV.common.ScriptToken.SPECTRUMNUMBER + " " + n); }, "~N"); Clazz.overrideMethod (c$, "reversePlot", function () { this.toggle (JSV.common.ScriptToken.REVERSEPLOT); }); Clazz.overrideMethod (c$, "toggleGrid", function () { this.toggle (JSV.common.ScriptToken.GRIDON); }); Clazz.overrideMethod (c$, "toggleCoordinate", function () { this.toggle (JSV.common.ScriptToken.COORDINATESON); }); Clazz.overrideMethod (c$, "toggleIntegration", function () { this.toggle (JSV.common.ScriptToken.INTEGRATE); }); Clazz.defineMethod (c$, "toggle", function (st) { if (this.vwr.selectedPanel != null) this.runScript (st + " TOGGLE"); }, "JSV.common.ScriptToken"); Clazz.overrideMethod (c$, "addHighlight", function (x1, x2, r, g, b, a) { this.runScript ("HIGHLIGHT " + x1 + " " + x2 + " " + r + " " + g + " " + b + " " + a); }, "~N,~N,~N,~N,~N,~N"); Clazz.overrideMethod (c$, "removeHighlight", function (x1, x2) { this.runScript ("HIGHLIGHT " + x1 + " " + x2 + " OFF"); }, "~N,~N"); Clazz.overrideMethod (c$, "removeAllHighlights", function () { this.runScript ("HIGHLIGHT OFF"); }); Clazz.overrideMethod (c$, "syncScript", function (peakScript) { this.vwr.syncScript (peakScript); }, "~S"); Clazz.overrideMethod (c$, "writeStatus", function (msg) { JU.Logger.info (msg); }, "~S"); Clazz.defineMethod (c$, "initParams", function (params) { this.vwr.parseInitScript (params); this.newAppletPanel (); this.vwr.setPopupMenu (this.vwr.allowMenu, this.vwr.parameters.getBoolean (JSV.common.ScriptToken.ENABLEZOOM)); if (this.vwr.allowMenu) { this.vwr.closeSource (null); }this.runScriptNow (params); }, "~S"); Clazz.defineMethod (c$, "newAppletPanel", function () { JU.Logger.info ("newAppletPanel"); this.appletFrame.createMainPanel (this.vwr); }); Clazz.overrideMethod (c$, "repaint", function () { var applet = (this.vwr == null ? null : this.vwr.html5Applet); { applet && self.Jmol && Jmol._repaint &&(Jmol._repaint(applet,true)); }}); Clazz.defineMethod (c$, "updateJS", function (width, height) { }, "~N,~N"); Clazz.overrideMethod (c$, "runScriptNow", function (params) { return this.vwr.runScriptNow (params); }, "~S"); Clazz.defineMethod (c$, "checkCallbacks", function () { if (this.coordCallbackFunctionName == null && this.peakCallbackFunctionName == null) return; var coord = new JSV.common.Coordinate (); var actualCoord = (this.peakCallbackFunctionName == null ? null : new JSV.common.Coordinate ()); if (!this.vwr.pd ().getPickedCoordinates (coord, actualCoord)) return; var iSpec = this.vwr.mainPanel.getCurrentPanelIndex (); if (actualCoord == null) this.appletFrame.callToJavaScript (this.coordCallbackFunctionName, Clazz.newArray (-1, [Double.$valueOf (coord.getXVal ()), Double.$valueOf (coord.getYVal ()), Integer.$valueOf (iSpec + 1)])); else this.appletFrame.callToJavaScript (this.peakCallbackFunctionName, Clazz.newArray (-1, [Double.$valueOf (coord.getXVal ()), Double.$valueOf (coord.getYVal ()), Double.$valueOf (actualCoord.getXVal ()), Double.$valueOf (actualCoord.getYVal ()), Integer.$valueOf (iSpec + 1)])); }); Clazz.defineMethod (c$, "doAdvanced", function (filePath) { }, "~S"); Clazz.overrideMethod (c$, "panelEvent", function (eventObj) { if (Clazz.instanceOf (eventObj, JSV.common.PeakPickEvent)) { this.vwr.processPeakPickEvent (eventObj, false); } else if (Clazz.instanceOf (eventObj, JSV.common.ZoomEvent)) { } else if (Clazz.instanceOf (eventObj, JSV.common.SubSpecChangeEvent)) { }}, "~O"); Clazz.overrideMethod (c$, "getSolnColour", function () { return this.vwr.getSolutionColorStr (true); }); Clazz.defineMethod (c$, "updateJSView", function (msg) { var applet = this.vwr.html5Applet; var panel = (applet == null ? null : this.vwr.selectedPanel); { applet && applet._viewSet != null && applet._updateView(panel, msg); }}, "~S"); Clazz.overrideMethod (c$, "syncToJmol", function (msg) { this.updateJSView (msg); if (this.syncCallbackFunctionName == null) return; JU.Logger.info ("JSVApp.syncToJmol JSV>Jmol " + msg); this.appletFrame.callToJavaScript (this.syncCallbackFunctionName, Clazz.newArray (-1, [this.vwr.fullName, msg])); }, "~S"); Clazz.overrideMethod (c$, "setVisible", function (b) { this.appletFrame.setPanelVisible (b); }, "~B"); Clazz.overrideMethod (c$, "setCursor", function (id) { this.vwr.apiPlatform.setCursor (id, this.appletFrame); }, "~N"); Clazz.overrideMethod (c$, "runScript", function (script) { this.vwr.runScript (script); }, "~S"); Clazz.overrideMethod (c$, "getScriptQueue", function () { return this.vwr.scriptQueue; }); Clazz.overrideMethod (c$, "siSetCurrentSource", function (source) { this.vwr.currentSource = source; }, "JSV.source.JDXSource"); Clazz.overrideMethod (c$, "siSendPanelChange", function () { if (this.vwr.selectedPanel === this.prevPanel) return; this.prevPanel = this.vwr.selectedPanel; this.vwr.sendPanelChange (); }); Clazz.overrideMethod (c$, "siNewWindow", function (isSelected, fromFrame) { this.isNewWindow = isSelected; if (fromFrame) { if (this.vwr.jsvpPopupMenu != null) this.vwr.jsvpPopupMenu.setSelected ("Window", false); } else { this.appletFrame.newWindow (isSelected); }}, "~B,~B"); Clazz.overrideMethod (c$, "siValidateAndRepaint", function (isAll) { var pd = this.vwr.pd (); if (pd != null) pd.setTaintedAll (); this.appletFrame.validate (); this.repaint (); }, "~B"); Clazz.overrideMethod (c$, "siSyncLoad", function (filePath) { this.newAppletPanel (); JU.Logger.info ("JSVP syncLoad reading " + filePath); this.siOpenDataOrFile (null, null, null, filePath, -1, -1, false, null, null); this.appletFrame.validateContent (3); }, "~S"); Clazz.overrideMethod (c$, "siOpenDataOrFile", function (data, name, specs, url, firstSpec, lastSpec, isAppend, script, id) { switch (this.vwr.openDataOrFile (data, name, specs, url, firstSpec, lastSpec, isAppend, id)) { case 0: if (script != null) this.runScript (script); break; case -1: return; default: this.siSetSelectedPanel (null); return; } if (this.vwr.jsvpPopupMenu != null) this.vwr.jsvpPopupMenu.setCompoundMenu (this.vwr.panelNodes, this.vwr.allowCompoundMenu); JU.Logger.info (this.appletFrame.getAppletInfo () + " File " + this.vwr.currentSource.getFilePath () + " Loaded Successfully"); }, "~O,~S,JU.Lst,~S,~N,~N,~B,~S,~S"); Clazz.overrideMethod (c$, "siProcessCommand", function (scriptItem) { this.vwr.runScriptNow (scriptItem); }, "~S"); Clazz.overrideMethod (c$, "siSetSelectedPanel", function (jsvp) { this.vwr.mainPanel.setSelectedPanel (this.vwr, jsvp, this.vwr.panelNodes); this.vwr.selectedPanel = jsvp; this.vwr.spectraTree.setSelectedPanel (this, jsvp); if (jsvp == null) { this.vwr.selectedPanel = jsvp = this.appletFrame.getJSVPanel (this.vwr, null); this.vwr.mainPanel.setSelectedPanel (this.vwr, jsvp, null); }this.appletFrame.validate (); if (jsvp != null) { jsvp.setEnabled (true); jsvp.setFocusable (true); }}, "JSV.api.JSVPanel"); Clazz.overrideMethod (c$, "siExecSetCallback", function (st, value) { switch (st) { case JSV.common.ScriptToken.APPLETREADYCALLBACKFUNCTIONNAME: this.appletReadyCallbackFunctionName = value; break; case JSV.common.ScriptToken.LOADFILECALLBACKFUNCTIONNAME: this.loadFileCallbackFunctionName = value; break; case JSV.common.ScriptToken.PEAKCALLBACKFUNCTIONNAME: this.peakCallbackFunctionName = value; break; case JSV.common.ScriptToken.SYNCCALLBACKFUNCTIONNAME: this.syncCallbackFunctionName = value; break; case JSV.common.ScriptToken.COORDCALLBACKFUNCTIONNAME: this.coordCallbackFunctionName = value; break; } }, "JSV.common.ScriptToken,~S"); Clazz.overrideMethod (c$, "siLoaded", function (value) { if (this.loadFileCallbackFunctionName != null) this.appletFrame.callToJavaScript (this.loadFileCallbackFunctionName, Clazz.newArray (-1, [this.vwr.appletName, value])); this.updateJSView (null); return null; }, "~S"); Clazz.overrideMethod (c$, "siExecHidden", function (b) { }, "~B"); Clazz.overrideMethod (c$, "siExecScriptComplete", function (msg, isOK) { if (!isOK) this.vwr.showMessage (msg); this.siValidateAndRepaint (false); }, "~S,~B"); Clazz.overrideMethod (c$, "siUpdateBoolean", function (st, TF) { }, "JSV.common.ScriptToken,~B"); Clazz.overrideMethod (c$, "siCheckCallbacks", function (title) { this.checkCallbacks (); }, "~S"); Clazz.overrideMethod (c$, "siNodeSet", function (panelNode) { this.appletFrame.validateContent (2); this.siValidateAndRepaint (false); }, "JSV.common.PanelNode"); Clazz.overrideMethod (c$, "siSourceClosed", function (source) { }, "JSV.source.JDXSource"); Clazz.overrideMethod (c$, "siGetNewJSVPanel", function (spec) { if (spec == null) { this.vwr.initialEndIndex = this.vwr.initialStartIndex = -1; return null; }var specs = new JU.Lst (); specs.addLast (spec); var jsvp = this.appletFrame.getJSVPanel (this.vwr, specs); jsvp.getPanelData ().addListener (this); this.vwr.parameters.setFor (jsvp, null, true); return jsvp; }, "JSV.common.Spectrum"); Clazz.overrideMethod (c$, "siGetNewJSVPanel2", function (specs) { if (specs == null) { this.vwr.initialEndIndex = this.vwr.initialStartIndex = -1; return this.appletFrame.getJSVPanel (this.vwr, null); }var jsvp = this.appletFrame.getJSVPanel (this.vwr, specs); this.vwr.initialEndIndex = this.vwr.initialStartIndex = -1; jsvp.getPanelData ().addListener (this); this.vwr.parameters.setFor (jsvp, null, true); return jsvp; }, "JU.Lst"); Clazz.overrideMethod (c$, "siSetPropertiesFromPreferences", function (jsvp, includeMeasures) { this.vwr.checkAutoIntegrate (); }, "JSV.api.JSVPanel,~B"); Clazz.overrideMethod (c$, "siSetLoaded", function (fileName, filePath) { }, "~S,~S"); Clazz.overrideMethod (c$, "siSetMenuEnables", function (node, isSplit) { }, "JSV.common.PanelNode,~B"); Clazz.overrideMethod (c$, "siUpdateRecentMenus", function (filePath) { }, "~S"); Clazz.overrideMethod (c$, "siExecTest", function (value) { var data = ""; this.loadInline (data); }, "~S"); Clazz.overrideMethod (c$, "print", function (fileName) { return this.vwr.print (fileName); }, "~S"); Clazz.overrideMethod (c$, "checkScript", function (script) { return this.vwr.checkScript (script); }, "~S"); c$.getAppletInfo = Clazz.defineMethod (c$, "getAppletInfo", function () { return "JSpecView Applet " + JSV.common.JSVersion.VERSION + "\n\n" + "Authors:\nProf. Robert M. Hanson,\nD. Facey, K. Bryan, C. Walters, Prof. Robert J. Lancashire and\nvolunteer developers through sourceforge."; }); Clazz.defineStatics (c$, "CREDITS", "Authors:\nProf. Robert M. Hanson,\nD. Facey, K. Bryan, C. Walters, Prof. Robert J. Lancashire and\nvolunteer developers through sourceforge."); });