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

deryck at samba.org deryck at samba.org
Tue Aug 30 03:55:08 GMT 2005


Author: deryck
Date: 2005-08-30 03:55:08 +0000 (Tue, 30 Aug 2005)
New Revision: 9779

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

Log:
Add a contextmenu function to be used by all window/widget objects.

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-30 03:37:14 UTC (rev 9778)
+++ branches/SAMBA_4_0/swat/desktop/index.esp	2005-08-30 03:55:08 UTC (rev 9779)
@@ -51,30 +51,6 @@
 	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);
-}
-
 // Always open with stats
 var win = new QxWindow();
 document.js.add('/scripting/client/status.js');
@@ -116,6 +92,48 @@
 	regWin.setVisible('true');
 }
 
+function clientContextMenu(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);
+
+	var 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);
+}
+
+function windowContextMenu(t, e)
+{
+	var WinWin = new QxCommand();
+	WinWin.addEventListener("execute", function() {
+		var blank = new QxWindow();
+		t.add(blank);
+		blank.setVisible(true);
+	}); 
+
+	var inset = new QxMenu;
+	var sub1 = new QxMenuButton("Open window in a window", null, WinWin);
+
+	inset.add(sub1);
+	t.add(inset)
+
+	inset.setVisible(true);
+}
+
 function startMenu() 
 {
 	var sMenu = new QxMenu;

Modified: branches/SAMBA_4_0/swat/scripting/client/desktop.js
===================================================================
--- branches/SAMBA_4_0/swat/scripting/client/desktop.js	2005-08-30 03:37:14 UTC (rev 9778)
+++ branches/SAMBA_4_0/swat/scripting/client/desktop.js	2005-08-30 03:55:08 UTC (rev 9779)
@@ -89,26 +89,6 @@
 	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(h, src, s)
 {
 	this.self = new QxWindow(h);
@@ -121,7 +101,7 @@
 	this.self.setTop(getPosX(this.self));
 	this.self.setLeft(getPosY(this.self));
 
-	this.self.addEventListener("contextmenu", winMenu);
+	this.self.addEventListener("contextmenu", contextMenu);
 
 	return this.self;
 }
@@ -148,10 +128,23 @@
 Window.standard = StandardWindow;
 Window.large = LargeWindow;
 
+function contextMenu(e)
+{	
+	var t = e.getTarget()
+	var tObj = t.getHtmlAttribute("class")
+
+	if (tObj == 'QxWidget') {
+		clientContextMenu(e);
+	} else if (tObj == 'QxWindowPane') {
+		windowContextMenu(t, e);
+	}
+}
+
+
 window.application.main = function()
 {
 	var doc = this.getClientWindow().getClientDocument();
-	doc.addEventListener("contextmenu", showContextMenu);
+	doc.addEventListener("contextmenu", contextMenu);
 	doc.add(w);
 
 	var bar = new QxMenuBar;



More information about the samba-cvs mailing list