r9635: Seperate window logic from registry js file.
[jra/samba/.git] / swat / desktop / index.esp
index e945215c27ab4e150de35d94cde06bb04139b97b..f688850851e5eef09689c3e64b6aa2ae28c8ac32 100644 (file)
 <% 
-/*** Reg stuff ***/
 libinclude("base.js");
        page_header("desktop", "Virtual Desktop Design Test", "desktop");
 %>
 
 <script type="text/javascript" src="/scripting/client/encoder.js"></script>
 <script type="text/javascript" src="/scripting/client/call.js"></script>
-<script type="text/javascript" src="/scripting/client/regedit.js"></script>
+<script type="text/javascript" src="/scripting/client/js_scripts.js"></script>
 
 <script type="text/javascript">
 
 /* Qooxdoo's browser sniffer doesn't distinguish IE version.
-    We'll cover IE 6 for now, but these checks need to be
-    revisited for fuller browser coverage. */
+We'll cover IE 6 for now, but these checks need to be
+revisited for fuller browser coverage. */
 var browser = QxClient().engine;
 
 function docWidth()
 {
-  var x;
-  if (browser != "mshtml") {
-    x = window.innerWidth;
-  } else {
-    x = document.documentElement.clientWidth;
-  }
-  return x;
+       var x;
+       if (browser != "mshtml") {
+               x = window.innerWidth;
+       } else {
+               x = document.documentElement.clientWidth;
+       }
+       return x;
 }
 
 function docHeight()
 {
-  var y;
-  // Less 25px to not cover the toolbar
-  if (browser != "mshtml") {
-    y = window.innerHeight - 25;
-  } else {
-    y = document.documentElement.clientHeight;
-  }
-  return y;
+       var y;
+       // Less 25px to not cover the toolbar
+       if (browser != "mshtml") {
+               y = window.innerHeight - 25;
+       } else {
+               y = document.documentElement.clientHeight;
+       }
+       return y;
 }
 
 function showMessage(m)
 {
-    var message = new QxWindow();
-    with(message) {
-      setWidth(300);
-      setTop("35%");
-      setLeft("35%");
-      setShowMaximize(false);
-      setShowMinimize(false);
-    }
-
-    var note = new QxAtom(m);
-    with(note) {
-      setTop(10);
-      setLeft(10);
-    }
-
-    var ok = new QxButton("OK");
-    with(ok) {
-      setLeft("42%");
-      setBottom(2);
-    }
-    ok.addEventListener("click", function() {
-      w.remove(message);
-    });
-
-    message.add(note);
-    message.add(ok);
-    w.add(message);
-    message.setVisible(true);
+       var message = new QxWindow();
+       with(message) {
+               setWidth(300);
+               setTop("35%");
+               setLeft("35%");
+               setShowMaximize(false);
+               setShowMinimize(false);
+       }
+
+       var note = new QxAtom(m);
+       with(note) {
+               setTop(10);
+               setLeft(10);
+       }
+
+       var ok = new QxButton("OK");
+       with(ok) {
+               setLeft("42%");
+               setBottom(2);
+       }
+       ok.addEventListener("click", function() {
+               w.remove(message);
+       });
+
+       message.add(note);
+       message.add(ok);
+       w.add(message);
+       message.setVisible(true);
 }
 
 function showContextMenu(e)
 {
+       var aboutCmd = new QxCommand();
+       aboutCmd.addEventListener("execute", function() {
+               showMessage("SWAT, the Samba Web Administration Tool.<br/>This tool is currently under development.");
+       });
 
-  var aboutCmd = new QxCommand();
-  aboutCmd.addEventListener("execute", function() {
-    showMessage("SWAT, the Samba Web Administration Tool.<br/>This tool is currently under development.");
-  });
+       var menu = new QxMenu;
 
-  var menu = new QxMenu;
+       var sub1 = new QxMenuButton("About SWAT", null, aboutCmd);
+       var sep = new QxMenuSeparator();
+       var sub2 = new QxMenuButton("More menu later...", null);
 
-  var sub1 = new QxMenuButton("About SWAT", null, aboutCmd);
-  var sep = new QxMenuSeparator();
-  var sub2 = new QxMenuButton("More menu later...", null);
+       menu.add(sub1, sep, sub2);
 
-  menu.add(sub1, sep, sub2);
-
-  menu.setLeft(e.getClientX());
-  menu.setTop(e.getClientY());
-  w.add(menu);
-  menu.setVisible(true);
+       menu.setLeft(e.getClientX());
+       menu.setTop(e.getClientY());
+       w.add(menu);
+       menu.setVisible(true);
 }
 
 /*** init the page for qooxdoo ***/
+document.js.add('/scripting/client/status.js');
 window.application.main = function()
 {
-  var doc = this.getClientWindow().getClientDocument();
-  // Don't declare local with var
-  w = new QxWidget();
-  with(w) {
-    setTop(0);
-    setLeft(0);
-    setWidth(docWidth());
-    setHeight(docHeight());
-  }
-  doc.addEventListener("contextmenu", showContextMenu);
-  doc.add(w);
-
+       var doc = this.getClientWindow().getClientDocument();
+       // Don't declare local with var
+       w = new QxWidget();
+       with(w) {
+               setTop(0);
+               setLeft(0);
+               setWidth(docWidth());
+               setHeight(docHeight());
+       }
+       doc.addEventListener("contextmenu", showContextMenu);
+       doc.add(w);
+
+
+       // 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);
+               setHeight(175);
+       }
+       w.add(win);
+       getServerStatus(win);
+       
 }
 
 window.onresize = function() 
 {
-  w.setWidth(docWidth());
-  w.setHeight(docHeight());
+       w.setWidth(docWidth());
+       w.setHeight(docHeight());
 }
 
 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 sMenu = new QxMenu;
-  with(sMenu) {
-    setWidth(150);
-    setHeight(150);
-  }
-
-  var srvMenu = new QxMenu;
-  var srv1 = new QxMenuButton("LDAP Server", null);
-  var srv2 = new QxMenuButton("CDAP Server", null);
-  var srv3 = new QxMenuButton("RPC Server", null);
-  var srv4 = new QxMenuButton("NBT Server", null);
-  var srv5 = new QxMenuButton("WINS Server", null);
-  var srv6 = new QxMenuButton("Kerberos Server", null);
-  srvMenu.add(srv1, srv2, srv3, srv4, srv5, srv6);
-  w.add(srvMenu);
-  srvMenu.setVisible(false);
-
-  var editReg = new QxCommand;
-  editReg.addEventListener("execute", function() {
-    showReg();
-  });
-
-  var espMenu = new QxMenu;
-  var esp1 = new QxMenuButton("Registry Editor", null, editReg);
-  espMenu.add(esp1);
-  w.add(espMenu);
-  espMenu.setVisible(false);
-
-  var opt1 = new QxMenuButton("Servers", null)
-  opt1.addEventListener("mouseover", function() {
-    srvMenu.setVisible(true);
-    srvMenu.setLeft(this.getComputedPageBoxRight() + 4);
-    srvMenu.setTop(this.getComputedPageBoxTop() - 3);
-    if (espMenu.getVisible()) {
-      espMenu.setVisible(false);
-    }
-  }); 
-  var opt2 = new QxMenuButton("Installation", null);
-  var opt3 = new QxMenuButton("Configuration", null);
-  var opt4 = new QxMenuButton("ESP Tests", null);
-  opt4.addEventListener("mouseover", function() {
-    espMenu.setVisible(true);
-    espMenu.setLeft(this.getComputedPageBoxRight() + 4);
-    espMenu.setTop(this.getComputedPageBoxTop() - 3);
-    if (srvMenu.getVisible()) {
-      srvMenu.setVisible(false);
-    }
-  }); 
-  var opt5 = new QxMenuButton("Documentation", null);
-  var sep1 = new QxMenuSeparator();
-  var sep2 = new QxMenuSeparator();
-
-  sMenu.add(opt1, opt2, opt3, sep1, opt4, sep2, opt5);
-  sMenu.setLeft(0);
-  sMenu.setTop(docHeight() - 150);
-  w.add(sMenu);
-  sMenu.setVisible(true);
+       var sMenu = new QxMenu;
+       with(sMenu) {
+               setWidth(150);
+               setHeight(150);
+       }
+
+       var srvMenu = new QxMenu;
+       var srv1 = new QxMenuButton("LDAP Server", null);
+       var srv2 = new QxMenuButton("CDAP Server", null);
+       var srv3 = new QxMenuButton("RPC Server", null);
+       var srv4 = new QxMenuButton("NBT Server", null);
+       var srv5 = new QxMenuButton("WINS Server", null);
+       var srv6 = new QxMenuButton("Kerberos Server", null);
+       srvMenu.add(srv1, srv2, srv3, srv4, srv5, srv6);
+       w.add(srvMenu);
+       srvMenu.setVisible(false);
+
+       var editReg = new QxCommand;
+       editReg.addEventListener("execute", function() {
+               showReg();
+       });
+
+       var espMenu = new QxMenu;
+       var esp1 = new QxMenuButton("Registry Editor", null, editReg);
+       espMenu.add(esp1);
+       w.add(espMenu);
+       espMenu.setVisible(false);
+
+       var opt1 = new QxMenuButton("Servers", null)
+       opt1.addEventListener("mouseover", function() {
+               srvMenu.setVisible(true);
+               srvMenu.setLeft(this.getComputedPageBoxRight() + 4);
+               srvMenu.setTop(this.getComputedPageBoxTop() - 3);
+               if (espMenu.getVisible()) {
+                       espMenu.setVisible(false);
+               }
+       }); 
+       var opt2 = new QxMenuButton("Installation", null);
+       var opt3 = new QxMenuButton("Configuration", null);
+       var opt4 = new QxMenuButton("ESP Tests", null);
+       opt4.addEventListener("mouseover", function() {
+               espMenu.setVisible(true);
+               espMenu.setLeft(this.getComputedPageBoxRight() + 4);
+               espMenu.setTop(this.getComputedPageBoxTop() - 3);
+               if (srvMenu.getVisible()) {
+                       srvMenu.setVisible(false);
+               }
+       }); 
+       var opt5 = new QxMenuButton("Documentation", null);
+       var sep1 = new QxMenuSeparator();
+       var sep2 = new QxMenuSeparator();
+
+       sMenu.add(opt1, opt2, opt3, sep1, opt4, sep2, opt5);
+       sMenu.setLeft(0);
+       sMenu.setTop(docHeight() - 150);
+       w.add(sMenu);
+       sMenu.setVisible(true);
 }
 </script>
 
 <div id="toolbar">
-       <h3><a href="javascript:startSwat()">SWAT (Start)</a></h3>
+<h3><a href="javascript:startSwat()">SWAT (Start)</a></h3>
 </div>
 
 <% page_footer(); %>