diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-08-05 19:11:26 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:31:20 -0500 |
commit | 8808465e5b70fd6388ed02a2cfda6015ffc914e5 (patch) | |
tree | 6e4428825fa1fd21f5e5938a3c0fb16710471852 /swat/style/qooxdoo/widgets/managers/QxWindowManager.js | |
parent | b99bca56570c0b146128bc243d770bb354ae0cd5 (diff) | |
download | samba-8808465e5b70fd6388ed02a2cfda6015ffc914e5.tar.gz samba-8808465e5b70fd6388ed02a2cfda6015ffc914e5.tar.bz2 samba-8808465e5b70fd6388ed02a2cfda6015ffc914e5.zip |
r9133: a huge import of the qooxdoo infrastructure. I decided to import all the widgets to make experimenting easy during development. We can trim this back later to only the pieces we use
(This used to be commit 631a56da39ed0daae46ca89e57c10b09cf41c718)
Diffstat (limited to 'swat/style/qooxdoo/widgets/managers/QxWindowManager.js')
-rw-r--r-- | swat/style/qooxdoo/widgets/managers/QxWindowManager.js | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/swat/style/qooxdoo/widgets/managers/QxWindowManager.js b/swat/style/qooxdoo/widgets/managers/QxWindowManager.js new file mode 100644 index 0000000000..c7a0f3bf88 --- /dev/null +++ b/swat/style/qooxdoo/widgets/managers/QxWindowManager.js @@ -0,0 +1,2 @@ +/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */ +function QxWindowManager(){if(QxWindowManager._instance){return QxWindowManager._instance;};QxManager.call(this);QxWindowManager._instance=this;};QxWindowManager.extend(QxManager,"QxWindowManager");QxWindowManager.addProperty({name:"activeWindow",type:Object});proto.update=function(oTarget){var m;for(var vHash in this._objects){m=this._objects[vHash];if(!m.getAutoHide()){continue;};m.setVisible(false);};};proto._modifyActiveWindow=function(_b1,_b2,_b3,_b4){(new QxPopupManager).update();if(_b1){_b1.setActive(true,_b4);};if(_b2){_b2.setActive(false,_b4);};this.sort();if(_b2&&_b2.getModal()){_b2.getTopLevelWidget().release(_b2);};if(_b1&&_b1.getModal()){_b1.getTopLevelWidget().block(_b1);};return true;};proto.compareWindows=function(w1,w2){switch((new QxWindowManager).getActiveWindow()){case w1:return 1;case w2:return-1;};return w1.getZIndex()-w2.getZIndex();};proto.sort=function(oObject){var a=[];for(var i in this._objects){a.push(this._objects[i]);};a.sort(this.compareWindows);var minz=QxWindow.prototype._minZindex;for(var l=a.length,i=0;i<l;i++){a[i].setZIndex(minz+i);};};proto.add=function(oObject){QxManager.prototype.add.call(this,oObject);this.setActiveWindow(oObject);};proto.remove=function(oObject){QxManager.prototype.remove.call(this,oObject);if(this.getActiveWindow()==oObject){var a=[];for(var i in this._objects){a.push(this._objects[i]);};var l=a.length;if(l==0){oObject.getTopLevelWidget().release(oObject);}else if(l==1){this.setActiveWindow(a[0]);}else if(l>1){a.sort(this.compareWindows);this.setActiveWindow(a[l-1]);};};};
\ No newline at end of file |