summaryrefslogtreecommitdiff
path: root/swat/scripting/client
diff options
context:
space:
mode:
Diffstat (limited to 'swat/scripting/client')
-rw-r--r--swat/scripting/client/swat.js99
1 files changed, 99 insertions, 0 deletions
diff --git a/swat/scripting/client/swat.js b/swat/scripting/client/swat.js
new file mode 100644
index 0000000000..e6a4230f10
--- /dev/null
+++ b/swat/scripting/client/swat.js
@@ -0,0 +1,99 @@
+/*
+ Windows, tabs, and general widgetry for SWAT.
+
+ Copyright (C) Deryck Hodge 2005
+ released under the GNU GPL Version 2 or later
+*/
+
+
+/* Qooxdoo's browser sniffer doesn't distinguish IE version.
+We'll cover IE 6 for now, but these checks need to be
+revisited for fuller browser coverage. */
+var browser = QxClient().engine;
+
+function docX()
+{
+ var x;
+ if (browser != "mshtml") {
+ x = window.innerWidth;
+ } else {
+ x = document.documentElement.clientWidth;
+ }
+ return x;
+}
+
+function docY()
+{
+ var y;
+ // Less 25px to not cover the toolbar
+ if (browser != "mshtml") {
+ y = window.innerHeight - 25;
+ } else {
+ y = document.documentElement.clientHeight;
+ }
+ return y;
+}
+
+function sizeX()
+{
+ var sX = Math.floor(docX() * .45);
+ return sX;
+}
+
+function sizeY()
+{
+ var sY = Math.floor(docY() * .45);
+ return sY;
+}
+
+function getPosX()
+{
+ var y = Math.floor( (docY() - sizeY()) * Math.random() );
+ return y;
+}
+
+function getPosY()
+{
+ var x = Math.floor( (docX() - sizeX()) * Math.random() );
+ return x;
+}
+
+function openIn(e)
+{
+ var blank = new Window("New Menu");
+ e.add(blank);
+ blank.setVisible(true);
+}
+
+function winMenu(e)
+{
+ var self = this;
+ var WinWin = new QxCommand();
+ WinWin.addEventListener("execute", function() {
+ var blank = new QxWindow();
+ self.add(blank);
+ blank.setVisible(true);
+ });
+
+ var inset = new QxMenu;
+ var sub1 = new QxMenuButton("Open window in a window", null, WinWin);
+
+ inset.add(sub1);
+ self.add(inset)
+
+ cmenu.setVisible(false);
+ inset.setVisible(true);
+}
+
+function Window(title)
+{
+ var self = new QxWindow(title);
+ self.setTop(getPosX());
+ self.setLeft(getPosY());
+ self.setMinWidth(sizeX());
+ self.setMinHeight(sizeY());
+ self.addEventListener("contextmenu", winMenu);
+ return self;
+}
+
+