svn commit: samba r9759 - in branches/SAMBA_4_0/swat: desktop scripting/client

deryck at samba.org deryck at samba.org
Mon Aug 29 21:15:05 GMT 2005


Author: deryck
Date: 2005-08-29 21:15:04 +0000 (Mon, 29 Aug 2005)
New Revision: 9759

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9759

Log:
Create some wrappers for QxWidget.  This gives us some pre-fabbed
windows, which set size and positioning.

To use:

var myWin = new Window.large("Some Window Title");
var myWin = new Window.standard("Some Window Title");
var myWin = new Window.small("Some Window Title");

You can omit the title if you don't need one.  Also,
var myWin = new Window();  will give you the random
positioning and no predetermined sizing.

deryck

Modified:
   branches/SAMBA_4_0/swat/desktop/index.esp
   branches/SAMBA_4_0/swat/scripting/client/desktop.js


Changeset:
Modified: branches/SAMBA_4_0/swat/desktop/index.esp
===================================================================
--- branches/SAMBA_4_0/swat/desktop/index.esp	2005-08-29 21:04:22 UTC (rev 9758)
+++ branches/SAMBA_4_0/swat/desktop/index.esp	2005-08-29 21:15:04 UTC (rev 9759)
@@ -44,7 +44,7 @@
 
 function blankW()
 {
-	var blank = new Window("SWAT");
+	var blank = new Window.standard('SWAT');
 	w.add(blank);
 	blank.setVisible(true);
 }
@@ -105,7 +105,6 @@
 	}
 	w.add(win);
 	getServerStatus(win);
-	
 }
 
 window.onresize = function() 

Modified: branches/SAMBA_4_0/swat/scripting/client/desktop.js
===================================================================
--- branches/SAMBA_4_0/swat/scripting/client/desktop.js	2005-08-29 21:04:22 UTC (rev 9758)
+++ branches/SAMBA_4_0/swat/scripting/client/desktop.js	2005-08-29 21:15:04 UTC (rev 9759)
@@ -11,6 +11,7 @@
 revisited for fuller browser coverage. */
 var browser = QxClient().engine;
 
+// DocX/Y returns the width/height of the page in browser
 function docX()
 {
 	var x;
@@ -34,27 +35,42 @@
 	return y;
 }
 
-function sizeX()
+//  If given a number, sizeX/Y returns in pixels a percentage of the browser
+//  window. If given a Window object, sizeX/Y returns the size of that object. 
+function sizeX(s)
 {
-	var sX = Math.floor(docX() * .45);
+	var sX;
+
+	if (typeof(s) == 'number') {
+		sX = Math.floor(docX() * s);
+	} else {
+		sX = s.getMinWidth();
+	}
+
 	return sX;
 }
 
-function sizeY()
+function sizeY(s)
 {
-	var sY = Math.floor(docY() * .45);
+	var sY;
+	if (typeof(s) == 'number') {
+		sY = Math.floor(docY() * s);
+	} else {
+		sY = s.getMinHeight();
+	}
+
 	return sY;
 }
 
-function getPosX()
+function getPosX(win)
 {
-	var y = Math.floor( (docY() - sizeY()) * Math.random() );
+	var y = Math.floor( (docY() - sizeY(win)) * Math.random() );
 	return y;
 }
 
-function getPosY()
+function getPosY(win)
 {
-	var x = Math.floor( (docX() - sizeX()) * Math.random() );
+	var x = Math.floor( (docX() - sizeX(win)) * Math.random() );
 	return x;
 }
 
@@ -85,15 +101,41 @@
 	inset.setVisible(true);
 }
 
-function Window(title)
+function Window(h, src, s)
 {
-	var self = new QxWindow(title);
-	self.setTop(getPosX());
-	self.setLeft(getPosY());
-	self.setMinWidth(sizeX());
-	self.setMinHeight(sizeY());
-	self.addEventListener("contextmenu", winMenu);
-	return self;
+	this.self = new QxWindow(h);
+
+	// Settings for all windows
+	if (s) {
+		this.self.setMinWidth(sizeX(s));
+		this.self.setMinHeight(sizeY(s));
+	}
+	this.self.setTop(getPosX(this.self));
+	this.self.setLeft(getPosY(this.self));
+
+	this.self.addEventListener("contextmenu", winMenu);
+
+	return this.self;
 }
 
+function SmallWindow(h, src)
+{
+	this.self = new Window(h, src, .20);
+	return this.self;
+}
 
+function StandardWindow(h, src)
+{
+	this.self = new Window(h, src, .45);
+	return this.self;
+}
+
+function LargeWindow(h, src)
+{
+	this.self = new Window(h, src, .70);
+	return this.self;
+}
+
+Window.small = SmallWindow;
+Window.standard = StandardWindow;
+Window.large = LargeWindow;



More information about the samba-cvs mailing list