r10228: Reorganizing a bit, trying to simplify. This is an attempt
[jelmer/samba4-debian.git] / swat / desktop / index.esp
index cd52f27d24d37b1cc1cf3b1ff1744690fd27289f..1dee4d3bb4c8547d6536d197c8bf13bff7c5b39c 100644 (file)
@@ -6,7 +6,9 @@ libinclude("base.js");
 <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/js_scripts.js"></script>
-<script type="text/javascript" src="/scripting/client/swat.js"></script>
+<script type="text/javascript" src="/scripting/client/desktop.js"></script>
+<script type="text/javascript" src="/scripting/client/status.js"></script>
+<script type="text/javascript" src="/scripting/client/regedit.js"></script>
 
 <script type="text/javascript">
 
@@ -33,23 +35,47 @@ function showMessage(m)
                setBottom(2);
        }
        ok.addEventListener("click", function() {
-               w.remove(message);
+               doc.remove(message);
        });
 
        message.add(note);
        message.add(ok);
-       w.add(message);
+       doc.add(message);
        message.setVisible(true);
 }
 
 function blankW()
 {
-       var blank = new Window("SWAT");
-       w.add(blank);
+       var blank = new Window.standard('SWAT');
+       doc.add(blank);
        blank.setVisible(true);
 }
 
-function showContextMenu(e)
+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:");
+       regWin.add(regedit);
+       doc.add(regWin);
+       regWin.setVisible('true');
+}
+
+function clientContextMenu(e)
 {
        var aboutCmd = new QxCommand();
        aboutCmd.addEventListener("execute", function() {
@@ -59,7 +85,7 @@ function showContextMenu(e)
        var newWin = new QxCommand();
        newWin.addEventListener("execute", blankW);
 
-       cmenu = new QxMenu;
+       var cmenu = new QxMenu;
 
        var sub1 = new QxMenuButton("About SWAT", null, aboutCmd);
        var sep = new QxMenuSeparator();
@@ -69,76 +95,29 @@ function showContextMenu(e)
 
        cmenu.setLeft(e.getClientX());
        cmenu.setTop(e.getClientY());
-       w.add(cmenu);
+       doc.add(cmenu);
        cmenu.setVisible(true);
 }
 
-/*** init the page for qooxdoo ***/
-document.js.add('/scripting/client/status.js');
-window.application.main = function()
+function windowContextMenu(t, e)
 {
-       var doc = this.getClientWindow().getClientDocument();
-       // Don't declare local with var
-       w = new QxWidget();
-       with(w) {
-               setTop(0);
-               setLeft(0);
-               setWidth(docX());
-               setHeight(docY());
-       }
-       doc.addEventListener("contextmenu", showContextMenu);
-       doc.add(w);
+       var WinWin = new QxCommand();
+       WinWin.addEventListener("execute", function() {
+               var blank = new QxWindow();
+               t.add(blank);
+               blank.setVisible(true);
+       }); 
 
+       var inset = new QxMenu;
+       var sub1 = new QxMenuButton("Open window in a window", null, WinWin);
 
-       // 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);
-       
-}
+       inset.add(sub1);
+       t.add(inset)
 
-window.onresize = function() 
-{
-       w.setWidth(docX());
-       w.setHeight(docY());
+       inset.setVisible(true);
 }
 
-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:");
-       regWin.add(regedit);
-       w.add(regWin);
-       regWin.setVisible('true');
-}
-
-function startSwat()
+function startMenu() 
 {
        var sMenu = new QxMenu;
        with(sMenu) {
@@ -154,7 +133,7 @@ function startSwat()
        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);
+       doc.add(srvMenu);
        srvMenu.setVisible(false);
 
        var editReg = new QxCommand;
@@ -165,7 +144,7 @@ function startSwat()
        var espMenu = new QxMenu;
        var esp1 = new QxMenuButton("Registry Editor", null, editReg);
        espMenu.add(esp1);
-       w.add(espMenu);
+       doc.add(espMenu);
        espMenu.setVisible(false);
 
        var opt1 = new QxMenuButton("Servers", null)
@@ -188,7 +167,7 @@ function startSwat()
        var newMenu = new QxMenu;
        var new1 = new QxMenuButton("Window", null, openWin);
        newMenu.add(new1);
-       w.add(newMenu);
+       doc.add(newMenu);
        newMenu.setVisible(false);
 
        var opt2 = new QxMenuButton("Installation", null);
@@ -222,13 +201,61 @@ function startSwat()
        sMenu.add(opt1, opt2, opt3, sep1, opt4, sep2, opt5, opt6);
        sMenu.setLeft(0);
        sMenu.setTop(docY() - 150);
-       w.add(sMenu);
+       doc.add(sMenu);
        sMenu.setVisible(true);
 }
-</script>
 
-<div id="toolbar">
-<h3><a href="javascript:startSwat()">SWAT (Start)</a></h3>
-</div>
+function contextMenu(e)
+{      
+       var t = e.getTarget()
+       var tObj = t.getHtmlAttribute("class")
+
+       if (tObj == 'QxClientDocument QxThemeWin9x') {
+               clientContextMenu(e);
+       } else if (tObj == 'QxWindowPane') {
+               windowContextMenu(t, e);
+       }
+}
+
+window.application.main = function()
+{
+       doc = this.getClientWindow().getClientDocument();
+       doc.addEventListener("contextmenu", contextMenu);
+
+       var bar = new QxMenuBar;
+       with (bar) {
+               setBottom(0);
+               setLeft(0);
+               setWidth("100%");
+               setHeight(25);
+               setBackgroundColor("ThreeDFace");
+       }
+
+       var start = new QxMenuButton("START");
+       start.addEventListener("click", function() {
+               startMenu();
+       });
+       bar.add(start);
+
+       doc.add(bar);
+
+       // Always open with stats
+       var win = new QxWindow();
+       document.js.add('/scripting/client/status.js');
+       win._onclosebuttonclick = function(e)
+       {
+               this.close();
+               e.stopPropagation();
+               document.js.remove('/scripting/client/status.js');
+       };
+       with(win) {
+               setTop(50);
+               setRight(50);
+               setHeight(175);
+       }
+       doc.add(win);
+       getServerStatus(win);
+}
+</script>
 
 <% page_footer(); %>