r9133: a huge import of the qooxdoo infrastructure. I decided to import all the widge...
[jra/samba/.git] / swat / style / qooxdoo / widgets / core / QxClientWindow.js
1 /* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
2 function QxClientWindow(windowElement){QxTarget.call(this);this._h3=windowElement;this._h3._QxClientWindow=this;this._addUnloadEvent(windowElement);this._h4=new QxClientDocument(this);this._h5=new QxEventManager(this);this._h6=new QxFocusManager(this);};QxClientWindow.extend(QxTarget,"QxClientWindow");proto.getEventManager=function(){return this._h5;};proto.getFocusManager=function(){return this._h6;};proto.getClientDocument=function(){return this._h4;};proto.getDocument=function(){return this._h4;};proto.getElement=function(){return this._h3;};if((new QxClient).isMshtml()){proto._addUnloadEvent=function(el){if(el==window){el.attachEvent("onunload",new Function("(new QxApplication).dispose();"));}else {el.attachEvent("onunload",function(e){if(el._QxClientWindow){el._QxClientWindow.dispose();el._QxClientWindow=null;};});};};}else if((new QxClient).isGecko()){proto._addUnloadEvent=function(el){if(el==window){el.addEventListener("unload",new Function("(new QxApplication).dispose();"),false);}else {el.addEventListener("unload",function(e){if(el._QxClientWindow){el._QxClientWindow.dispose();el._QxClientWindow=null;};},false);};};}else {proto._addUnloadEvent=function(el){};};proto.dispose=function(){if(this.getDisposed()){return;};if(this._h3){this._h3._QxClientWindow=null;this._h3=null;};if(this._h5){this._h5.dispose();this._h5=null;};if(this._h6){this._h6.dispose();this._h6=null;};if(this._h4){this._h4.dispose();this._h4=null;};QxTarget.prototype.dispose.call(this);return true;};