Clazz.declarePackage ("JSV.common"); Clazz.load (null, "JSV.common.PanelNode", ["JU.SB", "JSV.common.Parameters"], function () { c$ = Clazz.decorateAsClass (function () { this.treeNode = null; this.source = null; this.fileName = null; this.jsvp = null; this.id = null; this.legend = null; this.isSelected = false; this.isView = false; this.isSimulation = false; this.frameTitle = null; Clazz.instantialize (this, arguments); }, JSV.common, "PanelNode"); Clazz.makeConstructor (c$, function (id, fileName, source, jsvp) { this.id = id; this.source = source; this.fileName = fileName; this.isSimulation = (source.getFilePath ().indexOf ("http://SIMULATION/") >= 0); this.jsvp = jsvp; if (jsvp != null) { this.pd ().getSpectrumAt (0).setId (id); this.frameTitle = jsvp.getTitle (); }}, "~S,~S,JSV.source.JDXSource,JSV.api.JSVPanel"); Clazz.defineMethod (c$, "setTreeNode", function (node) { this.treeNode = node; }, "JSV.api.JSVTreeNode"); Clazz.defineMethod (c$, "getTreeNode", function () { return this.treeNode; }); Clazz.defineMethod (c$, "dispose", function () { this.source.dispose (); if (this.jsvp != null) this.jsvp.dispose (); this.source = null; this.jsvp = null; this.legend = null; }); Clazz.defineMethod (c$, "pd", function () { return this.jsvp.getPanelData (); }); Clazz.defineMethod (c$, "getSpectrum", function () { return this.pd ().getSpectrum (); }); Clazz.defineMethod (c$, "setLegend", function (legend) { if (this.legend != null) this.legend.dispose (); this.legend = legend; return legend; }, "JSV.dialog.JSVDialog"); Clazz.overrideMethod (c$, "toString", function () { return ((this.id == null ? "" : this.id + ": ") + (this.frameTitle == null ? this.fileName : this.frameTitle)); }); c$.findSourceByNameOrId = Clazz.defineMethod (c$, "findSourceByNameOrId", function (id, panelNodes) { for (var i = panelNodes.size (); --i >= 0; ) { var node = panelNodes.get (i); if (id.equals (node.id) || id.equals (node.source.getSpectra ().get (0).sourceID) || node.source.matchesFilePath (id)) return node.source; } for (var i = panelNodes.size (); --i >= 0; ) { var node = panelNodes.get (i); if (id.equals (node.fileName)) return node.source; } return null; }, "~S,JU.Lst"); c$.findNodeById = Clazz.defineMethod (c$, "findNodeById", function (id, panelNodes) { if (id != null) for (var i = panelNodes.size (); --i >= 0; ) if (id.equals (panelNodes.get (i).id) || id.equals (panelNodes.get (i).frameTitle)) return panelNodes.get (i); return null; }, "~S,JU.Lst"); c$.findNode = Clazz.defineMethod (c$, "findNode", function (jsvp, panelNodes) { for (var i = panelNodes.size (); --i >= 0; ) if (panelNodes.get (i).jsvp === jsvp) return panelNodes.get (i); return null; }, "JSV.api.JSVPanel,JU.Lst"); c$.getSpectrumListAsString = Clazz.defineMethod (c$, "getSpectrumListAsString", function (panelNodes) { var sb = new JU.SB (); for (var i = 0; i < panelNodes.size (); i++) { var node = panelNodes.get (i); if (!node.isView) sb.append (" ").append (node.id); } return sb.toString ().trim (); }, "JU.Lst"); c$.isOpen = Clazz.defineMethod (c$, "isOpen", function (panelNodes, filePath) { var pt = -1; if (filePath != null) for (var i = panelNodes.size (); --i >= 0; ) { if (panelNodes.get (i).source.matchesFilePath (filePath) || filePath.equals (panelNodes.get (i).frameTitle)) return pt; } return -1; }, "JU.Lst,~S"); Clazz.defineMethod (c$, "setFrameTitle", function (name) { this.frameTitle = name; }, "~S"); c$.getLastFileFirstNode = Clazz.defineMethod (c$, "getLastFileFirstNode", function (panelNodes) { var n = panelNodes.size (); var node = (n == 0 ? null : panelNodes.get (n - 1)); for (var i = n - 1; --i >= 0; ) { if (panelNodes.get (i).source !== node.source) break; node = panelNodes.get (i); } return (node == null ? null : node.jsvp); }, "JU.Lst"); Clazz.defineMethod (c$, "getInfo", function (key) { var info = this.pd ().getInfo (false, key); JSV.common.Parameters.putInfo (key, info, "panelId", this.id); JSV.common.Parameters.putInfo (key, info, "panelFileName", this.fileName); JSV.common.Parameters.putInfo (key, info, "panelSource", this.source.getFilePath ()); return info; }, "~S"); });