svn commit: samba r9635 - in branches/SAMBA_4_0/swat: desktop
esptest scripting/client
deryck at samba.org
deryck at samba.org
Fri Aug 26 05:25:29 GMT 2005
Author: deryck
Date: 2005-08-26 05:25:29 +0000 (Fri, 26 Aug 2005)
New Revision: 9635
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9635
Log:
Seperate window logic from registry js file.
This allows for flexibility in display format,
which will make more sense when I start working
on windows, tabs, etc.
Add the beginnings of a document.js object that allows
us to add and remove scripts as we use them, which will
ensure we only load what we need. A desktop GUI runs
from a single page, so we can't load js files by changing
pages.
deryck
Added:
branches/SAMBA_4_0/swat/scripting/client/js_scripts.js
Modified:
branches/SAMBA_4_0/swat/desktop/index.esp
branches/SAMBA_4_0/swat/esptest/registry.esp
branches/SAMBA_4_0/swat/scripting/client/regedit.js
branches/SAMBA_4_0/swat/scripting/client/status.js
Changeset:
Modified: branches/SAMBA_4_0/swat/desktop/index.esp
===================================================================
--- branches/SAMBA_4_0/swat/desktop/index.esp 2005-08-26 04:56:20 UTC (rev 9634)
+++ branches/SAMBA_4_0/swat/desktop/index.esp 2005-08-26 05:25:29 UTC (rev 9635)
@@ -4,8 +4,8 @@
%>
<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">
@@ -91,6 +91,7 @@
}
/*** init the page for qooxdoo ***/
+document.js.add('/scripting/client/status.js');
window.application.main = function()
{
var doc = this.getClientWindow().getClientDocument();
@@ -108,6 +109,12 @@
// 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);
@@ -126,9 +133,26 @@
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()
Modified: branches/SAMBA_4_0/swat/esptest/registry.esp
===================================================================
--- branches/SAMBA_4_0/swat/esptest/registry.esp 2005-08-26 04:56:20 UTC (rev 9634)
+++ branches/SAMBA_4_0/swat/esptest/registry.esp 2005-08-26 05:25:29 UTC (rev 9635)
@@ -23,9 +23,20 @@
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);
Added: branches/SAMBA_4_0/swat/scripting/client/js_scripts.js
===================================================================
--- branches/SAMBA_4_0/swat/scripting/client/js_scripts.js 2005-08-26 04:56:20 UTC (rev 9634)
+++ branches/SAMBA_4_0/swat/scripting/client/js_scripts.js 2005-08-26 05:25:29 UTC (rev 9635)
@@ -0,0 +1,53 @@
+/*
+ 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;
+
Modified: branches/SAMBA_4_0/swat/scripting/client/regedit.js
===================================================================
--- branches/SAMBA_4_0/swat/scripting/client/regedit.js 2005-08-26 04:56:20 UTC (rev 9634)
+++ branches/SAMBA_4_0/swat/scripting/client/regedit.js 2005-08-26 05:25:29 UTC (rev 9635)
@@ -121,12 +121,9 @@
*/
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%");
@@ -138,19 +135,17 @@
gl.setCellPaddingTop(3);
gl.setCellPaddingBottom(3);
- regedit.add(fieldSet);
+ var t = __registry_tree(fieldSet.binding);
- var t = __registry_tree(regedit.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();
@@ -160,18 +155,6 @@
// 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;
};
Modified: branches/SAMBA_4_0/swat/scripting/client/status.js
===================================================================
--- branches/SAMBA_4_0/swat/scripting/client/status.js 2005-08-26 04:56:20 UTC (rev 9634)
+++ branches/SAMBA_4_0/swat/scripting/client/status.js 2005-08-26 05:25:29 UTC (rev 9635)
@@ -5,15 +5,6 @@
*/
-/* 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",
More information about the samba-cvs
mailing list