1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00
Deryck Hodge 44a27265fb r9651: Start to group all SWAT specific windowing, widgets, etc. in one
file.  This allows basic style and event code to be set in one place,
though we'll still have to override for a specific position or look.

More to come...

deryck
(This used to be commit 9d5482d2aaff2082d85d626c288f2ad16e20b6ae)
2007-10-10 13:34:38 -05:00

235 lines
5.4 KiB
Plaintext

<%
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/swat.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() {
w.remove(message);
});
message.add(note);
message.add(ok);
w.add(message);
message.setVisible(true);
}
function blankW()
{
var blank = new Window("SWAT");
w.add(blank);
blank.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 newWin = new QxCommand();
newWin.addEventListener("execute", blankW);
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());
w.add(cmenu);
cmenu.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(docX());
setHeight(docY());
}
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(docX());
w.setHeight(docY());
}
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()
{
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);
} 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);
w.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);
w.add(sMenu);
sMenu.setVisible(true);
}
</script>
<div id="toolbar">
<h3><a href="javascript:startSwat()">SWAT (Start)</a></h3>
</div>
<% page_footer(); %>