cascade / static /j2s /JSV /app /JSVApp.js
bobbypaton
Initial CASCADE HF Space deployment
233f6d4
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.");
});