s3 net: i18n support for net cache
[Samba.git] / swat2 / scripting / client / desktop.js
blob8e55cc94ee3a62c90f9e58fca1e1c97f9215f7be
1 /*
2    Windows, tabs, and general widgetry for SWAT.
4    Copyright (C) Deryck Hodge 2005
5    released under the GNU GPL Version 3 or later
6 */
8 /* Qooxdoo's browser sniffer doesn't distinguish IE version.
9 We'll cover IE 6 for now, but these checks need to be
10 revisited for fuller browser coverage. */
11 var browser = QxClient().engine;
13 // DocX/Y returns the width/height of the page in browser
14 function docX()
16         var x;
17         if (browser != "mshtml") {
18                 x = window.innerWidth;
19         } else {
20                 x = document.documentElement.clientWidth;
21         }
22         return x;
25 function docY()
27         var y;
28         if (browser != "mshtml") {
29                 y = window.innerHeight;
30         } else {
31                 y = document.documentElement.clientHeight;
32         }
33         return y;
36 //  If given a number, sizeX/Y returns in pixels a percentage of the browser
37 //  window. If given a Window object, sizeX/Y returns the size of that object. 
38 function sizeX(s)
40         var sX;
42         if (typeof(s) == 'number') {
43                 sX = Math.floor(docX() * s);
44         } else {
45                 sX = s.getMinWidth();
46         }
48         return sX;
51 function sizeY(s)
53         var sY;
54         if (typeof(s) == 'number') {
55                 sY = Math.floor(docY() * s);
56         } else {
57                 sY = s.getMinHeight();
58         }
60         return sY;
63 function getPosX(win)
65         var y = Math.floor( (docY() - sizeY(win)) * Math.random() );
66         return y;
69 function getPosY(win)
71         var x = Math.floor( (docX() - sizeX(win)) * Math.random() );
72         return x;
75 function openIn(e)
77         var blank = new Window("New Menu");
78         e.add(blank);
79         blank.setVisible(true);
81         
82 function Window(h, src, s)
84         this.self = new QxWindow(h);
86         // Settings for all windows
87         if (s) {
88                 this.self.setMinWidth(sizeX(s));
89                 this.self.setMinHeight(sizeY(s));
90         }
91         this.self.setTop(getPosX(this.self));
92         this.self.setLeft(getPosY(this.self));
94         this.self.addEventListener("contextmenu", contextMenu);
96         return this.self;
99 function SmallWindow(h, src)
101         this.self = new Window(h, src, .20);
102         return this.self;
105 function StandardWindow(h, src)
107         this.self = new Window(h, src, .45);
108         return this.self;
111 function LargeWindow(h, src)
113         this.self = new Window(h, src, .70);
114         return this.self;
117 Window.small = SmallWindow;
118 Window.standard = StandardWindow;
119 Window.large = LargeWindow;