UNPKG

biojs-vis-pdbviewer

Version:

A BioJS 2.0 component to view protein structures

754 lines (716 loc) 23.1 kB
(function(Clazz ,Clazz_newLongArray ,Clazz_doubleToByte ,Clazz_doubleToInt ,Clazz_doubleToLong ,Clazz_declarePackage ,Clazz_instanceOf ,Clazz_load ,Clazz_instantialize ,Clazz_decorateAsClass ,Clazz_floatToInt ,Clazz_makeConstructor ,Clazz_defineEnumConstant ,Clazz_exceptionOf ,Clazz_newIntArray ,Clazz_defineStatics ,Clazz_newFloatArray ,Clazz_declareType ,Clazz_prepareFields ,Clazz_superConstructor ,Clazz_newByteArray ,Clazz_declareInterface ,Clazz_p0p ,Clazz_pu$h ,Clazz_newShortArray ,Clazz_innerTypeInstance ,Clazz_isClassDefined ,Clazz_prepareCallback ,Clazz_newArray ,Clazz_castNullAs ,Clazz_floatToShort ,Clazz_superCall ,Clazz_decorateAsType ,Clazz_newBooleanArray ,Clazz_newCharArray ,Clazz_implementOf ,Clazz_newDoubleArray ,Clazz_overrideConstructor ,Clazz_clone ,Clazz_doubleToShort ,Clazz_getInheritedLevel ,Clazz_getParamsType ,Clazz_isAF ,Clazz_isAI ,Clazz_isAS ,Clazz_isASS ,Clazz_isAP ,Clazz_isAFloat ,Clazz_isAII ,Clazz_isAFF ,Clazz_isAFFF ,Clazz_tryToSearchAndExecute ,Clazz_getStackTrace ,Clazz_inheritArgs ,Clazz_alert ,Clazz_defineMethod ,Clazz_overrideMethod ,Clazz_declareAnonymous //,Clazz_checkPrivateMethod ,Clazz_cloneFinals ){ var $t$; //var c$; // coreconsole.z.js // Note that this was written before I had Swing working. But this works fine. -- BH // BH 6/27/2014 8:23:49 AM 14.2.0 console broken for Safari and Chrome // BH 6/1/2014 8:32:12 AM added Help button; better mouse/keypress handling // BH 1/5/2013 12:45:19 PM Jmol.Console = { buttons:{}, buttonWidth:100, click:function(id) { Jmol.Console.buttons[id].console.appletConsole.doAction(Jmol.Console.buttons[id]); } } Jmol.Console.JSConsole = function(appletConsole) { this.applet = appletConsole.vwr.html5Applet; var id = this.id = this.applet._id+"_console"; var console = this; Jmol.Console.buttons[console.id] = console; console.appletConsole = appletConsole; console.input = appletConsole.input = new Jmol.Console.Input(console); console.output = appletConsole.output = new Jmol.Console.Output(console); // set up this.appletConsole.input, this.appletconsole.output // set up buttons, which are already made by this time: // I would prefer NOT to use jQueryUI for this - just simple buttons with simple actions // create and insert HTML code var s = '<div id="$ID" class="jmolConsole" style="display:block;background-color:yellow;width:600px;height:362px;position:absolute;z-index:' + Jmol._z.console +'"><div id=$ID_title></div><div id=$ID_label1></div><div id=$ID_outputdiv style="position:relative;left:2px"></div><div id=$ID_inputdiv style="position:relative;left:2px"></div><div id=$ID_buttondiv></div></div>' var setBtn = function(console, btn) { btn.console = console; btn.id = id + "_" + btn.label.replace(/\s/g,"_"); Jmol.Console.buttons[btn.id] = btn; return btn.html(); } s = s.replace(/\$ID/g,id) Jmol.$after("body", s); console.setContainer(Jmol._$(id)); console.setPosition(); console.dragBind(true); s = "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:Jmol.Console.buttons['"+id+"'].setVisible(false)\">close</a>"; s += "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:Jmol.script("+console.applet._id+",'help')\">help</a>"; Jmol.$html(id + "_label1", s); Jmol.$html(id + "_inputdiv", '<textarea id="' + id + '_input" style="width:590px;height:100px"></textarea>'); Jmol.$html(id + "_outputdiv", '<textarea id="' + id + '_output" style="width:590px;height:200px"></textarea>'); s = setBtn(console, appletConsole.runButton) + setBtn(console, appletConsole.loadButton) + setBtn(console, appletConsole.clearInButton) + setBtn(console, appletConsole.clearOutButton) + setBtn(console, appletConsole.historyButton) + setBtn(console, appletConsole.stateButton); Jmol.$html(id + "_buttondiv", s); Jmol.$bind("#" + id + "_input", "keypress", function(event) { console.input.keyPressed(event) }); Jmol.$bind("#" + id + "_input", "keyup", function(event) { console.input.keyReleased(event) }); Jmol.$bind("#" + id + "_input", "mousedown touchstart", function(event) { console.ignoreMouse=true }); Jmol.$bind("#" + id + "_output", "mousedown touchstart", function(event) { console.ignoreMouse=true }); console.setButton = function(text) { return new Jmol.Console.Button(this, text); } console.setVisible = function(b) { if (b) this.container.show(); else this.container.hide(); this.dragBind(b); } console.setTitle = function(title) { //Jmol.$html(this.id + "_title", title); } } Jmol.Swing.setDraggable(Jmol.Console.JSConsole); Jmol.Console.Input = function(console) { this.console = console; this.id = console.id + "_input"; // something like this.... this.getText = function() { return Jmol.$val(this.id); } this.setText = function(text) { if (text == null) text = ""; Jmol.$val(this.id, text); } this.keyPressed = function(ev) { // ev.which is 0 for press and ev.keyCode for release // for up and down arrows (38,40), but not for left/right (37,39) var kcode = (ev.keyCode !=8 && ev.keyCode != 9 && ev.keyCode != 10 && ev.keyCode != 13 && ev.which == ev.keyCode ? 0 : ev.keyCode); var isCtrl = ev.ctrlKey; if (kcode == 13)kcode=10; var mode = this.console.appletConsole.processKey(kcode, 401/*java.awt.event.KeyEvent.KEY_PRESSED*/, isCtrl); if (isCtrl && kcode == 10) this.setText(this.getText() + "\n") //document.title=mode + " " + ev.which + " " + ev.keyCode + " " + kcode if (ev.keyCode == 9 || kcode == 9) { // tab ev.preventDefault(); if (mode == 0) { var me = this; setTimeout(function(){me.setText(me.getText() + "\t"); Jmol.$focus(me.id)},10); } return; } // which, keyCode // standard key: n 0 // left arrow 0 37 // up arrow 0 38, then 38 38 upon release // backspace: 8 8 // safari/chrome: ev.which == ev.keyCode for standard letters if ((mode & 1) == 1 || ev.which == ev.keyCode && kcode != 8 && kcode != 10 && ev.keyCode < 32 || ev.keyCode == 38 || ev.keyCode == 40) { ev.preventDefault(); } } this.keyReleased = function(ev) { var kcode = ev.which; var isCtrl = ev.ctrlKey; if (kcode == 13)kcode=10; if (kcode == 38 || kcode == 40) { this.keyPressed(ev); ev.preventDefault(); return; } var mode = this.console.appletConsole.processKey(kcode, 402/*java.awt.event.KeyEvent.KEY_RELEASED*/, isCtrl); if ((mode & 1) == 1) ev.preventDefault(); //if ((mode & 2) == 2) { //} } this.getCaretPosition = function() { var el = Jmol._$(this.id)[0]; if('selectionStart' in el) return el.selectionStart; if(!('selection' in document)) return 0; el.focus(); var sel = document.selection.createRange(); var len = document.selection.createRange().text.length; sel.moveStart('character', -el.value.length); return sel.text.length - len; } } Jmol.Console.Output = function(console) { this.id = console.id + "_output"; this.getText = function() { return Jmol.$val(this.id); } this.setText = function(text) { if (text == null) text = ""; Jmol.$val(this.id, text); } this.append = function(message, att) { this.setText(this.getText() + message); Jmol.$scrollTo(this.id, -1); } } Jmol.Console.Button = function(text) { this.label = text; } Jmol.Console.Button.prototype.addConsoleListener = function(appletConsole) { this.appletConsole = appletConsole; Jmol.Console.buttons[this.id] = this; } Jmol.Console.Button.prototype.html = function() { var s = '<input type="button" id="' + this.id + '" style="width:' + Jmol.Console.buttonWidth + 'px" value="' + this.label + '" onClick="Jmol.Console.click(\'' + this.id + '\')"/>' return s; } Clazz_declarePackage ("J.console"); Clazz_declareInterface (J.console, "GenericTextArea"); Clazz_declarePackage ("J.console"); Clazz_load (["J.api.JmolAppConsoleInterface", "$.JmolCallbackListener", "java.util.Hashtable"], "J.console.GenericConsole", ["java.lang.Boolean", "JU.PT", "J.c.CBK", "J.i18n.GT", "JS.T", "JV.Viewer"], function () { c$ = Clazz_decorateAsClass (function () { this.input = null; this.output = null; this.vwr = null; this.labels = null; this.menuMap = null; this.editButton = null; this.runButton = null; this.historyButton = null; this.stateButton = null; this.clearOutButton = null; this.clearInButton = null; this.loadButton = null; this.defaultMessage = null; this.label1 = null; this.nTab = 0; this.incompleteCmd = null; Clazz_instantialize (this, arguments); }, J.console, "GenericConsole", null, [J.api.JmolAppConsoleInterface, J.api.JmolCallbackListener]); Clazz_prepareFields (c$, function () { this.menuMap = new java.util.Hashtable (); }); Clazz_defineMethod (c$, "setViewer", function (vwr) { this.vwr = vwr; }, "JV.Viewer"); Clazz_defineMethod (c$, "addButton", function (b, label) { b.addConsoleListener (this); this.menuMap.put (label, b); return b; }, "J.api.JmolAbstractButton,~S"); Clazz_defineMethod (c$, "getLabel1", function () { return null; }); Clazz_defineMethod (c$, "setupLabels", function () { this.labels.put ("help", J.i18n.GT._ ("&Help")); this.labels.put ("search", J.i18n.GT._ ("&Search...")); this.labels.put ("commands", J.i18n.GT._ ("&Commands")); this.labels.put ("functions", J.i18n.GT._ ("Math &Functions")); this.labels.put ("parameters", J.i18n.GT._ ("Set &Parameters")); this.labels.put ("more", J.i18n.GT._ ("&More")); this.labels.put ("Editor", J.i18n.GT._ ("Editor")); this.labels.put ("State", J.i18n.GT._ ("State")); this.labels.put ("Run", J.i18n.GT._ ("Run")); this.labels.put ("Clear Output", J.i18n.GT._ ("Clear Output")); this.labels.put ("Clear Input", J.i18n.GT._ ("Clear Input")); this.labels.put ("History", J.i18n.GT._ ("History")); this.labels.put ("Load", J.i18n.GT._ ("Load")); this.labels.put ("label1", J.i18n.GT._ ("press CTRL-ENTER for new line or paste model data and press Load")); this.labels.put ("default", J.i18n.GT._ ("Messages will appear here. Enter commands in the box below. Click the console Help menu item for on-line help, which will appear in a new browser window.")); }); Clazz_defineMethod (c$, "setLabels", function () { var doTranslate = J.i18n.GT.setDoTranslate (true); this.editButton = this.setButton ("Editor"); this.stateButton = this.setButton ("State"); this.runButton = this.setButton ("Run"); this.clearOutButton = this.setButton ("Clear Output"); this.clearInButton = this.setButton ("Clear Input"); this.historyButton = this.setButton ("History"); this.loadButton = this.setButton ("Load"); this.defaultMessage = this.getLabel ("default"); this.setTitle (); J.i18n.GT.setDoTranslate (doTranslate); }); Clazz_defineMethod (c$, "getLabel", function (key) { if (this.labels == null) { this.labels = new java.util.Hashtable (); this.labels.put ("title", J.i18n.GT._ ("Jmol Script Console") + " " + JV.Viewer.getJmolVersion ()); this.setupLabels (); }return this.labels.get (key); }, "~S"); Clazz_defineMethod (c$, "displayConsole", function () { this.layoutWindow (null); this.outputMsg (this.defaultMessage); }); Clazz_defineMethod (c$, "updateLabels", function () { return; }); Clazz_defineMethod (c$, "completeCommand", function (thisCmd) { if (thisCmd.length == 0) return null; var strCommand = (this.nTab <= 0 || this.incompleteCmd == null ? thisCmd : this.incompleteCmd); this.incompleteCmd = strCommand; var splitCmd = J.console.GenericConsole.splitCommandLine (thisCmd); if (splitCmd == null) return null; var asCommand = splitCmd[2] == null; var inBrace = (splitCmd[3] != null); var notThis = splitCmd[asCommand ? 1 : 2]; var s = splitCmd[1]; if (notThis.length == 0) return null; var token = JS.T.getTokenFromName (s.trim ().toLowerCase ()); var cmdtok = (token == null ? 0 : token.tok); var isSelect = JS.T.tokAttr (cmdtok, 12288); splitCmd = J.console.GenericConsole.splitCommandLine (strCommand); var cmd = null; if (!asCommand && (notThis.charAt (0) == '"' || notThis.charAt (0) == '\'')) { var q = notThis.charAt (0); notThis = JU.PT.trim (notThis, "\"\'"); var stub = JU.PT.trim (splitCmd[2], "\"\'"); cmd = this.nextFileName (stub, this.nTab); if (cmd != null) cmd = splitCmd[0] + splitCmd[1] + q + cmd + q; } else { var map = null; if (!asCommand) { notThis = s; if (inBrace || splitCmd[2].startsWith ("$") || JS.T.isIDcmd (cmdtok) || isSelect) { map = new java.util.Hashtable (); this.vwr.getObjectMap (map, inBrace || isSelect ? '{' : splitCmd[2].startsWith ("$") ? '$' : '0'); }}cmd = JS.T.completeCommand (map, s.equalsIgnoreCase ("set "), asCommand, asCommand ? splitCmd[1] : splitCmd[2], this.nTab); cmd = splitCmd[0] + (cmd == null ? notThis : asCommand ? cmd : splitCmd[1] + cmd); }return (cmd == null || cmd.equals (strCommand) ? null : cmd); }, "~S"); Clazz_defineMethod (c$, "doAction", function (source) { if (source === this.runButton) { this.execute (null); } else if (source === this.editButton) { this.vwr.getProperty ("DATA_API", "scriptEditor", null); } else if (source === this.historyButton) { this.clearContent (this.vwr.getSetHistory (2147483647)); } else if (source === this.stateButton) { this.clearContent (this.vwr.getStateInfo ()); } else if (source === this.clearInButton) { this.input.setText (""); return; }if (source === this.clearOutButton) { this.output.setText (""); return; }if (source === this.loadButton) { this.vwr.loadInlineAppend (this.input.getText (), false); return; }if (this.isMenuItem (source)) { this.execute ((source).getName ()); return; }}, "~O"); Clazz_defineMethod (c$, "execute", function (strCommand) { var cmd = (strCommand == null ? this.input.getText () : strCommand); if (strCommand == null) this.input.setText (null); var strErrorMessage = this.vwr.script (cmd + "\u0001## EDITOR_IGNORE ##"); if (strErrorMessage != null && !strErrorMessage.equals ("pending")) this.outputMsg (strErrorMessage); }, "~S"); Clazz_defineMethod (c$, "destroyConsole", function () { if (this.vwr.isApplet ()) this.vwr.getProperty ("DATA_API", "getAppConsole", Boolean.FALSE); }); c$.setAbstractButtonLabels = Clazz_defineMethod (c$, "setAbstractButtonLabels", function (menuMap, labels) { for (var key, $key = menuMap.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) { var m = menuMap.get (key); var label = labels.get (key); if (key.indexOf ("Tip") == key.length - 3) { m.setToolTipText (labels.get (key)); } else { var mnemonic = J.console.GenericConsole.getMnemonic (label); if (mnemonic != ' ') m.setMnemonic (mnemonic); label = J.console.GenericConsole.getLabelWithoutMnemonic (label); m.setText (label); }} }, "java.util.Map,java.util.Map"); c$.getLabelWithoutMnemonic = Clazz_defineMethod (c$, "getLabelWithoutMnemonic", function (label) { if (label == null) { return null; }var index = label.indexOf ('&'); if (index == -1) { return label; }return label.substring (0, index) + ((index < label.length - 1) ? label.substring (index + 1) : ""); }, "~S"); c$.getMnemonic = Clazz_defineMethod (c$, "getMnemonic", function (label) { if (label == null) { return ' '; }var index = label.indexOf ('&'); if ((index == -1) || (index == label.length - 1)) { return ' '; }return label.charAt (index + 1); }, "~S"); c$.map = Clazz_defineMethod (c$, "map", function (button, key, label, menuMap) { var mnemonic = J.console.GenericConsole.getMnemonic (label); if (mnemonic != ' ') (button).setMnemonic (mnemonic); menuMap.put (key, button); }, "~O,~S,~S,java.util.Map"); Clazz_overrideMethod (c$, "notifyEnabled", function (type) { switch (type) { case J.c.CBK.ECHO: case J.c.CBK.MEASURE: case J.c.CBK.MESSAGE: case J.c.CBK.PICK: return true; case J.c.CBK.ANIMFRAME: case J.c.CBK.APPLETREADY: case J.c.CBK.ATOMMOVED: case J.c.CBK.CLICK: case J.c.CBK.DRAGDROP: case J.c.CBK.ERROR: case J.c.CBK.EVAL: case J.c.CBK.HOVER: case J.c.CBK.LOADSTRUCT: case J.c.CBK.MINIMIZATION: case J.c.CBK.RESIZE: case J.c.CBK.SCRIPT: case J.c.CBK.SYNC: case J.c.CBK.STRUCTUREMODIFIED: break; } return false; }, "J.c.CBK"); Clazz_overrideMethod (c$, "getText", function () { return this.output.getText (); }); Clazz_overrideMethod (c$, "sendConsoleEcho", function (strEcho) { if (strEcho == null) { this.updateLabels (); this.outputMsg (null); strEcho = this.defaultMessage; }this.outputMsg (strEcho); }, "~S"); Clazz_defineMethod (c$, "outputMsg", function (message) { if (message == null || message.length == 0) { this.output.setText (""); return; }if (message.charAt (message.length - 1) != '\n') message += "\n"; this.output.append (message); }, "~S"); Clazz_defineMethod (c$, "clearContent", function (text) { this.output.setText (text); }, "~S"); Clazz_overrideMethod (c$, "sendConsoleMessage", function (strInfo) { if (strInfo != null && this.output.getText ().startsWith (this.defaultMessage)) this.outputMsg (null); this.outputMsg (strInfo); }, "~S"); Clazz_overrideMethod (c$, "notifyCallback", function (type, data) { var strInfo = (data == null || data[1] == null ? null : data[1].toString ()); switch (type) { case J.c.CBK.ECHO: this.sendConsoleEcho (strInfo); break; case J.c.CBK.MEASURE: var mystatus = data[3]; if (mystatus.indexOf ("Picked") >= 0 || mystatus.indexOf ("Sequence") >= 0) this.sendConsoleMessage (strInfo); else if (mystatus.indexOf ("Completed") >= 0) this.sendConsoleEcho (strInfo.substring (strInfo.lastIndexOf (",") + 2, strInfo.length - 1)); break; case J.c.CBK.MESSAGE: this.sendConsoleMessage (data == null ? null : strInfo); break; case J.c.CBK.PICK: this.sendConsoleMessage (strInfo); break; } }, "J.c.CBK,~A"); Clazz_overrideMethod (c$, "setCallbackFunction", function (callbackType, callbackFunction) { }, "~S,~S"); Clazz_overrideMethod (c$, "zap", function () { }); Clazz_defineMethod (c$, "recallCommand", function (up) { var cmd = this.vwr.getSetHistory (up ? -1 : 1); if (cmd == null) return; this.input.setText (cmd); }, "~B"); Clazz_defineMethod (c$, "processKey", function (kcode, kid, isControlDown) { var mode = 0; switch (kid) { case 401: switch (kcode) { case 9: var s = this.input.getText (); if (s.endsWith ("\n") || s.endsWith ("\t")) return 0; mode = 1; if (this.input.getCaretPosition () == s.length) { var cmd = this.completeCommand (s); if (cmd != null) this.input.setText (cmd.$replace ('\t', ' ')); this.nTab++; return mode; }break; case 27: mode = 1; this.input.setText (""); break; } this.nTab = 0; if (kcode == 10 && !isControlDown) { this.execute (null); return mode; }if (kcode == 38 || kcode == 40) { this.recallCommand (kcode == 38); return mode; }break; case 402: if (kcode == 10 && !isControlDown) return mode; break; } return mode | 2; }, "~N,~N,~B"); c$.splitCommandLine = Clazz_defineMethod (c$, "splitCommandLine", function (cmd) { var sout = new Array (4); var isEscaped1 = false; var isEscaped2 = false; var isEscaped = false; if (cmd.length == 0) return null; var ptQ = -1; var ptCmd = 0; var ptToken = 0; var nBrace = 0; var ch; for (var i = 0; i < cmd.length; i++) { switch (ch = cmd.charAt (i)) { case '"': if (!isEscaped && !isEscaped1) { isEscaped2 = !isEscaped2; if (isEscaped2) ptQ = ptToken = i; }break; case '\'': if (!isEscaped && !isEscaped2) { isEscaped1 = !isEscaped1; if (isEscaped1) ptQ = ptToken = i; }break; case '\\': isEscaped = !isEscaped; continue; case ' ': if (!isEscaped && !isEscaped1 && !isEscaped2) { ptToken = i + 1; ptQ = -1; }break; case ';': if (!isEscaped1 && !isEscaped2) { ptCmd = ptToken = i + 1; ptQ = -1; nBrace = 0; }break; case '{': case '}': if (!isEscaped1 && !isEscaped2) { nBrace += (ch == '{' ? 1 : -1); ptToken = i + 1; ptQ = -1; }break; default: if (!isEscaped1 && !isEscaped2) ptQ = -1; } isEscaped = false; } sout[0] = cmd.substring (0, ptCmd); sout[1] = (ptToken == ptCmd ? cmd.substring (ptCmd) : cmd.substring (ptCmd, (ptToken > ptQ ? ptToken : ptQ))); sout[2] = (ptToken == ptCmd ? null : cmd.substring (ptToken)); sout[3] = (nBrace > 0 ? "{" : null); return sout; }, "~S"); }); Clazz_declarePackage ("J.consolejs"); Clazz_load (["J.console.GenericConsole"], "J.consolejs.AppletConsole", null, function () { c$ = Clazz_decorateAsClass (function () { this.jsConsole = null; Clazz_instantialize (this, arguments); }, J.consolejs, "AppletConsole", J.console.GenericConsole); Clazz_makeConstructor (c$, function () { Clazz_superConstructor (this, J.consolejs.AppletConsole, []); }); Clazz_overrideMethod (c$, "start", function (vwr) { this.setViewer (vwr); this.setLabels (); this.displayConsole (); }, "JV.Viewer"); Clazz_overrideMethod (c$, "layoutWindow", function (enabledButtons) { { this.jsConsole = new Jmol.Console.JSConsole(this); }this.setTitle (); }, "~S"); Clazz_overrideMethod (c$, "setTitle", function () { { if (this.jsConsole) this.jsConsole.setTitle(this.getLabel("title")); }}); Clazz_overrideMethod (c$, "setVisible", function (visible) { { this.jsConsole.setVisible(visible); }}, "~B"); Clazz_overrideMethod (c$, "setButton", function (text) { { return new Jmol.Console.Button(text); }}, "~S"); Clazz_overrideMethod (c$, "dispose", function () { this.setVisible (false); }); Clazz_overrideMethod (c$, "isMenuItem", function (source) { return false; }, "~O"); Clazz_overrideMethod (c$, "getScriptEditor", function () { return null; }); Clazz_overrideMethod (c$, "nextFileName", function (stub, nTab) { return null; }, "~S,~N"); }); })(Clazz ,Clazz.newLongArray ,Clazz.doubleToByte ,Clazz.doubleToInt ,Clazz.doubleToLong ,Clazz.declarePackage ,Clazz.instanceOf ,Clazz.load ,Clazz.instantialize ,Clazz.decorateAsClass ,Clazz.floatToInt ,Clazz.makeConstructor ,Clazz.defineEnumConstant ,Clazz.exceptionOf ,Clazz.newIntArray ,Clazz.defineStatics ,Clazz.newFloatArray ,Clazz.declareType ,Clazz.prepareFields ,Clazz.superConstructor ,Clazz.newByteArray ,Clazz.declareInterface ,Clazz.p0p ,Clazz.pu$h ,Clazz.newShortArray ,Clazz.innerTypeInstance ,Clazz.isClassDefined ,Clazz.prepareCallback ,Clazz.newArray ,Clazz.castNullAs ,Clazz.floatToShort ,Clazz.superCall ,Clazz.decorateAsType ,Clazz.newBooleanArray ,Clazz.newCharArray ,Clazz.implementOf ,Clazz.newDoubleArray ,Clazz.overrideConstructor ,Clazz.clone ,Clazz.doubleToShort ,Clazz.getInheritedLevel ,Clazz.getParamsType ,Clazz.isAF ,Clazz.isAI ,Clazz.isAS ,Clazz.isASS ,Clazz.isAP ,Clazz.isAFloat ,Clazz.isAII ,Clazz.isAFF ,Clazz.isAFFF ,Clazz.tryToSearchAndExecute ,Clazz.getStackTrace ,Clazz.inheritArgs ,Clazz.alert ,Clazz.defineMethod ,Clazz.overrideMethod ,Clazz.declareAnonymous //,Clazz.checkPrivateMethod ,Clazz.cloneFinals );