summaryrefslogtreecommitdiff
path: root/swat/style/qooxdoo/widgets/managers
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-08-05 19:11:26 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:31:20 -0500
commit8808465e5b70fd6388ed02a2cfda6015ffc914e5 (patch)
tree6e4428825fa1fd21f5e5938a3c0fb16710471852 /swat/style/qooxdoo/widgets/managers
parentb99bca56570c0b146128bc243d770bb354ae0cd5 (diff)
downloadsamba-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')
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxDataManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js3
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxEventManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxFocusManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxImageManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxMenuManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxPopupManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxRangeManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxSelectionManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxTimerManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxToolTipManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxWindowManager.js2
16 files changed, 33 insertions, 0 deletions
diff --git a/swat/style/qooxdoo/widgets/managers/QxDataManager.js b/swat/style/qooxdoo/widgets/managers/QxDataManager.js
new file mode 100644
index 0000000000..cb8ba70a89
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxDataManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDataManager(){if(QxDataManager._instance)return QxDataManager._instance;QxManager.call(this);QxDataManager._instance=this;};QxDataManager.extend(QxManager,"QxDataManager"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js b/swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js
new file mode 100644
index 0000000000..5c94c00abc
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDomSelectionManager(vBoundedWidget){QxSelectionManager.call(this,vBoundedWidget);this.setDragSelection(false);this._j5.getItemHashCode=this.getItemHashCode;};QxDomSelectionManager.extend(QxSelectionManager,"QxDomSelectionManager");proto.getItemEnabled=function(oItem){return true;};proto.getItemClassName=function(vItem){return vItem.className||"";};proto.setItemClassName=function(vItem,vClassName){return vItem.className=vClassName;};proto.getItemBaseClassName=function(vItem){var p=vItem.className.split(" ")[0];return p?p:"Status";};proto.getNextSibling=function(vItem){return vItem.nextSibling;};proto.getPreviousSibling=function(vItem){return vItem.previousSibling;};proto.getItemHashCode=function(vItem){return vItem.toHash();};proto.getItemLeft=function(vItem){return vItem.offsetLeft;};proto.getItemTop=function(vItem){return vItem.offsetTop;};proto.getItemWidth=function(vItem){return vItem.offsetWidth;};proto.getItemHeight=function(vItem){return vItem.offsetHeight;};proto.getItemHashCode=function(oItem){if(oItem._hash){return oItem._hash;};return oItem._hash=QxObject.toHash(oItem);};proto.isBefore=function(vItem1,vItem2){var pa=vItem1.parentNode;for(var i=0,l=pa.childNodes.length;i<l;i++){switch(pa.childNodes[i]){case vItem2:return false;case vItem1:return true;};};};proto.scrollItemIntoView=function(vItem){this.getBoundedWidget().scrollItemIntoView(vItem);};proto.getItems=function(){return this.getBoundedWidget().getItems();};proto.getAbove=function(vItem){var vParent=vItem.parentNode;var vFound=false;var vLeft=vItem.offsetLeft;var vChild;for(var i=vParent.childNodes.length-1;i>0;i--){vChild=vParent.childNodes[i];if(vFound==false){if(vChild==vItem){vFound=true;};}else {if(vChild.offsetLeft==vLeft){return vChild;};};};};proto.getUnder=function(vItem){var vParent=vItem.parentNode;var vFound=false;var vLeft=vItem.offsetLeft;var vChild;for(var i=0,l=vParent.childNodes.length;i<l;i++){vChild=vParent.childNodes[i];if(vFound==false){if(vChild==vItem){vFound=true;};}else {if(vChild.offsetLeft==vLeft){return vChild;};};};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js b/swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js
new file mode 100644
index 0000000000..d1b98ecc21
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDragAndDropManager(){if(QxDragAndDropManager._instance){return QxDragAndDropManager._instance;};QxTarget.call(this);this._k1={};this._k2={};this._k3={};var d=window.application.getClientWindow().getClientDocument();var a=["move","copy","alias","nodrop"];var c;for(var i=0;i<a.length;i++){c = this._k3[a[i]] = new QxImage("widgets/cursors/" + a[i] + ".gif");c.setTimerCreate(false);c.setStyleProperty("top","-1000px");c.setZIndex(10000);c.setParent(d);};QxDragAndDropManager._instance=this;};QxDragAndDropManager.extend(QxManager,"QxDragAndDropManager");QxDragAndDropManager.addProperty({name:"sourceWidget",type:Object});QxDragAndDropManager.addProperty({name:"destinationWidget",type:Object});QxDragAndDropManager.addProperty({name:"cursor",type:Object});QxDragAndDropManager.addProperty({name:"currentAction",type:String});proto._k5=null;proto._modifyDestinationWidget=function(_b1,_b2,_b3,_b4){if(_b1){_b1.dispatchEvent(new QxDragEvent("dragdrop",this._k5));this._k5=null;};return true;};proto.addData=function(vMimeType,vData){this._k1[vMimeType]=vData;};proto.getData=function(vMimeType){return this._k1[vMimeType];};proto.clearData=function(){this._k1={};};proto.getDropDataTypes=function(){var dw=this.getDestinationWidget();var st=[];if(!dw){return st;};var ddt=dw.getDropDataTypes();var ddtl=ddt.length;for(var i=0;i<ddtl;i++){if(ddt[i]in this._k1){st.push(ddt[i]);};};return st;};proto.startDrag=function(){if(!this._k6){throw new Error("Invalid usage of startDrag. Missing dragInfo!");};this._k6.dragHandlerActive=true;this.setSourceWidget(this._k6.sourceWidget);};proto._fireUserEvents=function(fromWidget,toWidget,e){if(fromWidget&&fromWidget!=toWidget){var outEvent=new QxDragEvent("dragout",e);outEvent._relatedTarget=toWidget;fromWidget.dispatchEvent(outEvent,true);outEvent=null;};if(toWidget){if(fromWidget!=toWidget){var overEvent=new QxDragEvent("dragover",e);overEvent._relatedTarget=fromWidget;toWidget.dispatchEvent(overEvent,true);overEvent=null;};var moveEvent=new QxDragEvent("dragmove",e);toWidget.dispatchEvent(moveEvent,true);moveEvent=null;};};proto.handleMouseEvent=function(e){switch(e.getType()){case "mousedown":return this._handleMouseDown(e);case "mouseup":return this._handleMouseUp(e);case "mousemove":return this._handleMouseMove(e);};};proto._handleMouseDown=function(e){if(e.getDefaultPrevented()){return;};this._k6={startScreenX:e.getScreenX(),startScreenY:e.getScreenY(),pageX:e.getPageX(),pageY:e.getPageY(),sourceWidget:e.getTarget(),dragHandlerActive:false,hasFiredDragStart:false
+};this._k6.sourceTopLevel=this._k6.sourceWidget.getTopLevelWidget();};proto._handleMouseMove=function(e){if(!this._k6){return;};if(this._k6.dragHandlerActive){this._k6.pageX=e.getPageX();this._k6.pageY=e.getPageY();var currentDropTarget=this.getDropTarget(e);this.setCurrentAction(currentDropTarget?this._evalNewAction(e.getShiftKey(),e.getCtrlKey(),e.getAltKey()):null);this._fireUserEvents(this._k6.currentDropWidget,currentDropTarget,e);this._k6.currentDropWidget=currentDropTarget;this._renderCursor();}else if(!this._k6.hasFiredDragStart){if(Math.abs(e.getScreenX()-this._k6.startScreenX)>5||Math.abs(e.getScreenY()-this._k6.startScreenY)>5){this._k6.sourceWidget.dispatchEvent(new QxDragEvent("dragstart",e));this._k6.hasFiredDragStart=true;if(this._k6.dragHandlerActive){this._fireUserEvents(this._k6.currentDropWidget,this._k6.sourceWidget,e);this._k6.currentDropWidget=this._k6.sourceWidget;var clientDocument=window.application.getClientWindow().getClientDocument();clientDocument.setCapture(true);clientDocument.addEventListener("losecapture",this.cancelDrag,this);};};};};proto._handleMouseUp=function(e){if(!this._k6){return;};if(this._k6.dragHandlerActive){this._endDrag(this.getDropTarget(e),e);}else {this._k6=null;};};proto.handleKeyEvent=function(e){if(!this._k6){return;};switch(e.getType()){case "keydown":this._handleKeyDown(e);return;case "keyup":this._handleKeyUp(e);return;};};proto._handleKeyDown=function(e){if(e.getKeyCode()==QxKeyEvent.keys.esc){this.cancelDrag();}else if(this.getCurrentAction()!=null){switch(e.getKeyCode()){case QxKeyEvent.keys.shift:case QxKeyEvent.keys.ctrl:case QxKeyEvent.keys.alt:this.setAction(this._evalNewAction(e.getShiftKey(),e.getCtrlKey(),e.getAltKey()));this._renderCursor();};};};proto._handleKeyUp=function(e){var bShiftPressed=e.getKeyCode()==QxKeyEvent.keys.shift;var bCtrlPressed=e.getKeyCode()==QxKeyEvent.keys.strl;var bAltPressed=e.getKeyCode()==QxKeyEvent.keys.alt;if(bShiftPressed||bCtrlPressed||bAltPressed){if(this.getCurrentAction()!=null){this.setAction(this._evalNewAction(!bShiftPressed&&e.getShiftKey(),! bCtrlPressed&&e.getCtrlKey(),!bAltPressed&&e.getAltKey()));this._renderCursor();};};e.preventDefault();};proto.cancelDrag=function(e){this._endDrag(null,e);};proto.globalCancelDrag=function(){if(this._k6&&this._k6.dragHandlerActive){this._endDragCore();};};proto._endDrag=function(currentDestinationWidget,e){if(currentDestinationWidget){this._k5=e;this.setDestinationWidget(currentDestinationWidget);};this.getSourceWidget().dispatchEvent(new QxDragEvent("dragend",e));this._fireUserEvents(this._k6&&this._k6.currentDropWidget,null,e);this._endDragCore();};proto._endDragCore=function(){this.setCursor(null);var d=window.application.getClientWindow().getClientDocument();d.removeEventListener("losecapture",this.cancelDrag,this);d.setCapture(false);if(this._k6){this._k6.currentDropWidget=null;this._k6=null;};this.clearData();this.clearActions();this.setSourceWidget(null);this.setDestinationWidget(null);};proto._renderCursor=function(){var newCursor;switch(this.getCurrentAction()){case "move":newCursor=this._k3.move;break;case "copy":newCursor=this._k3.copy;break;case "alias":newCursor=this._k3.alias;break;default:newCursor=this._k3.nodrop;};newCursor._d3Horizontal(this._k6.pageX+5);newCursor._d3Vertical(this._k6.pageY+15);this.setCursor(newCursor);};proto._modifyCursor=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setStyleProperty("display","none");};if(_b1){_b1.removeStyleProperty("display");};return true;};proto.supportsDrop=function(vWidget){var types=vWidget.getDropDataTypes();if(!types){return false;};for(var i=0;i<types.length;i++){if(types[i]in this._k1){return true;};};return false;};if((new QxClient).isGecko()){proto.getDropTarget=function(e){var currentWidget=e.getTarget();if(currentWidget==this._k6.sourceWidget){currentWidget=this._k6.sourceTopLevel.getWidgetFromPoint(e.getPageX(),e.getPageY());}else {currentWidget=QxEventManager.getActiveTargetObject(null,currentWidget);};while(currentWidget!=null){if(this.supportsDrop(currentWidget)){return currentWidget;};currentWidget=currentWidget.getParent();};return null;};}else {proto.getDropTarget=function(e){var currentWidget=e.getActiveTarget();while(currentWidget!=null){if(this.supportsDrop(currentWidget)){return currentWidget;};currentWidget=currentWidget.getParent();};return null;};};proto.addAction=function(vAction,vForce){this._k2[vAction]=true;if(vForce||this.getCurrentAction()==null){this.setCurrentAction(vAction);};};proto.clearActions=function(){this._k2={};this.setCurrentAction(null);};proto.removeAction=function(sAction){delete this._k2[sAction];if(this.getCurrentAction()==sAction){this.setCurrentAction(null);};};proto.setAction=function(s){if(s!=null&&!(s in this._k2)){this.addAction(s,true);}else {this.setCurrentAction(s);};};proto._evalNewAction=function(kShift,kCtrl,kAlt){if(kShift&&kCtrl&&this._k4("alias")){return "alias";}else if(kShift&&kAlt&&this._k4("copy")){return "copy";}else if(kShift&&this._k4("move")){return "move";}else if(kAlt&&this._k4("alias")){return "alias";}else if(kCtrl&&this._k4("copy")){return "copy";}else {for(var action in this._k2){return action;};};return null;};proto._k4=function(vAction){return vAction in this._k2;};proto.dispose=function(){if(this.getDisposed()){return;};this._k1=null;this._k2=null;this.setSourceWidget(null);this.setDestinationWidget(null);this._lastdestinationWidgetEvent=null;this._k6=null;if(QxDragAndDropManager._k3){if(QxDragAndDropManager._k3.move){QxDragAndDropManager._k3.move.dispose();QxDragAndDropManager._k3.move=null;};if(QxDragAndDropManager._k3.copy){QxDragAndDropManager._k3.copy.dispose();QxDragAndDropManager._k3.copy=null;};if(QxDragAndDropManager._k3.alias){QxDragAndDropManager._k3.alias.dispose();QxDragAndDropManager._k3.alias=null;};if(QxDragAndDropManager._k3.nodrop){QxDragAndDropManager._k3.nodrop.dispose();QxDragAndDropManager._k3.nodrop=null;};QxDragAndDropManager._k3=null;};QxManager.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxEventManager.js b/swat/style/qooxdoo/widgets/managers/QxEventManager.js
new file mode 100644
index 0000000000..53ef5f26ac
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxEventManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxEventManager(vClientWindow){QxObject.call(this);var o=this;this.__onmouseevent=function(e){return o._onmouseevent(e);};this.__onkeyevent=function(e){return o._onkeyevent(e);};this.__ondragevent=function(e){return o._ondragevent(e);};this.__onwindowblur=function(e){return o._onwindowblur(e);};this.__onwindowfocus=function(e){return o._onwindowfocus(e);};this.__onwindowresize=function(e){return o._onwindowresize(e);};if(isValid(vClientWindow)){this.attachEvents(vClientWindow);};this._commands={};};QxEventManager.extend(QxManager,"QxEventManager");QxEventManager.mouseEventTypes=["mouseover","mousemove","mouseout","mousedown","mouseup","click","dblclick","contextmenu",(new QxClient).isMshtml()?"mousewheel":"DOMMouseScroll"];QxEventManager.keyEventTypes=["keydown","keypress","keyup"];QxEventManager.dragEventTypes=(new QxClient).isGecko()?["dragdrop","dragenter","dragexit","draggesture","dragover"]:[];QxEventManager.addProperty({name:"allowClientContextMenu",type:Boolean,defaultValue:false});QxEventManager.addProperty({name:"captureWidget"});proto._attachedClientWindow=null;proto._lastMouseEventType=null;proto._lastMouseDown=false;proto._lastMouseEventDate=0;proto._modifyCaptureWidget=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setCapture(false,_b4);};if(_b1){_b1.setCapture(true,_b4);};return true;};proto.addCommand=function(vCommand){this._commands[vCommand.toHash()]=vCommand;};proto.removeCommand=function(vCommand){delete this._commands[vCommand.toHash()];};proto._checkKeyEventMatch=function(e){var vCommand;for(var vHash in this._commands){vCommand=this._commands[vHash];if(vCommand.getEnabled()&&vCommand._matchesKeyEvent(e)){if(!vCommand.execute()){e.preventDefault();};};};};proto.attachEvents=function(clientWindow){if(this._attachedClientWindow){return false;};this._attachedClientWindow=clientWindow;this.attachEventTypes(QxEventManager.mouseEventTypes,this.__onmouseevent);this.attachEventTypes(QxEventManager.keyEventTypes,this.__onkeyevent);this.attachEventTypes(QxEventManager.dragEventTypes,this.__ondragevent);this.attachWindowEvents();};if((new QxClient).isMshtml()){proto.attachWindowEvents=function(){var winElem=this._attachedClientWindow.getElement();winElem.attachEvent("onblur",this.__onwindowblur);winElem.attachEvent("onfocus",this.__onwindowfocus);winElem.attachEvent("onresize",this.__onwindowresize);};}else {proto.attachWindowEvents=function(){var winElem=this._attachedClientWindow.getElement();winElem.addEventListener("blur",this.__onwindowblur,false);winElem.addEventListener("focus",this.__onwindowfocus,false);winElem.addEventListener("resize",this.__onwindowresize,false);};};proto.detachEvents=function(){if(!this._attachedClientWindow){return false;};this.detachWindowEvents();this.detachEventTypes(QxEventManager.mouseEventTypes,this.__onmouseevent);this.detachEventTypes(QxEventManager.keyEventTypes,this.__onkeyevent);this.detachEventTypes(QxEventManager.dragEventTypes,this.__ondragevent);this._attachedClientWindow=null;};if((new QxClient).isMshtml()){proto.detachWindowEvents=function(){try{var winElem=this._attachedClientWindow.getElement();winElem.detachEvent("onblur",this.__onwindowblur);winElem.detachEvent("onfocus",this.__onwindowfocus);winElem.detachEvent("onresize",this.__onwindowresize);}catch(ex){};};}else {proto.detachWindowEvents=function(){try{var winElem=this._attachedClientWindow.getElement();winElem.removeEventListener("blur",this.__onwindowblur,false);winElem.removeEventListener("focus",this.__onwindowfocus,false);winElem.removeEventListener("resize",this.__onwindowresize,false);}catch(ex){};};};proto.attachEventTypes=function(eventTypes,functionPointer){try{var d=this._attachedClientWindow.getClientDocument().getElement();if(d.attachEvent){for(var i=0;i<eventTypes.length;i++){d.attachEvent("on"+eventTypes[i],functionPointer);};}else if(d.addEventListener){for(var i=0;i<eventTypes.length;i++){d.addEventListener(eventTypes[i],functionPointer,false);};};}catch(ex){};};proto.detachEventTypes=function(eventTypes,functionPointer){try{var d=this._attachedClientWindow.getClientDocument().getElement();if(d.detachEvent){for(var i=0;i<eventTypes.length;i++){d.detachEvent("on"+eventTypes[i],functionPointer);};}else if(d.removeEventListener){for(var i=0;i<eventTypes.length;i++){d.removeEventListener(eventTypes[i],functionPointer,false);};};}catch(ex){};};QxEventManager.getTargetObject=function(n){while(n!=null&&n._QxWidget==null){try{n=n.parentNode;}catch(e){n=null;};};return n?n._QxWidget:null;};QxEventManager.getTargetObjectFromEvent=function(e){return QxEventManager.getTargetObject(e.target||e.srcElement);};QxEventManager.getRelatedTargetObjectFromEvent=function(e){return QxEventManager.getTargetObject(e.relatedTarget||(e.type=="mouseover"?e.fromElement:e.toElement));};QxEventManager.getActiveTargetObject=function(n,o){if(!o){var o=QxEventManager.getTargetObject(n);if(!o){return null;};};while(o){if(!o.getEnabled()){return;};if(!o.getAnonymous()){break;};o=o.getParent();};return o;};QxEventManager.getActiveTargetObjectFromEvent=function(e){return QxEventManager.getActiveTargetObject(e.target||e.srcElement);};QxEventManager.getRelatedActiveTargetObjectFromEvent=function(e){return QxEventManager.getActiveTargetObject(e.relatedTarget||(e.type=="mouseover"?e.fromElement:e.toElement));};proto._onkeyevent=function(e){if(this.getDisposed()||typeof QxKeyEvent!="function"){return;};if(!e){e=this._attachedClientWindow.getElement().event;};var k=e.keyCode||e.charCode;if(k==QxKeyEvent.keys.tab){if((new QxClient).isNotMshtml()){e.preventDefault();};e.returnValue=false;if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};this._attachedClientWindow.getFocusManager()._ontabevent(e);}else {if(k==QxKeyEvent.keys.esc){if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};};var o=this.getCaptureWidget()||(new QxApplication).getActiveWidget();if(o==null||!o.getEnabled()){return;};var s=new QxKeyEvent(e.type,e,false);if(e.type=="keypress"){this._checkKeyEventMatch(s);};var r=o.dispatchEvent(s);if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).handleKeyEvent(s);};s.dispose();return r;};};if((new QxClient).isMshtml()){proto._onmouseevent=function(e){if(!e){e=this._attachedClientWindow.getElement().event;};var t=e.type;if(t=="mousemove"){if(this._mouseIsDown&&e.button==0){this._onmouseevent_post(e,"mouseup");this._mouseIsDown=false;};}else {if(t=="mousedown"){this._mouseIsDown=true;}else if(t=="mouseup"){this._mouseIsDown=false;};if(t=="mouseup"&&!this._lastMouseDown&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(e,"mousedown");}else if(t=="dblclick"&&this._lastMouseEventType=="mouseup"&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(e,"click");};if(t=="mousedown"||t=="mouseup"||t=="click"||t=="dblclick"||t=="contextmenu"){this._lastMouseEventType=t;this._lastMouseEventDate=(new Date).valueOf();this._lastMouseDown=t=="mousedown";};};this._onmouseevent_post(e,t);};}else {proto._onmouseevent=function(e){var t=e.type;switch(t){case "DOMMouseScroll":t="mousewheel";break;case "click":case "dblclick":if(e.button!=QxMouseEvent.buttons.left){return;};};this._onmouseevent_post(e,t);};};proto._onmouseevent_post=function(e,t){var vEventObject,vDispatchTarget,vTarget,vActiveTarget,vRelatedTarget;switch(t){case "contextmenu":if(!this.getAllowClientContextMenu()){if(!(new QxClient).isMshtml()){e.preventDefault();};e.returnValue=false;};break;case "mousedown":this._onactivateevent(e);break;};vDispatchTarget=this.getCaptureWidget();vTarget=QxEventManager.getTargetObjectFromEvent(e);if(!isValidObject(vDispatchTarget)){vDispatchTarget=vActiveTarget=QxEventManager.getActiveTargetObject(null,vTarget);if(!isValidObject(vDispatchTarget)){return;};}else {vActiveTarget=QxEventManager.getActiveTargetObject(null,vTarget);};switch(t){case "mouseover":case "mouseout":vRelatedTarget=QxEventManager.getRelatedActiveTargetObjectFromEvent(e);if(vRelatedTarget==vActiveTarget){return;};};vEventObject=new QxMouseEvent(t,e,false,vTarget,vActiveTarget,vRelatedTarget);QxMouseEvent._storeEventState(vEventObject);if(t=="mousedown"){if(typeof QxPopupManager=="function"){(new QxPopupManager).update(vActiveTarget);};};vDispatchTarget.dispatchEvent(vEventObject);switch(t){case "mousedown":if(!vEventObject.getPropagationStopped()){if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};};break;case "mouseover":if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleMouseOver(vEventObject);};break;case "mouseout":if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleMouseOut(vEventObject);};break;};if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).handleMouseEvent(vEventObject);};vEventObject.dispose();vEventObject=null;};proto._ondragevent=function(e){e.preventDefault();e.returnValue=false;e.preventBubble();};proto._onwindowblur=function(e){if(this._ignoreBlur){delete this._ignoreBlur;return;};this._allowFocus=true;if(typeof QxPopupManager=="function"){(new QxPopupManager).update();};if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).globalCancelDrag();};var vDoc=this._attachedClientWindow.getDocument();if(vDoc.hasEventListeners("blur")){vDoc.dispatchEvent(new QxEvent("blur"),true);};};proto._onwindowfocus=function(e){if(!this._allowFocus){return;};delete this._allowFocus;var vDoc=this._attachedClientWindow.getDocument();if(vDoc.hasEventListeners("focus")){vDoc.dispatchEvent(new QxEvent("focus"),true);};};proto._onwindowresize=function(e){this._attachedClientWindow.getDocument().dispatchEvent(new QxEvent("resize"),true);};proto._onactivateevent=function(e){var n=e.target||e.srcElement;while(n!=null&&n._QxWidget==null){n=n.parentNode;};if(n==null){return;};var o=n._QxWidget;var oactive=o;if(o){while(o!=null&&!o.canGetFocus()){o=o.getParent();};if(o){o.setFocused(true);};if(oactive!=o){(new QxApplication).setActiveWidget(oactive);};};this._ignoreBlur=true;};proto.dispose=function(){if(this.getDisposed()){return;};this.detachEvents();this._attachedClientWindow=null;this._lastMouseEventType=null;this._lastMouseDown=null;this._lastMouseEventDate=null;if(this._commands){for(var vHash in this._commands){this._commands[vHash].dispose();delete this._commands[vHash];};this._commands=null;};QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxFocusManager.js b/swat/style/qooxdoo/widgets/managers/QxFocusManager.js
new file mode 100644
index 0000000000..13a2c524dc
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxFocusManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxFocusManager(vClientWindow){QxObject.call(this);if(isValid(vClientWindow)){this._attachedClientWindow=vClientWindow;};};QxFocusManager.extend(QxManager,"QxFocusManager");QxFocusManager.addProperty({name:"focusedWidget"});proto._attachedClientWindow=null;proto._modifyFocusedWidget=function(_b1,_b2,_b3,_b4){var cIn=typeof _b1=="object"&&_b1!=null;var cOut=typeof _b2=="object"&&_b2!=null;if(cIn&&typeof QxPopupManager=="function"){(new QxPopupManager).update(_b1);};if(cOut){var s=new QxFocusEvent("focusout",false);if(cIn){s.setRelatedTarget(_b1);};_b2.dispatchEvent(s);s.dispose();};if(cIn){var s=new QxFocusEvent("focusin",false);if(cOut){s.setRelatedTarget(_b2);};_b1.dispatchEvent(s);s.dispose();};if(cOut){_b2.setFocused(false,_b4);var s=new QxFocusEvent("blur",false);if(cIn){s.setRelatedTarget(_b1);};_b2.dispatchEvent(s);if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleBlur(s);};s.dispose();(new QxApplication).setActiveWidget(null);};if(cIn){_b1.setFocused(true,_b4);var s=new QxFocusEvent("focus",false);if(cOut){s.setRelatedTarget(_b2);};_b1.dispatchEvent(s);if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleFocus(s);};s.dispose();(new QxApplication).setActiveWidget(_b1);};return true;};proto._ontabeventname=(new QxClient).isMshtml()?"keydown":"keypress";proto._ontabevent=function(e){if(e.type!=this._ontabeventname||!this._attachedClientWindow){return;};var cd=this._attachedClientWindow.getDocument();var current=this.getFocusedWidget();if(!e.shiftKey){var next=current?this.getWidgetAfter(cd,current):this.getFirstWidget(cd);}else {var next=current?this.getWidgetBefore(cd,current):this.getLastWidget(cd);};if(next){next.setFocused(true);next._ontabfocus();};};proto.compareTabOrder=function(c1,c2){if(c1==c2){return 0;};var t1=c1.getTabIndex();var t2=c2.getTabIndex();if(t1!=t2){return t1-t2;};var y1=c1.getComputedPageBoxTop();var y2=c2.getComputedPageBoxTop();if(y1!=y2){return y1-y2;};var x1=c1.getComputedPageBoxLeft();var x2=c2.getComputedPageBoxLeft();if(x1!=x2){return x1-x2;};var z1=c1.getZIndex();var z2=c2.getZIndex();if(z1!=z2){return z1-z2;};return 0;};proto.getFirstWidget=function(oContainer){return this._getFirst(oContainer,null);};proto.getLastWidget=function(oContainer){return this._getLast(oContainer,null);};proto.getWidgetAfter=function(oContainer,oWidget){if(oContainer==oWidget){return this.getFirstWidget(oContainer);};if(oWidget.getAnonymous()){oWidget=oWidget.getParent();};if(oWidget==null){return[];};var all=[];this._getAllAfter(oContainer,oWidget,all);all.sort(this.compareTabOrder);return all.length>0?all[0]:this.getFirstWidget(oContainer);};proto.getWidgetBefore=function(oContainer,oWidget){if(oContainer==oWidget){return this.getLastWidget(oContainer);};if(oWidget.getAnonymous()){oWidget=oWidget.getParent();};if(oWidget==null){return[];};var all=[];this._getAllBefore(oContainer,oWidget,all);all.sort(this.compareTabOrder);var l=all.length;return l>0?all[l-1]:this.getLastWidget(oContainer);};proto._getAllAfter=function(oCont,oComp,oArray){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0&&this.compareTabOrder(oComp,cs[i])<0){oArray.push(cs[i]);};if(!cs[i].isFocusRoot()){this._getAllAfter(cs[i],oComp,oArray);};};};proto._getAllBefore=function(oCont,oComp,oArray){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0&&this.compareTabOrder(oComp,cs[i])>0){oArray.push(cs[i]);};if(!cs[i].isFocusRoot()){this._getAllBefore(cs[i],oComp,oArray);};};};proto._getFirst=function(oCont,oFirst){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0){if(oFirst==null||this.compareTabOrder(cs[i],oFirst)<0){oFirst=cs[i];};};if(!cs[i].isFocusRoot()){oFirst=this._getFirst(cs[i],oFirst);};};return oFirst;};proto._getLast=function(oCont,oLast){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0){if(oLast==null||this.compareTabOrder(cs[i],oLast)>0){oLast=cs[i];};};if(! cs[i].isFocusRoot()){oLast=this._getLast(cs[i],oLast);};};return oLast;};proto.dispose=function(){if(this.getDisposed()){return;};this._attachedClientWindow=null;QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxImageManager.js b/swat/style/qooxdoo/widgets/managers/QxImageManager.js
new file mode 100644
index 0000000000..233a9017eb
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxImageManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxImageManager(){if(QxImageManager._instance){return QxImageManager._instance;};this.addIconTheme("Crystal SVG","crystalsvg");this.addIconTheme("Nuvola","nuvola");this.addWidgetTheme("Windows","windows");QxManager.call(this);QxImageManager._instance=this;};QxImageManager.extend(QxManager,"QxImageManager");QxImageManager.addProperty({ name : "path", type : String, defaultValue : "../../images/" });QxImageManager.addProperty({name:"iconTheme",type:String,defaultValue:"crystalsvg"});QxImageManager.addProperty({name:"widgetTheme",type:String,defaultValue:"windows"});proto._iconThemes={};proto._widgetThemes={};proto.getBlank=function(){return this.getPath()+"core/blank.gif";};proto.buildURI=function(vPath){switch(vPath.charAt(0)){case "/":case ".":return vPath;default:switch(vPath.substring(0,vPath.indexOf(":"))){case "http":case "https":case "file":return vPath;};if(vPath.indexOf("icons")==0){return this.getPath() + "icons/" + this.getIconTheme() + "/" + vPath.substring(6);}else if(vPath.indexOf("widgets")==0){return this.getPath() + "widgets/" + this.getWidgetTheme() + "/" + vPath.substring(8);};return this.getPath()+vPath;};};proto._updateImages=function(){var o;for(var i in this._objects){o=this._objects[i];o.setPreloader(new QxImagePreloader(this.buildURI(o.getSource())));};return true;};proto._modifyPath=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto._checkIconTheme=function(_b1){if(this._iconThemes[_b1]){return _b1;};for(var i in this._iconThemes){if(this._iconThemes[i].title==_b1){return i;};};throw new Error("Invalid icon theme id/title:"+_b1+"!");};proto._modifyIconTheme=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto.addIconTheme=function(vHash,vTitle,vId,vPath){if(isInvalidString(vTitle)){throw new Error("Please define the title of the new icon theme.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this._iconThemes[vId]){throw new Error("Theme is already defined:"+vId);};this._iconThemes[vId]={title:vTitle,path:vPath?vPath:vId};};proto.removeIconTheme=function(vHash,vTitle,vId){if(isInvalidString(vTitle)){throw new Error("Please define the title of the icon theme which should be removed.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this.getDefaultIconTheme()==vId){throw new Error("Could not remove default theme "+this.getDefaultIconTheme()+"!");};if(this.getIconTheme()==vId){this.resetIconTheme();};delete this._iconThemes[vId];};proto._checkWidgetTheme=function(_b1){if(this._widgetThemes[_b1]){return _b1;};for(var i in this._widgetThemes){if(this._widgetThemes[i].title==_b1){return i;};};throw new Error("Invalid widget theme id/title:"+_b1+"!");};proto._modifyWidgetTheme=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto.addWidgetTheme=function(vHash,vTitle,vId,vPath){if(isInvalidString(vTitle)){throw new Error("Please define the title of the new widget theme.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this._widgetThemes[vId]){throw new Error("Theme is already defined:"+vId);};this._widgetThemes[vId]={title:vTitle,path:vPath?vPath:vId};};proto.removeWidgetTheme=function(vHash,vTitle,vId){if(isInvalidString(vTitle)){throw new Error("Please define the title of the widget theme which should be removed.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this.getDefaultWidgetTheme()==vId){throw new Error("Could not remove default theme "+this.getDefaultWidgetTheme()+"!");};if(this.getWidgetTheme()==vId){this.resetWidgetTheme();};delete this._widgetThemes[vId];}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js b/swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js
new file mode 100644
index 0000000000..1d2549908c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxImagePreloaderManager(){if(QxImagePreloaderManager._instance){return QxImagePreloaderManager._instance;};QxManager.call(this);QxImagePreloaderManager._instance=this;};QxImagePreloaderManager.extend(QxManager,"QxImagePreloaderManager");proto.add=function(oObject){this._objects[oObject.getUri()]=oObject;};proto.remove=function(oObject){delete this._objects[oObject.getUri()];};proto.has=function(oUri){return this._objects[String(oUri)]!=null;};proto.get=function(oUri){return this._objects[String(oUri)];}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxManager.js b/swat/style/qooxdoo/widgets/managers/QxManager.js
new file mode 100644
index 0000000000..6fd02f7f6a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxManager(){QxTarget.call(this);this._objects={};};QxManager.extend(QxTarget,"QxManager");proto.add=function(oObject){var h=oObject.toHash();if(this._objects[h]){this.debug("Already known:"+oObject);return false;};this._objects[h]=oObject;return true;};proto.remove=function(oObject){delete this._objects[oObject.toHash()];return true;};proto.has=function(oObject){return this._objects[oObject.toHash()]!=null;};proto.get=function(oObject){return this._objects[oObject.toHash()];};proto.dispose=function(){if(this.getDisposed()){return;};if(typeof this._objects!="undefined"){for(var i in this._objects){if(typeof this._objects[i]=="object")this._objects[i].dispose();delete this._objects[i];};delete this._objects;};QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxMenuManager.js b/swat/style/qooxdoo/widgets/managers/QxMenuManager.js
new file mode 100644
index 0000000000..c5ca51809b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxMenuManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuManager(){if(QxMenuManager._instance){return QxMenuManager._instance;};QxManager.call(this);QxMenuManager._instance=this;};QxMenuManager.extend(QxManager,"QxMenuManager");proto.update=function(oTarget){var m;for(var vHash in this._objects){m=this._objects[vHash];if(!m.getAutoHide()){continue;};m.setVisible(false);};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxPopupManager.js b/swat/style/qooxdoo/widgets/managers/QxPopupManager.js
new file mode 100644
index 0000000000..f7fb74eede
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxPopupManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxPopupManager(){if(QxPopupManager._instance){return QxPopupManager._instance;};QxManager.call(this);QxPopupManager._instance=this;};QxPopupManager.extend(QxManager,"QxPopupManager");proto.update=function(oTarget){var p;for(var vHash in this._objects){p=this._objects[vHash];if(!p.getAutoHide()){continue;};if(!oTarget||p!=oTarget&&(!p.contains(oTarget)||p.getVisible())&&new Date-p.getShowTimeStamp()>100){p.setVisible(false);};};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js b/swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js
new file mode 100644
index 0000000000..a6eef53f50
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxRadioButtonManager(vName,vMembers){QxTarget.call(this);this._items=[];this._managerId=this.classname+(++QxRadioButtonManager._managerCount);if(isValid(vName)){this.setName(vName);};if(isValid(vMembers)){QxRadioButtonManager.prototype.add.apply(this,vMembers);};};QxRadioButtonManager._managerCount=0;QxRadioButtonManager.extend(QxManager,"QxRadioButtonManager");QxRadioButtonManager.addProperty({name:"selected",type:Object});QxRadioButtonManager.addProperty({name:"name",type:String});proto.getItems=function(){return this._items;};proto.add=function(){var a=arguments;var l=a.length;var lastOne=a[l-1];if(lastOne instanceof QxWidget){var _b4;}else {var _b4=lastOne;l--;};var oRadioButton;for(var i=0;i<l;i++){oRadioButton=a[i];if(this._items.contains(oRadioButton)){return;};this._items.push(oRadioButton);oRadioButton.setGroup(this,_b4);if(oRadioButton.getChecked()){this.setSelected(oRadioButton,_b4);};oRadioButton.setEnabled(this.getEnabled(),_b4);oRadioButton.setName(this.getName(),_b4);};};proto.remove=function(oRadioButton,_b4){this._items.remove(oRadioButton);oRadioButton.setGroup(null,_b4);if(oRadioButton.getChecked()){this.setSelected(null);};};proto._modifySelected=function(_b1,_b2,_b3,_b4){if(_b2&&_b2.getChecked()){_b2.setChecked(false,_b4);};if(_b1&&!_b1.getChecked()){_b1.setChecked(true,_b4);};return true;};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){for(var i=0;i<this._items.length;i++){this._items[i].setEnabled(_b1,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){for(var i=0;i<this._items.length;i++){this._items[i].setName(_b1,_b4);};return true;};proto.selectNext=function(oRadioButton){var index=this._items.indexOf(oRadioButton);if(index==-1)return;var i=0;var l=this._items.length;index=(index+1)% l;while(i<l&&! this._items[index].getEnabled()){index=(index+1)% l;i++;};this._selectByIndex(index);};proto.selectPrevious=function(oRadioButton){var index=this._items.indexOf(oRadioButton);if(index==-1)return;var i=0;var l=this._items.length;index=(index-1+l)% l;while(i<l&&! this._items[index].getEnabled()){index=(index-1+l)% l;i++;};this._selectByIndex(index);};proto._selectByIndex=function(index){if(this._items[index].getEnabled()){this.setSelected(this._items[index]);this._items[index].setFocused(true);};};proto.dispose=function(){if(this._disposed){return;};if(this._items){for(var i;i<this._items.length;i++){this._items[i].dispose();delete this._items[i];};};delete this._items;delete this._managerId;return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxRangeManager.js b/swat/style/qooxdoo/widgets/managers/QxRangeManager.js
new file mode 100644
index 0000000000..c9757cb3ba
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxRangeManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxRangeManager(){QxTarget.call(this);};QxRangeManager.extend(QxManager,"QxRangeManager");QxRangeManager.addProperty({name:"value",type:Number,defaultValue:0});QxRangeManager.addProperty({name:"min",type:Number,defaultValue:0});QxRangeManager.addProperty({name:"max",type:Number,defaultValue:100});proto._checkValue=function(_b1){return Math.max(this.getMin(),Math.min(this.getMax(),Math.floor(_b1)));};proto._modifyValue=function(_b1,_b2,_b3,_b4){if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};proto._checkMax=function(_b1){return Math.floor(_b1);};proto._modifyMax=function(_b1,_b2,_b3,_b4){this.setValue(Math.min(this.getValue(),_b1));if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};proto._checkMin=function(_b1){return Math.floor(_b1);};proto._modifyMin=function(_b1,_b2,_b3,_b4){this.setValue(Math.max(this.getValue(),_b1));if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxSelectionManager.js b/swat/style/qooxdoo/widgets/managers/QxSelectionManager.js
new file mode 100644
index 0000000000..9432d471cd
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxSelectionManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxSelectionManager(vBoundedWidget){QxTarget.call(this);this._j5=new QxSelectionStorage();if(isValid(vBoundedWidget)){this.setBoundedWidget(vBoundedWidget);};};QxSelectionManager.extend(QxManager,"QxSelectionManager");QxSelectionManager.addProperty({name:"boundedWidget",type:Object});QxSelectionManager.addProperty({name:"multiSelection",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"dragSelection",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"canDeselect",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"fireChange",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"anchorItem",type:Object});QxSelectionManager.addProperty({name:"leadItem",type:Object});QxSelectionManager.addProperty({name:"multiColumnSupport",type:Boolean,defaultValue:false});proto._modifyAnchorItem=function(_b1,_b2,_b3,_b4){if(_b2){this.renderItemAnchorState(_b2,false);};if(_b1){this.renderItemAnchorState(_b1,true);};return true;};proto._modifyLeadItem=function(_b1,_b2,_b3,_b4){if(_b2){this._j10(_b2,false);};if(_b1){this._j10(_b1,true);};return true;};proto.getFirst=function(){var vItem=this.getBoundedWidget().getFirstChild();return this.getItemEnabled(vItem)?vItem:this.getNext(vItem);};proto.getLast=function(){var vItem=this.getBoundedWidget().getLastChild();return this.getItemEnabled(vItem)?vItem:this.getPrevious(vItem);};proto.getItems=function(){return this.getBoundedWidget().getChildren();};proto.getNextSibling=function(vItem){return vItem.getNextSibling();};proto.getPreviousSibling=function(vItem){return vItem.getPreviousSibling();};proto.getNext=function(vItem){while(vItem){vItem=this.getNextSibling(vItem);if(!vItem){break;};if(this.getItemEnabled(vItem)){return vItem;};};return null;};proto.getPrevious=function(vItem){while(vItem){vItem=this.getPreviousSibling(vItem);if(!vItem){break;};if(this.getItemEnabled(vItem)){return vItem;};};return null;};proto.isBefore=function(vItem1,vItem2){var cs=this.getItems();return cs.indexOf(vItem1)<cs.indexOf(vItem2);};proto.isEqual=function(vItem1,vItem2){return vItem1==vItem2;};proto.getItemHashCode=function(vItem){return vItem.toHash();};proto.scrollItemIntoView=function(vItem){vItem.scrollIntoView();};proto.getItemLeft=function(vItem){return vItem.getOffsetLeft();};proto.getItemTop=function(vItem){return vItem.getOffsetTop();};proto.getItemWidth=function(vItem){return vItem.getOffsetWidth();};proto.getItemHeight=function(vItem){return vItem.getOffsetHeight();};proto.getItemEnabled=function(vItem){return vItem.getEnabled();};proto.getItemClassName=function(vItem){return vItem.getCssClassName();};proto.setItemClassName=function(vItem,vClassName){return vItem.setCssClassName(vClassName);};proto.getItemBaseClassName=function(vItem){return vItem.classname;};proto._j3=function(vItem,vState,vIsState){var c=this.getItemClassName(vItem);var n=this.getItemBaseClassName(vItem)+"-"+vState;this.setItemClassName(vItem,vIsState?c.add(n," "):c.remove(n," "));};proto._j9=function(vItem,vIsSelected){this._j3(vItem,"Selected",vIsSelected);};proto.renderItemAnchorState=function(vItem,vIsAnchor){this._j3(vItem,"Anchor",vIsAnchor);};proto._j10=function(vItem,vIsLead){this._j3(vItem,"Lead",vIsLead);};proto.getItemSelected=function(vItem){return this._j5.contains(vItem);};proto.setItemSelected=function(vItem,vSelected){var hc=this.getItemHashCode(vItem);switch(this.getMultiSelection()){case true:if(!this.getItemEnabled(vItem)){return;};if(this.getItemSelected(vItem)==vSelected){return;};this._j9(vItem,vSelected);vSelected?this._j5.add(vItem):this._j5.remove(vItem);this._j1();break;case false:var item0=this.getSelectedItems()[0];if(vSelected){var old=item0;if(this.isEqual(vItem,old)){return;};if(old!=null){this._j9(old,false);};this._j9(vItem,true);this._j5.removeAll();this._j5.add(vItem);this._j1();}else {if(!this.isEqual(item0,vItem)){this._j9(vItem,false);this._j5.removeAll();this._j1();};};break;};};proto.getSelectedItems=function(){return this._j5.toArray();};proto.getSelectedItem=function(){return this._j5.getFirst();};proto.setSelectedItems=function(vItems){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();var vItem;var vItemLength=vItems.length;for(var i=0;i<vItemLength;i++){vItem=vItems[i];if(!this.getItemEnabled(vItem)){continue;};this._j5.add(vItem);this._j9(vItem,true);};this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.setSelectedItem=function(vItem){if(!vItem){return;};if(!this.getItemEnabled(vItem)){return;};var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();this._j5.add(vItem);this._j9(vItem,true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.selectAll=function(){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._selectAll();this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto._selectAll=function(){if(!this.getMultiSelection()){return;};var vItem;var vItems=this.getItems();var vItemsLength=vItems.length;this._j5.removeAll();for(var i=0;i<vItemsLength;i++){vItem=vItems[i];if(!this.getItemEnabled(vItem)){continue;};this._j5.add(vItem);this._j9(vItem,true);};return true;};proto.deselectAll=function(){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal))this._j1();};proto._j7=function(){var items=this._j5.toArray();for(var i=0;i<items.length;i++){this._j9(items[i],false);};this._j5.removeAll();return true;};proto.selectItemRange=function(vItem1,vItem2){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j2(vItem1,vItem2,true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto._j2=function(vItem1,vItem2,vDeselect){if(this.isBefore(vItem2,vItem1)){return this._j2(vItem2,vItem1,vDeselect);};if(vDeselect){this._j7();};var vCurrentItem=vItem1;while(vCurrentItem!=null){if(this.getItemEnabled(vCurrentItem)){this._j5.add(vCurrentItem);this._j9(vCurrentItem,true);};if(this.isEqual(vCurrentItem,vItem2)){break;};vCurrentItem=this.getNext(vCurrentItem);};return true;};proto._j6=function(vItem1,vItem2){if(this.isBefore(vItem2,vItem1)){return this._j6(vItem2,vItem1);};var vCurrentItem=vItem1;while(vCurrentItem!=null){this._j5.remove(vCurrentItem);this._j9(vCurrentItem,false);if(this.isEqual(vCurrentItem,vItem2)){break;};vCurrentItem=this.getNext(vCurrentItem);};};proto._j4=false;proto.handleMouseDown=function(vItem,e){if(e.isNotLeftButton()&&e.isNotRightButton()){return;};if(e.isRightButton()&&this.getItemSelected(vItem)){return;};if(e.getShiftKey()||this.getDragSelection()||(!this.getItemSelected(vItem)&&!e.getCtrlKey())){this._onmouseevent(vItem,e);}else {this.setLeadItem(vItem);};this._j4=this.getDragSelection();if(this._j4){this.getBoundedWidget().addEventListener("mouseup",this._ondragup,this);this.getBoundedWidget().setCapture(true);};};proto._ondragup=function(e){this.getBoundedWidget().removeEventListener("mouseup",this._ondragup,this);this.getBoundedWidget().setCapture(false);this._j4=false;};proto.handleMouseUp=function(vItem,e){if(e.isNotLeftButton()){return;};if(e.getCtrlKey()||this.getItemSelected(vItem)&&!this._j4){this._onmouseevent(vItem,e);};if(this._j4){this._j4=false;this.getBoundedWidget().setCapture(false);};};proto.handleMouseOver=function(oItem,e){if(! this.getDragSelection()||!this._j4){return;};this._onmouseevent(oItem,e,true);};proto.handleClick=function(vItem,e){};proto.handleDblClick=function(vItem,e){};proto._onmouseevent=function(oItem,e,bOver){if(!this.getItemEnabled(oItem)){return;};var oldVal=this._getChangeValue();var oldLead=this.getLeadItem();var oldFireChange=this.getFireChange();this.setFireChange(false);var selectedItems=this.getSelectedItems();var selectedCount=selectedItems.length;this.setLeadItem(oItem);var currentAnchorItem=this.getAnchorItem();var vCtrlKey=e.getCtrlKey();var vShiftKey=e.getShiftKey();if(!currentAnchorItem||selectedCount==0||(vCtrlKey&&!vShiftKey&&this.getMultiSelection()&&!this.getDragSelection())){this.setAnchorItem(oItem);currentAnchorItem=oItem;};if((!vCtrlKey&&!vShiftKey&&!this._j4||!this.getMultiSelection())){if(!this.getItemEnabled(oItem)){return;};this._j7();this.setAnchorItem(oItem);if(this._j4){this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(oItem)-1)?this.getPrevious(oItem):this.getNext(oItem))||oItem);};if(!this.getItemSelected(oItem)){this._j9(oItem,true);};this._j5.add(oItem);this._addToCurrentSelection=true;}else if(this._j4&&bOver){if(oldLead){this._j6(currentAnchorItem,oldLead);};if(this.isBefore(currentAnchorItem,oItem)){if(this._addToCurrentSelection){this._j2(currentAnchorItem,oItem,false);}else {this._j6(currentAnchorItem,oItem);};}else {if(this._addToCurrentSelection){this._j2(oItem,currentAnchorItem,false);}else {this._j6(oItem,currentAnchorItem);};};this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(oItem)-1)?this.getPrevious(oItem):this.getNext(oItem))||oItem);}else if(this.getMultiSelection()&&vCtrlKey&&!vShiftKey){if(!this._j4){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(oItem));};this.setItemSelected(oItem,this._addToCurrentSelection);this.setAnchorItem(oItem);}else if(this.getMultiSelection()&&vCtrlKey&&vShiftKey){if(!this._j4){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(oItem));};if(this._addToCurrentSelection){this._j2(currentAnchorItem,oItem,false);}else {this._j6(currentAnchorItem,oItem);};}else if(this.getMultiSelection()&&!vCtrlKey&&vShiftKey){if(this.getCanDeselect()){this._j2(currentAnchorItem,oItem,true);}else {if(oldLead){this._j6(currentAnchorItem,oldLead);};this._j2(currentAnchorItem,oItem,false);};};this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.handleKeyDown=function(e){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);if(e.getKeyCode()==65&&e.getCtrlKey()){if(this.getMultiSelection()){this._selectAll();this.setLeadItem(this.getFirst());};}else {var aIndex=this.getAnchorItem();var itemToSelect=this.getItemToSelect(e);if(itemToSelect&&this.getItemEnabled(itemToSelect)){this.setLeadItem(itemToSelect);this.scrollItemIntoView(itemToSelect);if(e.getShiftKey()&&this.getMultiSelection()){if(aIndex==null){this.setAnchorItem(itemToSelect);};this._j2(this.getAnchorItem(),itemToSelect,true);}else if(!e.getCtrlKey()){this._j7();this._j9(itemToSelect,true);this._j5.add(itemToSelect);this.setAnchorItem(itemToSelect);};};};e.setPreventDefault(true);e.setPropagationStopped(true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.getItemToSelect=function(oKeyboardEvent){var e=oKeyboardEvent;if(e.getAltKey()){return null;};switch(e.getKeyCode()){case QxKeyEvent.keys.home:return this.getHome(this.getLeadItem());case QxKeyEvent.keys.end:return this.getEnd(this.getLeadItem());case QxKeyEvent.keys.down:return this.getDown(this.getLeadItem());case QxKeyEvent.keys.up:return this.getUp(this.getLeadItem());case QxKeyEvent.keys.left:return this.getLeft(this.getLeadItem());case QxKeyEvent.keys.right:return this.getRight(this.getLeadItem());case QxKeyEvent.keys.pageup:return this.getPageUp(this.getLeadItem());case QxKeyEvent.keys.pagedown:return this.getPageDown(this.getLeadItem());};return null;};proto._j1=function(){if(!this.getFireChange()){return;};this.dispatchEvent(new QxDataEvent("changeSelection",this.getSelectedItems()));};proto._j8=function(sOldValue){return sOldValue!=this._getChangeValue();};proto._getChangeValue=function(){return this._j5.getChangeValue();};proto.getHome=function(){return this.getFirst();};proto.getEnd=function(){return this.getLast();};proto.getDown=function(vItem){if(!vItem){return this.getFirst();};return this.getMultiColumnSupport()?(this.getUnder(vItem)||this.getLast()):this.getNext(vItem);};proto.getUp=function(vItem){if(!vItem){return this.getLast();};return this.getMultiColumnSupport()?(this.getAbove(vItem)||this.getFirst()):this.getPrevious(vItem);};proto.getLeft=function(vItem){if(!this.getMultiColumnSupport()){return null;};return !vItem?this.getLast():this.getPrevious(vItem);};proto.getRight=function(vItem){if(!this.getMultiColumnSupport()){return null;};return !vItem?this.getFirst():this.getNext(vItem);};proto.getAbove=function(vItem){throw new Error("getAbove():Not implemented yet");};proto.getUnder=function(vItem){throw new Error("getUnder():Not implemented yet");};proto.getPageUp=function(vItem){var vBound=this.getBoundedWidget();var vParentScrollTop=vBound.getScrollTop();var newItem;var nextItem=this.getLeadItem();if(!nextItem){nextItem=this.getFirst();};var tryLoops=0;while(tryLoops<2){while(nextItem&&(this.getItemTop(nextItem)-this.getItemHeight(nextItem)>=vParentScrollTop)){newItem=this.getUp(nextItem);if(newItem==null){break;};nextItem=newItem;};if(nextItem==null){tryLoops=2;break;};if(nextItem!=this.getLeadItem()){break;};vBound.setScrollTop(vParentScrollTop-vBound.getClientHeight()-this.getItemHeight(nextItem));vParentScrollTop=vBound.getScrollTop();tryLoops++;};return nextItem;};proto.getPageDown=function(vItem){var vBound=this.getBoundedWidget();var vParentScrollTop=vBound.getScrollTop();var vParentClientHeight=vBound.getClientHeight();var newItem;var nextItem=this.getLeadItem();if(!nextItem){nextItem=this.getFirst();};var tryLoops=0;while(tryLoops<2){while(nextItem&&((this.getItemTop(nextItem)+(2*this.getItemHeight(nextItem)))<=(vParentScrollTop+vParentClientHeight))){newItem=this.getDown(nextItem);if(newItem==null){break;};nextItem=newItem;};if(nextItem==null){tryLoops=2;break;};if(nextItem!=this.getLeadItem()){break;};vBound.setScrollTop(vParentScrollTop+vParentClientHeight-(2*this.getItemHeight(nextItem)));vParentScrollTop=vBound.getScrollTop();tryLoops++;};return nextItem;};proto.dispose=function(){if(this.getDisposed()){return;};if(this._j5){this._j5.dispose();this._j5=null;};return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxTimerManager.js b/swat/style/qooxdoo/widgets/managers/QxTimerManager.js
new file mode 100644
index 0000000000..dfd5fe2326
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxTimerManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTimerManager(){if(QxTimerManager._instance){return QxTimerManager._instance;};QxManager.call(this);QxTimerManager._instance=this;};QxTimerManager.extend(QxManager,"QxTimerManager"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxToolTipManager.js b/swat/style/qooxdoo/widgets/managers/QxToolTipManager.js
new file mode 100644
index 0000000000..1515fd337b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxToolTipManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolTipManager(){if(QxToolTipManager._instance)return QxToolTipManager._instance;QxManager.call(this);QxToolTipManager._instance=this;};QxToolTipManager.extend(QxManager,"QxToolTipManager");QxToolTipManager.addProperty({name:"currentToolTip"});proto._modifyCurrentToolTip=function(_b1,_b2,_b3,_b4){if(_b2&&_b2.contains(_b1)){return;};if(_b2){_b2.setVisible(false);_b2._stopShowTimer();_b2._stopHideTimer();};if(_b1){_b1._startShowTimer();};return true;};proto.handleMouseOver=function(e){var to=e.getTarget();var c=to;var tt;if(!(c instanceof QxWidget)&&c.nodeType==1){c=QxEventManager.getTargetObject(c);};while(c!=null&&!(tt=c.getToolTip())){c=c.getParent();};if(tt!=null){tt.setBoundToWidget(c);};this.setCurrentToolTip(tt);};proto.handleMouseOut=function(e){var to=e.getRelatedTarget();var from=e.getTarget();var cur=this.getCurrentToolTip();if(cur&&(to==cur||cur.contains(to))){return;};if(to&&from.contains(to)){return;};if(cur&&!to){this.setCurrentToolTip(null);};};proto.handleFocus=function(e){var c=e.getTarget();var tt=c.getToolTip();if(tt!=null){tt.setBoundToWidget(c);this.setCurrentToolTip(tt);};};proto.handleBlur=function(e){var c=e.getTarget();if(!c){return;};var tt=c.getToolTip();var cur=this.getCurrentToolTip();if(cur&&cur==tt){this.setCurrentToolTip(null);};}; \ No newline at end of file
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