<% 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/js_scripts.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"> 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() { doc.remove(message); }); message.add(note); message.add(ok); doc.add(message); message.setVisible(true); } function blankW() { var blank = new Window.standard('SWAT'); doc.add(blank); blank.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); doc.add(regWin); regWin.setVisible('true'); } function clientContextMenu(e) { var aboutCmd = new QxCommand(); aboutCmd.addEventListener("execute", function() { showMessage("SWAT, the Samba Web Administration Tool.<br/>This tool is currently under development."); }); var newWin = new QxCommand(); newWin.addEventListener("execute", blankW); var cmenu = new QxMenu; var sub1 = new QxMenuButton("About SWAT", null, aboutCmd); var sep = new QxMenuSeparator(); var sub2 = new QxMenuButton("New Window", null, newWin); cmenu.add(sub1, sep, sub2); cmenu.setLeft(e.getClientX()); cmenu.setTop(e.getClientY()); doc.add(cmenu); cmenu.setVisible(true); } function windowContextMenu(t, e) { 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); inset.add(sub1); t.add(inset) inset.setVisible(true); } function startMenu() { 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); doc.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); doc.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); } else if (newMenu.getVisible()) { newMenu.setVisible(false); } }); var openWin = new QxCommand; openWin.addEventListener("execute", function() { blankW(); }); var newMenu = new QxMenu; var new1 = new QxMenuButton("Window", null, openWin); newMenu.add(new1); doc.add(newMenu); newMenu.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); } else if (newMenu.getVisible()) { newMenu.setVisible(false); } }); var opt5 = new QxMenuButton("Documentation", null); var opt6 = new QxMenuButton("New", null); opt6.addEventListener("mouseover", function() { newMenu.setVisible(true); newMenu.setLeft(this.getComputedPageBoxRight() + 4); newMenu.setTop(this.getComputedPageBoxTop() - 3); if (srvMenu.getVisible()) { srvMenu.setVisible(false); } else if (espMenu.getVisible()) { espMenu.setVisible(false); } }); var sep1 = new QxMenuSeparator(); var sep2 = new QxMenuSeparator(); sMenu.add(opt1, opt2, opt3, sep1, opt4, sep2, opt5, opt6); sMenu.setLeft(0); sMenu.setTop(docY() - 150); doc.add(sMenu); sMenu.setVisible(true); } 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(); %>