4 libinclude("winreg.js");
5 libinclude("server_call.js");
8 server side call to return a listing of elements in a winreg path
10 function enum_path(binding, path) {
11 printf("enum_path(%s, %s)\n", binding, path);
12 var reg = winreg_init();
15 reg.credentials = session.authinfo.credentials;
17 var status = reg.connect(binding);
18 if (status.is_ok != true) {
22 var list = winreg_enum_path(reg, path);
26 /* register a call for clients to make */
27 var call = servCallObj();
28 call.add('enum_path', enum_path);
30 /* run the function that was asked for */
32 /** endReg stuff *****/
34 page_header("desktop", "Virtual Desktop Design Test", "desktop");
37 <script type="text/javascript" src="/scripting/client/encoder.js"></script>
38 <script type="text/javascript" src="/scripting/client/call.js"></script>
40 <script type="text/javascript">
42 function folder_list(fParent, list) {
44 fParent.populated = true;
46 for (i=0;i<list.length;i++) {
48 fChild = new QxTreeFolder(list[i]);
50 fChild.binding = fParent.binding;
51 if (fParent.reg_path == '\\\\') {
52 fChild.reg_path = list[i];
54 fChild.reg_path = fParent.reg_path + '\\\\' + list[i];
56 fChild.add(new QxTreeFolder('Working ...'));
57 fChild.addEventListener("click", function() {
58 var el = this; folder_click(el);
64 function folder_click(node) {
65 if (!node.populated) {
66 server_call_url("@@request.REQUEST_URI", 'enum_path',
67 function(list) { folder_list(node, list); },
68 node.binding, node.reg_path);
72 /* return a registry tree for the given server */
73 function registry_tree(binding) {
74 var tree = new QxTree("registry: " + binding);
75 tree.binding = binding;
76 tree.reg_path = "\\\\";
77 tree.populated = false;
80 setBackgroundColor(255);
81 setBorder(QxBorder.presets.inset);
82 setOverflow("scroll");
83 setStyleProperty("padding", "2px");
88 tree.addEventListener("click", function() {
89 var el = this; folder_click(el);
94 /*** init the page for qooxdoo ***/
95 window.application.main = function()
97 // Don't declare local with var
98 doc = this.getClientWindow().getClientDocument();
103 var inlineWidget = new QxInline;
104 var fieldSet = new QxFieldSet("Registry");
105 var binding = "ncalrpc:";
113 setBackgroundColor("#FFF");
116 var gl = new QxGridLayout("auto,auto,auto,auto,auto", "100%");
118 gl.setCellPaddingTop(3);
119 gl.setCellPaddingBottom(3);
121 inlineWidget.add(fieldSet);
123 var t = registry_tree(binding);
125 function change_binding(e) {
126 binding = e.getNewValue();
127 srv_printf("changed binding to %s\\n", binding);
129 t = registry_tree(binding);
130 gl.add(t, { row : 2, col : 1 });
133 var b = new QxTextField(binding);
134 b.addEventListener("changeText", change_binding);
136 gl.add(b, { row : 1, col : 1 });
137 gl.add(t, { row : 2, col : 1 });
140 inlineWidget.add(fieldSet);
141 doc.add(inlineWidget, "canvas");
143 w1.setVisible(false);
148 // Don't declare local with var (for now)
149 w1 = new QxWindow("Welcome to SWAT.");
150 w1.setSpace(100, 100, 100, 100);
153 var btn1 = new QxButton("View Registry");
154 btn1.set({ top: 20, left : 30 });
155 btn1.addEventListener("click", showReg)
162 <div id="canvas" style="overflow:hidden;position:static;margin-top:38px;margin-left:10px;margin-right:700px;width:700px"></div>
165 <h3><a href="javascript:startSwat()">SWAT (Start)</a></h3>