| Clazz.declarePackage ("JSV.popup"); | |
| Clazz.load (["JSV.api.JSVPopupMenu", "J.popup.GenericSwingPopup"], "JSV.popup.JSVGenericPopup", ["JU.PT", "JSV.common.JSVersion", "JSV.popup.JSVPopupResourceBundle"], function () { | |
| c$ = Clazz.decorateAsClass (function () { | |
| this.vwr = null; | |
| this.updateMode = 0; | |
| this.cnmrPeaks = null; | |
| this.hnmrPeaks = null; | |
| this.aboutComputedMenuBaseCount = 0; | |
| this.allowMenu = false; | |
| this.zoomEnabled = false; | |
| this.pd = null; | |
| this.thisJsvp = null; | |
| Clazz.instantialize (this, arguments); | |
| }, JSV.popup, "JSVGenericPopup", J.popup.GenericSwingPopup, JSV.api.JSVPopupMenu); | |
| Clazz.makeConstructor (c$, | |
| function () { | |
| Clazz.superConstructor (this, JSV.popup.JSVGenericPopup, []); | |
| }); | |
| Clazz.defineMethod (c$, "initialize", | |
| function (viewer, bundle, title) { | |
| this.vwr = viewer; | |
| this.initSwing (title, bundle, viewer.getApplet (), viewer.isJS, viewer.isSigned, false); | |
| }, "JSV.common.JSViewer,J.popup.PopupResource,~S"); | |
| Clazz.overrideMethod (c$, "jpiDispose", | |
| function () { | |
| this.helper.menuClearListeners (this.popupMenu); | |
| this.popupMenu = this.thisPopup = null; | |
| }); | |
| Clazz.overrideMethod (c$, "jpiGetMenuAsObject", | |
| function () { | |
| return this.popupMenu; | |
| }); | |
| Clazz.overrideMethod (c$, "jpiShow", | |
| function (x, y) { | |
| this.show (x, y, false); | |
| this.appRestorePopupMenu (); | |
| this.menuShowPopup (this.popupMenu, this.thisx, this.thisy); | |
| }, "~N,~N"); | |
| Clazz.overrideMethod (c$, "jpiUpdateComputedMenus", | |
| function () { | |
| if (this.updateMode == -1) return; | |
| this.updateMode = 0; | |
| this.getViewerData (); | |
| this.updateFileMenu (); | |
| this.updateFileTypeDependentMenus (); | |
| this.updateMode = 1; | |
| this.updateAboutSubmenu (); | |
| }); | |
| Clazz.overrideMethod (c$, "appCheckItem", | |
| function (item, newMenu) { | |
| }, "~S,javajs.awt.SC"); | |
| Clazz.overrideMethod (c$, "appCheckSpecialMenu", | |
| function (item, subMenu, word) { | |
| }, "~S,javajs.awt.SC,~S"); | |
| Clazz.overrideMethod (c$, "appFixLabel", | |
| function (label) { | |
| if (label.startsWith ("_")) label = label.substring (label.indexOf ("_", 2) + 1); | |
| else if (label.equals ("VERSION")) label = JSV.common.JSVersion.VERSION; | |
| label = JU.PT.rep (label, "JAVA", ""); | |
| label = JU.PT.rep (label, "CB", ""); | |
| label = JU.PT.rep (label, "Menu", ""); | |
| label = JU.PT.rep (label, "_", " "); | |
| return label; | |
| }, "~S"); | |
| Clazz.overrideMethod (c$, "appFixScript", | |
| function (id, script) { | |
| return script; | |
| }, "~S,~S"); | |
| Clazz.overrideMethod (c$, "appGetMenuAsString", | |
| function (title) { | |
| return ( new JSV.popup.JSVPopupResourceBundle ()).getMenuAsText (title); | |
| }, "~S"); | |
| Clazz.overrideMethod (c$, "appGetBooleanProperty", | |
| function (name) { | |
| return false; | |
| }, "~S"); | |
| Clazz.overrideMethod (c$, "appIsSpecialCheckBox", | |
| function (item, basename, what, TF) { | |
| return false; | |
| }, "javajs.awt.SC,~S,~S,~B"); | |
| Clazz.overrideMethod (c$, "appRestorePopupMenu", | |
| function () { | |
| this.thisPopup = this.popupMenu; | |
| }); | |
| Clazz.overrideMethod (c$, "appRunScript", | |
| function (script) { | |
| this.vwr.runScript (script); | |
| }, "~S"); | |
| Clazz.overrideMethod (c$, "appUpdateForShow", | |
| function () { | |
| this.thisJsvp = this.vwr.selectedPanel; | |
| this.setEnables (this.thisJsvp); | |
| if (this.updateMode == -1) return; | |
| this.getViewerData (); | |
| this.updateMode = 2; | |
| this.updateSpectraMenu (); | |
| this.updateAboutSubmenu (); | |
| }); | |
| Clazz.overrideMethod (c$, "appUpdateSpecialCheckBoxValue", | |
| function (item, what, TF) { | |
| }, "javajs.awt.SC,~S,~B"); | |
| Clazz.defineMethod (c$, "getViewerData", | |
| function () { | |
| }); | |
| Clazz.defineMethod (c$, "updateFileTypeDependentMenus", | |
| function () { | |
| }); | |
| Clazz.defineMethod (c$, "updateFileMenu", | |
| function () { | |
| var menu = this.htMenus.get ("fileMenu"); | |
| if (menu == null) return; | |
| }); | |
| Clazz.defineMethod (c$, "updateSpectraMenu", | |
| function () { | |
| var menuh = this.htMenus.get ("hnmrMenu"); | |
| var menuc = this.htMenus.get ("cnmrMenu"); | |
| if (menuh != null) this.menuRemoveAll (menuh, 0); | |
| if (menuc != null) this.menuRemoveAll (menuc, 0); | |
| var menu = this.htMenus.get ("spectraMenu"); | |
| if (menu == null) return; | |
| this.menuRemoveAll (menu, 0); | |
| var isOK = new Boolean (this.setSpectraMenu (menuh, this.hnmrPeaks) | this.setSpectraMenu (menuc, this.cnmrPeaks)).valueOf (); | |
| if (isOK) { | |
| if (menuh != null) this.menuAddSubMenu (menu, menuh); | |
| if (menuc != null) this.menuAddSubMenu (menu, menuc); | |
| }this.menuEnable (menu, isOK); | |
| }); | |
| Clazz.defineMethod (c$, "setSpectraMenu", | |
| function (menu, peaks) { | |
| if (menu == null) return false; | |
| this.menuEnable (menu, false); | |
| var n = (peaks == null ? 0 : peaks.size ()); | |
| if (n == 0) return false; | |
| for (var i = 0; i < n; i++) { | |
| var peak = peaks.get (i); | |
| var title = JU.PT.getQuotedAttribute (peak, "title"); | |
| var atoms = JU.PT.getQuotedAttribute (peak, "atoms"); | |
| if (atoms != null) this.menuCreateItem (menu, title, "select visible & (@" + JU.PT.rep (atoms, ",", " or @") + ")", "Focus" + i); | |
| } | |
| this.menuEnable (menu, true); | |
| return true; | |
| }, "javajs.awt.SC,JU.Lst"); | |
| Clazz.defineMethod (c$, "updateAboutSubmenu", | |
| function () { | |
| var menu = this.htMenus.get ("aboutComputedMenu"); | |
| if (menu == null) return; | |
| this.menuRemoveAll (menu, this.aboutComputedMenuBaseCount); | |
| }); | |
| Clazz.overrideMethod (c$, "getSelected", | |
| function (key) { | |
| return false; | |
| }, "~S"); | |
| Clazz.overrideMethod (c$, "setCompoundMenu", | |
| function (panelNodes, allowCompoundMenu) { | |
| }, "JU.Lst,~B"); | |
| Clazz.overrideMethod (c$, "setEnabled", | |
| function (allowMenu, zoomEnabled) { | |
| this.allowMenu = allowMenu; | |
| this.zoomEnabled = zoomEnabled; | |
| this.enableMenus (); | |
| }, "~B,~B"); | |
| Clazz.defineMethod (c$, "enableMenus", | |
| function () { | |
| this.setItemEnabled ("_SIGNED_FileMenu", this.allowMenu); | |
| this.setItemEnabled ("ViewMenu", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Open_File...", this.allowMenu); | |
| this.setItemEnabled ("Open_Simulation...", this.allowMenu); | |
| this.setItemEnabled ("Open_URL...", this.allowMenu); | |
| this.setItemEnabled ("Save_AsMenu", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Export_AsMenu", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Append_File...", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Append_Simulation...", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Append_URL...", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Views...", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("Script", this.allowMenu); | |
| this.setItemEnabled ("Print...", this.pd != null && this.allowMenu); | |
| this.setItemEnabled ("ZoomMenu", this.pd != null && this.zoomEnabled); | |
| }); | |
| Clazz.defineMethod (c$, "setEnables", | |
| function (jsvp) { | |
| this.pd = (jsvp == null ? null : jsvp.getPanelData ()); | |
| var spec0 = (this.pd == null ? null : this.pd.getSpectrum ()); | |
| var isOverlaid = this.pd != null && this.pd.isShowAllStacked (); | |
| var isSingle = this.pd != null && this.pd.haveSelectedSpectrum (); | |
| this.setItemEnabled ("Integration", this.pd != null && this.pd.getSpectrum ().canIntegrate ()); | |
| this.setItemEnabled ("Measurements", true); | |
| this.setItemEnabled ("Peaks", this.pd != null && this.pd.getSpectrum ().is1D ()); | |
| this.setItemEnabled ("Predicted_Solution_Colour_(fitted)", isSingle && spec0.canShowSolutionColor ()); | |
| this.setItemEnabled ("Predicted_Solution_Colour_(interpolated)", isSingle && spec0.canShowSolutionColor ()); | |
| this.setItemEnabled ("Toggle_Trans/Abs", isSingle && spec0.canConvertTransAbs ()); | |
| this.setItemEnabled ("Show_Overlay_Key", isOverlaid && this.pd.getNumberOfGraphSets () == 1); | |
| this.setItemEnabled ("Overlay_Offset...", isOverlaid); | |
| this.setItemEnabled ("JDXMenu", this.pd != null && spec0.canSaveAsJDX ()); | |
| this.setItemEnabled ("Export_AsMenu", this.pd != null); | |
| this.enableMenus (); | |
| }, "JSV.api.JSVPanel"); | |
| Clazz.defineMethod (c$, "setItemEnabled", | |
| function (key, TF) { | |
| this.menuEnable (this.htMenus.get (key), TF); | |
| }, "~S,~B"); | |
| Clazz.overrideMethod (c$, "setSelected", | |
| function (key, TF) { | |
| var item = this.htMenus.get (key); | |
| if (item == null || item.isSelected () == TF) return; | |
| this.menuEnable (item, false); | |
| item.setSelected (TF); | |
| this.menuEnable (item, true); | |
| }, "~S,~B"); | |
| Clazz.overrideMethod (c$, "menuSetCheckBoxOption", | |
| function (item, name, what) { | |
| return null; | |
| }, "javajs.awt.SC,~S,~S"); | |
| Clazz.defineStatics (c$, | |
| "dumpList", false, | |
| "UPDATE_NEVER", -1, | |
| "UPDATE_ALL", 0, | |
| "UPDATE_CONFIG", 1, | |
| "UPDATE_SHOW", 2); | |
| }); | |