%>
<script type="text/javascript" src="/scripting/client/encoder.js"></script>
-<script type="text/javascript" src="/scripting/client/regedit.js"></script>
-<script type="text/javascript" src="/scripting/client/status.js"></script>
+<script type="text/javascript" src="/scripting/client/call.js"></script>
+<script type="text/javascript" src="/scripting/client/js_scripts.js"></script>
<script type="text/javascript">
}
/*** init the page for qooxdoo ***/
+document.js.add('/scripting/client/status.js');
window.application.main = function()
{
var doc = this.getClientWindow().getClientDocument();
// Always open with stats
var win = new QxWindow();
+ win._onclosebuttonclick = function(e)
+ {
+ this.close();
+ e.stopPropagation();
+ document.js.remove('/scripting/client/status.js');
+ };
with(win) {
setTop(50);
setRight(50);
function showReg()
{
+ document.js.add('/scripting/client/regedit.js');
+
+ var regWin = new QxWindow("Registry Editor");
+ regWin._onclosebuttonclick = function(e)
+ {
+ this.close();
+ e.stopPropagation();
+ document.js.remove('/scripting/client/regedit.js');
+ };
+ with(regWin) {
+ setTop(100);
+ setLeft(100);
+ setMinWidth(450);
+ setMinHeight(450);
+ }
+
var regedit = regedit_widget("ncalrpc:");
- w.add(regedit);
- regedit.startup();
+ regWin.add(regedit);
+ w.add(regWin);
+ regWin.setVisible('true');
}
function startSwat()
var btn1 = new QxButton("Registry Editor");
btn1.set({ top: 20, left : 30 });
btn1.addEventListener("click", function() {
+ var regWindow = new QxWindow("Registry Editor");
+ with(regWindow) {
+ setTop(50);
+ setLeft(50);
+ setMinWidth(600);
+ setMinHeight(600);
+ setResizeMethod("frame");
+ }
+
var regedit = regedit_widget("ncalrpc:");
- qwidget.add(regedit);
- regedit.startup();
+ regWindow.add(regedit);
+ qwidget.add(regWindow);
+ regWindow.setVisible(true);
+
});
qwidget.add(btn1);
inlineWidget.add(qwidget);
--- /dev/null
+/*
+ Beginnnigs of a script manager for SWAT.
+
+ Copyright (C) Deryck Hodge 2005
+ released under the GNU GPL Version 2 or later
+*/
+
+var head = document.getElementsByTagName('head')[0];
+var scripts = document.getElementsByTagName('script');
+
+function __has_js_script(file)
+{
+ var i;
+ for (i=0; i<scripts.length; i++) {
+ if (scripts[i].src.indexOf(file) > -1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+}
+
+function __get_js_script(file)
+{
+ var i;
+ for (i=0; i<scripts.length; i++) {
+ if (scripts[i].src.indexOf(file) > -1) {
+ return scripts[i];
+ }
+ }
+}
+
+function __add_js_script(path)
+{
+ var script = document.createElement('script');
+ script.setAttribute('type', 'text/javascript');
+ script.setAttribute('src', path);
+ head.appendChild(script);
+}
+
+function __remove_js_script(path)
+{
+ var script = __get_js_script(path);
+ script.parentNode.removeChild(script);
+}
+
+document.js = new Object();
+document.js.scripts = scripts;
+document.js.hasScript = __has_js_script;
+document.js.getScript = __get_js_script;
+document.js.add = __add_js_script;
+document.js.remove = __remove_js_script;
+
*/
function regedit_widget(binding)
{
- var regedit = new QxWindow("Registry Editor");
- regedit.setSpace(300, 600, 300, 600);
-
var fieldSet = new QxFieldSet();
- regedit.binding = binding;
+ fieldSet.binding = binding;
with(fieldSet) {
setWidth("100%");
gl.setCellPaddingTop(3);
gl.setCellPaddingBottom(3);
- regedit.add(fieldSet);
-
- var t = __registry_tree(regedit.binding);
+ var t = __registry_tree(fieldSet.binding);
function change_binding(e) {
- regedit.binding = e.getNewValue();
- srv_printf("changed binding to %s\\n", regedit.binding);
+ fieldSet.binding = e.getNewValue();
+ srv_printf("changed binding to %s\\n", fieldSet.binding);
gl.remove(t);
- t = __registry_tree(regedit.binding);
+ t = __registry_tree(fieldSet.binding);
gl.add(t, { row : 2, col : 1 });
}
- var b = new QxTextField(regedit.binding);
+ var b = new QxTextField(fieldSet.binding);
b.addEventListener("changeText", change_binding);
var values = new __values_table();
// gl.add(values, { row : 2, col : 2 });
fieldSet.add(gl);
- regedit.add(fieldSet);
-
- /*
- call the startup() method to display the widget
- */
- regedit.startup = function() {
- this.setVisible(true);
- this.setMoveable(true);
- this.setResizeable(true);
- this.setResizeMethod("frame");
- this.setMoveable(true);
- }
- return regedit;
+ return fieldSet;
};
*/
-/* Ensure we always include the proper libs
- Playing with a way to add/del scripts on the fly...
-*/
-var lib = document.createElement('script');
-lib.setAttribute('type', 'text/javascript');
-lib.setAttribute('src', '/scripting/client/call.js');
-var head = document.getElementsByTagName('head')[0];
-head.appendChild(lib);
-
// Format for a server status table
var s = [
{ id : "server",