Keep wait-hint overlay timeout in a field

Keep the timeout in a field to be able to change it at runtime.
diff --git a/bundles/org.eclipse.rap.rwt/js/org/eclipse/swt/Request.js b/bundles/org.eclipse.rap.rwt/js/org/eclipse/swt/Request.js
index 80e6982..ecd6f94 100644
--- a/bundles/org.eclipse.rap.rwt/js/org/eclipse/swt/Request.js
+++ b/bundles/org.eclipse.rap.rwt/js/org/eclipse/swt/Request.js
@@ -39,6 +39,7 @@
     requestQueue.setMaxConcurrentRequests( 1 );
     // References the currently running request or null if no request is active
     this._currentRequest = null;
+    this._waitHintTime = 700;
   },
 
   destruct : function() {
@@ -153,7 +154,7 @@
         this._runningRequestCount++;
         // notify user when request takes longer than 500 ms
         if( this._runningRequestCount === 1 ) {
-          qx.client.Timer.once( this._showWaitHint, this, 700 );
+          qx.client.Timer.once( this._showWaitHint, this, this._waitHintTime );
         }
         // clear the parameter list
         this._parameters = {};
diff --git a/bundles/org.eclipse.rap.rwt/resources/client.js b/bundles/org.eclipse.rap.rwt/resources/client.js
index 1a2c6bb..05c3c2b 100644
--- a/bundles/org.eclipse.rap.rwt/resources/client.js
+++ b/bundles/org.eclipse.rap.rwt/resources/client.js
@@ -142,7 +142,7 @@
 namespace($[217]);org.eclipse.rwt.TreeRowContainerWrapper=function(){this._fixedColumns=0;this._container=[];this._container[0]=new org.eclipse.rwt.widgets.TreeRowContainer();this._container[1]=new org.eclipse.rwt.widgets.TreeRowContainer();this._config=org.eclipse.rwt.widgets.TreeRowContainer.createRenderConfig();this._width=0;this._splitOffset=0;this._rowWidth=0;this.addEventListener($[6],this._onRowOver,this);this.addEventListener($[8],this._onRowOver,this)};org.eclipse.rwt.TreeRowContainerWrapper.createInstance=function(){if(!this.prototype._protoInit){for(var a=0;a<this._CONTAINER_DELEGATES.length;a++){this._createContainerDelegater(this._CONTAINER_DELEGATES[a])}for(var a=0;a<this._CONTAINER_GETTER_DELEGATES.length;a++){this._createContainerGetterDelegater(this._CONTAINER_GETTER_DELEGATES[a])}this.prototype._protoInit=true}return new org.eclipse.rwt.TreeRowContainerWrapper()};org.eclipse.rwt.TreeRowContainerWrapper._createContainerDelegater=function(a){this.prototype[a]=function(){this._container[0][a].apply(this._container[0],arguments);this._container[1][a].apply(this._container[1],arguments)}};org.eclipse.rwt.TreeRowContainerWrapper._createContainerGetterDelegater=function(a){this.prototype[a]=function(){return this._container[0][a].apply(this._container[0],arguments)}};org.eclipse.rwt.TreeRowContainerWrapper._CONTAINER_DELEGATES=["setParent",$[228],"addEventListener","removeEventListener","setSelectionProvider","setHeight","setTop","setBackgroundColor","setBackgroundImage","setRowHeight","setTopItem","renderItem","setToolTip","renderItemQueue","setBaseAppearance"];org.eclipse.rwt.TreeRowContainerWrapper._CONTAINER_GETTER_DELEGATES=["getTop","getHeight","getHoverItem","getElement","getChildrenLength"];org.eclipse.rwt.TreeRowContainerWrapper.prototype={_protoInit:false,getSubContainer:function(a){return this._container[a]||null},setFixedColumns:function(a){this._fixedColumns=a;this._updateConfig()},getFixedColumns:function(){return this._fixedColumns},getRenderConfig:function(){return this._config},setPostRenderFunction:function(){},setWidth:function(a){this._width=a;this._layoutX()},getWidth:function(){return this._width},setRowWidth:function(a){this._rowWidth=a;this._layoutX()},setScrollLeft:function(a){this._container[1].setScrollLeft(a)},findItemByRow:function(b){var a=this._container[0].findItemByRow(b);if(a==null){a=this._container[1].findItemByRow(b)}return a},updateRowLines:function(){this._container[0].getRenderConfig().linesVisible=this._config.linesVisible;this._container[0].updateRowLines();this._container[1].getRenderConfig().linesVisible=this._config.linesVisible;this._container[1].updateRowLines()},renderAll:function(){this._updateConfig();this._container[0].renderAll();this._container[1].renderAll()},_updateConfig:function(){var b=this._container[0].getRenderConfig();var g=this._container[1].getRenderConfig();for(var e in this._config){if(this._config[e] instanceof Array){b[e]=this._config[e].concat();g[e]=this._config[e].concat()}else{b[e]=this._config[e];g[e]=this._config[e]}}g.hasCheckBoxes=false;var a=this._getColumnOrder();var d=0;if(a.length>this._fixedColumns){d=this._config.itemLeft[a[this._fixedColumns]]}else{d=this._width}for(var c=0;c<a.length;c++){var f=a[c];if(c<this._fixedColumns){g.itemWidth[f]=0}else{b.itemWidth[f]=0;g.itemLeft[f]-=d;g.itemImageLeft[f]-=d;g.itemTextLeft[f]-=d}}if(this._splitOffset!==d){this._splitOffset=d;this._layoutX()}},_layoutX:function(){var a=Math.min(this._splitOffset,this._width);this._container[0].setWidth(a);this._container[0].setRowWidth(a);this._container[1].setLeft(a);this._container[1].setWidth(this._width-a);this._container[1].setRowWidth(this._rowWidth-a)},_getColumnOrder:function(){var a=[];var d=this._config.itemLeft.concat();var b=d.concat().sort(function(g,f){return g-f});for(var c=0;c<b.length;c++){var e=d.indexOf(b[c]);a[c]=e;d[e]=null}return a},_onRowOver:function(b){var c=b.getCurrentTarget();for(var a=0;a<this._container.length;a++){if(this._container[a]!==c){this._container[a].setHoverItem(c.getHoverItem())}}}};
 namespace($[217]);org.eclipse.rwt.TreeUtil={setFixedColumns:function(a,c){var b=a.getRowContainer();if(b.setFixedColumns){b.setFixedColumns(c);a.update()}},createTreeRowContainer:function(b){var a;if(b.splitContainer){a=org.eclipse.rwt.TreeRowContainerWrapper.createInstance()}else{a=new org.eclipse.rwt.widgets.TreeRowContainer()}return a},getColumnByPageX:function(b,d){var c=b.getRowContainer();var e=c instanceof org.eclipse.rwt.TreeRowContainerWrapper;if(e){c=b.getRowContainer().getSubContainer(0)}var a=this._getColumnByPageX(c,d);if(a===-1&&e){c=b.getRowContainer().getSubContainer(1);a=this._getColumnByPageX(c,d)}return a},_getColumnByPageX:function(a,d){var c=a.getRenderConfig();var g=c.columnCount;var h=g===0?0:-1;var e=a.getFirstChild().getElement();var b=qx.bom.element.Location.getLeft(e);for(var f=0;h==-1&&f<g;f++){var j=b+c.itemLeft[f];if(d>=j&&d<j+c.itemWidth[f]){h=f}}return h}};
 (function(){var b=org.eclipse.rwt.HtmlUtil;var a=qx.core.Variant;qx.Class.define("org.eclipse.rwt.widgets.TreeRow",{extend:qx.ui.basic.Terminator,construct:function(){arguments.callee.base.call(this);this.setSelectable(false);this.setHeight(16);this._styleMap=null;this._variant=null;this._expandElement=null;this._checkBoxElement=null;this._treeColumnElements=[];this._cellLabels=[];this._cellImages=[];this._cellBackgrounds=[];this._miscNodes=[];this._usedMiscNodes=0;this._cellsRendered=0},destruct:function(){this._expandElement=null;this._checkBoxElement=null;this._treeColumnElements=null;this._cellLabels=null;this._cellImages=null;this._cellBackgrounds=null;this._miscNodes=null},events:{itemRendered:$[3]},members:{renderItem:function(h,e,f,d,i){this._usedMiscNodes=0;if(h!==null){var c=this._renderAsSelected(e,f);var g=c&&e.fullSelection;this._renderStates(h,e,g,d);this._renderBackground(h,e,c);if(e.treeColumn!==-1){this._renderIndention(h,e,d)}this._renderCheckBox(h,e,d,i);this._renderCells(h,e,c,d,i);if(e.fullSelection||e.treeColumn===-1){this._renderOverlay(h,-1,e,f)}this._hideRemainingElements()}else{this.setBackgroundColor(null);this.setBackgroundImage(null);this.setBackgroundGradient(null);this._clearContent(e);if(!i&&e){this._renderAllBounds(e)}}this.dispatchSimpleEvent("itemRendered",h)},getTargetIdentifier:function(e){var d=e.getDomTarget();var c=$[139];if(this._expandElement!==null&&this._expandElement===d){c=$[280]}else{if(this._checkBoxElement!==null&&this._checkBoxElement===d){c=$[232]}else{while(d!==this.getElement()&&c===$[139]){if(this._treeColumnElements.indexOf(d)!=-1){c=$[309]}d=d.parentNode}}}return c},updateEvenState:function(c){this.setState("even",c%2===0)},_renderStates:function(f,d,e,c){this.setState($[203],f.isChecked());this.setState($[200],f.isGrayed());this.setState($[92],this._renderAsUnfocused(d));this.setState($[29],e);this._renderVariant(f.getVariant());this._renderOverState(c,d);this._styleMap=this._getStyleMap()},_renderVariant:function(c){if(this._variant!=c){if(this._variant!=null){this.setState(this._variant,false)}this._variant=c;if(this._variant!=null){this.setState(this._variant,true)}}},_renderOverState:function(d,c){this.setState("over",d!==null&&c.fullSelection)},setState:function(d,c){if(!this.__states){this.__states={}}if(c){this.__states[d]=true}else{delete this.__states[d]}},_getStyleMap:function(){var c=qx.theme.manager.Appearance.getInstance();return c.styleFrom(this.getAppearance(),this.__states)},_styleFromMap:function(){},_renderBackground:function(f,d,e){var c=this._styleMap.itemBackground;var h=this._styleMap.itemBackgroundImage;var g=this._styleMap.itemBackgroundGradient;if(this._hasOverlayBackground()&&!this._rendersOverlayElement(d,e)){c=this._styleMap.overlayBackground;h=this._styleMap.overlayBackgroundImage;g=this._styleMap.overlayBackgroundGradient}else{if(d.enabled!==false&&f!==null&&f.getBackground()!==null){c=f.getBackground();h=null;g=null}}this.setBackgroundColor(c!==$[7]?c:null);this.setBackgroundImage(h!==$[7]?h:null);this.setBackgroundGradient(g!==$[7]?g:null)},_hasOverlayBackground:function(){var c=this._styleMap.overlayBackground!==$[7]||this._styleMap.overlayBackgroundImage!==null||this._styleMap.overlayBackgroundGradient!==null;return c},_renderIndention:function(h,e,d){var i=this._getExpandSymbol(h,e,d);if(i!=null){var f=this._addIndentSymbol(h.getLevel(),e,i);this._expandElement=f}else{this._expandElement=null}var c=this._getLineSymbol(h,e);if(c!=null){var g=h.getParent();while(!g.isRootItem()){if(g.hasNextSibling()){this._addIndentSymbol(g.getLevel(),e,c)}g=g.getParent()}}},_getExpandSymbol:function(f,e,d){var c=this._getParentStates(e);if(f.getLevel()===0&&!f.hasPreviousSibling()){c.first=true}if(!f.hasNextSibling()){c.last=true}if(f.hasChildren()){if(f.isExpanded()){c.expanded=true}else{c.collapsed=true}}if(d===$[280]){c.over=true}return this._getImageFromAppearance("indent",c)},_getLineSymbol:function(e,d){var c=this._getParentStates(d);c.line=true;return this._getImageFromAppearance("indent",c)},_getParentStates:function(d){var c={};if(d.variant){c[d.variant]=true}return c},_getImageFromAppearance:function(h,d){var c=this.getAppearance()+"-"+h;var e=qx.theme.manager.Appearance.getInstance();var g=e.styleFrom(c,d);var f=g&&g.backgroundImage;return f?g.backgroundImage:null},_addIndentSymbol:function(d,f,c){var l=null;var j=(d+1)*f.indentionWidth;var g=f.itemWidth[f.treeColumn];if(j<=g){var h=d*f.indentionWidth;var k=this.getHeight();var e=j-h;var i=this._getMiscImage();this._setImage(i,c,f.enabled);this._setBounds(i,h,0,e,k);l=i}return l},_renderCheckBox:function(j,d,h,f){if(d.hasCheckBoxes){var k=this.__states;this.setState("over",h!==null&&h===$[232]);var g=this._getImageFromAppearance("check-box",k);this.setState("over",h!==null);if(this._checkBoxElement===null){this._checkBoxElement=this._createElement(3);this._checkBoxElement.style.backgroundRepeat=$[253];this._checkBoxElement.style.backgroundPosition=$[30]}this._setImage(this._checkBoxElement,g,d.enabled);if(d.treeColumn!==-1||!f){var e=this._getCheckBoxLeft(j,d);var c=this._getCheckBoxWidth(j,d);var i=this.getHeight();this._setBounds(this._checkBoxElement,e,0,c,i)}}},_renderCells:function(m,c,f,k,d){var e=this._getColumnCount(c);if(this._cellsRendered>e){this._removeCells(e,this._cellsRendered)}if(!c.fullSelection&&f){this._renderStates(m,c,false,k)}for(var g=0;g<e;g++){var l=this._isTreeColumn(g,c);if(this._getItemWidth(m,g,c)>0){this._renderCellBackground(m,g,c,d,f);if(!c.fullSelection&&l){this._renderStates(m,c,f,k);var j=this._renderCellImage(m,g,c,l,d);var h=this._renderCellLabel(m,g,c,l,d);this._treeColumnElements=[j,h];this._renderOverlay(m,g,c,f);this._renderStates(m,c,false,k)}else{this._renderCellImage(m,g,c,l,d);this._renderCellLabel(m,g,c,l,d)}}else{this._removeCell(g)}}this._cellsRendered=e},_renderOverlay:function(p,m,f,h){if(p&&this._rendersOverlayElement(f,h)){var k=this._styleMap.overlayBackground;var c=this._styleMap.itemBackground;var o=k!==$[7]&&k!==null;var d=h&&m!==-1&&c!==$[7]&&c!==null;if(p&&(d||o)){var i=this._getMiscBackground();i.style.backgroundColor=o?k:c;if(o){org.eclipse.rwt.HtmlUtil.setOpacity(i,this._styleMap.overlayBackgroundAlpha)}var n=this.getHeight();var g;var e;if(f.fullSelection){g=0;e=this.getWidth()}else{var l=f.selectionPadding;g=this._getItemTextLeft(p,m,f);g-=l[0];e=this._getItemTextWidth(p,m,f);e+=e>0?l[0]:0;var j=this._getVisualTextWidth(p,m,f);j+=l[0]+l[1];e=Math.min(e,j);var n=this.getHeight()}this._setBounds(i,g,0,e,n)}}},_rendersOverlayElement:function(e,f){var i=f&&!e.fullSelection&&e.treeColumn!==-1;var h=this._styleMap.overlayBackground;var c=this._styleMap.itemBackground;var d=h!==$[7]&&h!==null;var g=this._styleMap.overlayBackgroundImage!==null||this._styleMap.overlayBackgroundGradient!==null;var j=i&&c!==$[7]&&c!==null;var k=d&&(!g||i);return j||k},_renderCellBackground:function(h,c,d,i){var f=this._getCellBackgroundColor(h,c,d);var g=false;if(f!==$[7]&&f!=this._styleMap.backgroundColor){g=!i||!this._cellBackgrounds[c];var e=this._getBackgroundElement(c);e.style.backgroundColor=f}else{if(this._cellBackgrounds[c]){this._cellBackgrounds[c].style.backgroundColor=$[82];g=!i}}if(g){this._renderCellBackgroundBounds(h,c,d)}},_renderCellBackgroundBounds:function(h,d,e){var f=this._cellBackgrounds[d];if(f){var i=this._getItemLeft(h,d,e);var g=this._getItemWidth(h,d,e);var c=this.getHeight();if(this.hasState($[185])){c-=1}this._setBounds(f,i,0,g,c)}},_renderCellImage:function(h,c,e,d,j){var i=h.getImage(c);var f=null;var g=false;if(i!==null){g=d||!j||!this._cellImages[c];f=this._getCellImage(c);this._setImage(f,i,g?e.enabled:null)}else{if(this._cellImages[c]){g=d||!j;f=this._getCellImage(c);this._setImage(f,null,null)}}if(g){this._renderCellImageBounds(h,c,e)}return f},_renderCellImageBounds:function(g,c,d){var e=this._cellImages[c];if(e){var h=this._getItemImageLeft(g,c,d);var f=this._getItemImageWidth(g,c,d);this._setBounds(e,h,0,f,this.getHeight())}},_renderCellLabel:function(h,c,e,d,i){var f=null;var g=false;if(h.hasText(c)){g=d||!i||!this._cellLabels[c];f=this._getTextElement(c,e);this._renderElementContent(f,h,c,e.markupEnabled);if(g){f.style.textAlign=d?"left":this._getAlignment(c,e)}this._styleLabel(f,h,c,e)}else{if(this._cellLabels[c]){g=d||!i;f=this._getTextElement(c,e);this._renderElementContent(f,null,-1,e.markupEnabled)}}if(g){this._renderCellLabelBounds(h,c,e)}return f},_renderCellLabelBounds:function(g,c,d){var e=this._cellLabels[c];if(e){var h=this._getItemTextLeft(g,c,d);var f=this._getItemTextWidth(g,c,d);this._setBounds(e,h,0,f,this.getHeight());e.style.lineHeight=d.markupEnabled?"":e.style.height}},_renderElementContent:a.select($[0],{"mshtml|newmshtml":function(f,g,c,e){if(e){var d=g?g.getText(c,false):"";if(f.rap_Markup!==d){f.innerHTML=d;f.rap_Markup=d}}else{f.innerText=g?g.getText(c,false):""}},"default":function(f,g,c,e){var d=g?g.getText(c,!e):"";if(e){if(d!==f.rap_Markup){f.innerHTML=d;f.rap_Markup=d}}else{f.innerHTML=d}}}),_styleLabel:function(e,f,c,d){this._setForeground(e,this._getCellColor(f,c,d));this._setFont(e,this._getCellFont(f,c,d));this._setTextDecoration(e,this._styleMap.textDecoration);b.setTextShadow(e,this._styleMap.textShadow)},_getCellBackgroundColor:function(g,d,e,f){var c;if(e.enabled===false||(this._hasOverlayBackground()&&!this._rendersOverlayElement(e,f))){c=$[7]}else{c=g.getCellBackground(d)}return c},_getCellColor:function(f,d,e){var c=null;if(this._styleMap.overlayForeground!==$[7]){c=this._styleMap.overlayForeground}else{if(e.enabled!==false&&f.getCellForeground(d)){c=f.getCellForeground(d)}else{c=this._styleMap.itemForeground;if(c===$[7]){c=e.textColor}}}return c},_getCellFont:function(f,d,e){var c=f.getCellFont(d);if(c===null||c===""){c=e.font}return c},_getVisualTextWidth:function(i,g,d){var f=org.eclipse.swt.FontSizeCalculation;var k=0;if(this._cellLabels[g]){var e=this._getCellFont(i,g,d);var j=this._getFontProps(e);var h=this._cellLabels[g].innerHTML;var c=f.computeTextDimensions(h,j);k=c[0]}return k},_renderAsUnfocused:function(c){return !c.focused&&!this.hasState($[340])},_renderAsSelected:function(d,e){var c=(e||this.hasState($[340]))&&(!d.hideSelection||d.focused)&&!d.alwaysHideSelection;return c},_getFontProps:function(d){var c={};var e;if(d instanceof qx.ui.core.Font){e=d}else{e=qx.ui.core.Font.fromString(d)}e.renderStyle(c);e.dispose();return c},_setFont:function(d,c){if(c===""||c===null){this._resetFont(d)}else{if(c instanceof qx.ui.core.Font){c.renderStyle(d.style)}else{d.style.font=c}}},_resetFont:a.select($[0],{"default":function(c){c.style.font="";c.style.fontFamily="";c.style.fontSize="";c.style.fontVariant="";c.style.fontStyle="";c.style.fontWeight=""},mshtml:function(c){c.style.fontFamily="";c.style.fontSize="";c.style.fontVariant="";c.style.fontStyle="";c.style.fontWeight=""}}),_setTextDecoration:function(d,c){if(c==null||c==="none"){d.style.textDecoration=""}else{d.style.textDecoration=c}},_setBounds:function(f,d,h,g,c){try{f.style.left=d+"px";f.style.top=h+"px";f.style.width=g+"px";f.style.height=c+"px"}catch(e){throw"setBounds failed: "+[f,d,h,g,c]}},_setForeground:function(d,c){d.style.color=c!=null?c:""},_setImage:function(e,f,d){e.style.backgroundImage=f?"URL("+f+")":"none";if(d!==null){var c=d?1:0.3;b.setOpacity(e,c)}},_getTextElement:function(d,e){var c=this._cellLabels[d];if(!c){c=this._createElement(3);c.style.verticalAlign=$[46];c.style.whiteSpace="nowrap";if(org.eclipse.rwt.Client.isNewMshtml()){c.style.backgroundColor="rgba(0, 0, 0, 0)"}this._cellLabels[d]=c}return c},_getCellImage:function(d){var c=this._cellImages[d];if(!c){c=this._createElement(3);c.style.backgroundRepeat=$[253];c.style.backgroundPosition=$[30];this._cellImages[d]=c}return c},_getMiscImage:function(){var c=this._getMiscElement(3);c.innerHTML="";c.style.backgroundColor="";return c},_getMiscBackground:function(){var c=this._getMiscElement(2);c.style.backgroundImage="";c.innerHTML="";return c},_getBackgroundElement:function(d){var c=this._cellBackgrounds[d];if(!c){c=this._createElement(1);this._cellBackgrounds[d]=c}return c},_getMiscElement:function(e){var c;var d=this._getTargetNode();if(this._usedMiscNodes<this._miscNodes.length){c=this._miscNodes[this._usedMiscNodes];c.style.display="";c.style.zIndex=e}else{c=this._createElement(e);c.style.backgroundRepeat=$[253];c.style.backgroundPosition=$[30];this._miscNodes.push(c)}this._usedMiscNodes++;return c},_createElement:function(d){var c=document.createElement("div");c.style.position=$[17];c.style.overflow=$[13];c.style.zIndex=d;this._getTargetNode().appendChild(c);return c},_clearContent:function(c){for(var d=0;d<this._cellBackgrounds.length;d++){if(this._cellBackgrounds[d]){this._cellBackgrounds[d].style.backgroundColor=$[82]}}for(var d=0;d<this._cellImages.length;d++){if(this._cellImages[d]){this._cellImages[d].style.backgroundImage=""}}for(var d=0;d<this._cellLabels.length;d++){if(this._cellLabels[d]){this._renderElementContent(this._cellLabels[d],null,-1,c.markupEnabled)}}if(this._checkBoxElement){this._checkBoxElement.style.backgroundImage=""}this._hideRemainingElements()},_renderAllBounds:function(c){var e=this._getColumnCount(c);for(var d=0;d<e;d++){if(!this._isTreeColumn(d,c)){this._renderCellLabelBounds(null,d,c);this._renderCellImageBounds(null,d,c)}this._renderCellBackgroundBounds(null,d,c)}},_hideRemainingElements:function(){var d=this._getTargetNode();for(var c=this._usedMiscNodes;c<this._miscNodes.length;c++){this._miscNodes[c].style.display="none"}},_removeCells:function(e,d){for(var c=e;c<d;c++){this._removeCell(c)}},_removeCell:function(c){this._removeNode(this._cellBackgrounds,c);this._removeNode(this._cellImages,c);this._removeNode(this._cellLabels,c)},_removeNode:function(c,e){var d=c[e];if(d){this._getTargetNode().removeChild(d);c[e]=null}},_ieFixLayoutOnAppear:a.select($[0],{mshtml:function(){arguments.callee.base.call(this);var d=this._getTargetNode();for(var c=0;c<d.childNodes.length;c++){if(d.childNodes[c].style.display==="none"){d.childNodes[c].style.display="";d.childNodes[c].style.display="none"}}},"default":qx.lang.Function.returnTrue}),_getCheckBoxLeft:function(d,c){return this._correctOffset(c.checkBoxLeft,d,c)},_getCheckBoxWidth:function(e,d){var c=d.checkBoxWidth;var f=this._getCheckBoxLeft(e,d);return this._correctWidth(c,f,0,d)},_getItemLeft:function(e,d,c){return c.itemLeft[d]},_getItemWidth:function(e,d,c){return c.itemWidth[d]},_getItemImageLeft:function(f,e,d){var c=d.itemImageLeft[e];if(this._isTreeColumn(e,d)){c=this._correctOffset(c,f,d)}return c},_getItemImageWidth:function(f,e,d){var c=d.itemImageWidth[e];if(this._isTreeColumn(e,d)){var g=this._getItemImageLeft(f,e,d);c=this._correctWidth(c,g,e,d)}return c},_getItemTextLeft:function(f,e,d){var c=d.itemTextLeft[e];if(this._isTreeColumn(e,d)){c=this._correctOffset(c,f,d)}return c},_getItemTextWidth:function(f,e,d){var c=d.itemTextWidth[e];if(this._isTreeColumn(e,d)){var g=this._getItemTextLeft(f,e,d);c=this._correctWidth(c,g,e,d)}return c},_correctOffset:function(e,d,c){return e+this._getIndentionOffset(d.getLevel()+1,c)},_correctWidth:function(g,i,f,d){var c=g;var h=d.itemLeft[f]+d.itemWidth[f];var e=i+c;if(e>h){c=Math.max(0,h-i)}return c},_getAlignment:function(d,c){return c.alignment[d]?c.alignment[d]:"left"},_getIndentionOffset:function(d,c){return c.indentionWidth*d},_getColumnCount:function(c){return Math.max(1,c.columnCount)},_isTreeColumn:function(d,c){return d===c.treeColumn},supportsDrop:function(){return true}}})}());
-qx.Class.define("org.eclipse.swt.Request",{type:$[37],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this._url="";this._parameters={};this._uiRootId="";this._requestCounter=null;this._runningRequestCount=0;this._inDelayedSend=false;var a=qx.io.remote.RequestQueue.getInstance();a.setDefaultTimeout(60000*60*24);a.setMaxConcurrentRequests(1);this._currentRequest=null},destruct:function(){this._currentRequest=null},events:{send:$[48],received:$[48]},members:{setUrl:function(a){this._url=a},getUrl:function(){return this._url},setUIRootId:function(a){this._uiRootId=a},getUIRootId:function(){return this._uiRootId},setRequestCounter:function(a){this._requestCounter=a},getRequestCounter:function(){return this._requestCounter},addParameter:function(a,b){this._parameters[a]=b},removeParameter:function(a){delete this._parameters[a]},getParameter:function(b){var a=this._parameters[b];if(a===undefined){a=null}return a},addEvent:function(a,b){this._parameters[a]=b},send:function(){if(!this._inDelayedSend){this._inDelayedSend=true;var a=function(){this._sendImmediate(true)};qx.client.Timer.once(a,this,60)}},sendSyncronous:function(){this._sendImmediate(false)},_sendImmediate:function(a){this._dispatchSendEvent();this._parameters.uiRoot=this._uiRootId;if(this._requestCounter==-1){this._inDelayedSend=false;this.send()}else{if(this._requestCounter!=null){this._parameters.requestCounter=this._requestCounter;this._requestCounter=-1}var b=this._createRequest();b.setAsynchronous(a);this._inDelayedSend=false;this._copyParameters(b);this._runningRequestCount++;if(this._runningRequestCount===1){qx.client.Timer.once(this._showWaitHint,this,700)}this._parameters={};if(a){b.send()}else{this._sendStandalone(b)}}},_copyParameters:function(b){var c=[];for(var a in this._parameters){c.push(encodeURIComponent(a)+"="+encodeURIComponent(this._parameters[a]))}b.setData(c.join("&"))},_createRequest:function(){var a=new qx.io.remote.Request(this._url,"POST",$[282]);a.addEventListener($[52],this._handleSending,this);a.addEventListener($[26],this._handleCompleted,this);a.addEventListener($[38],this._handleFailed,this);return a},_sendStandalone:function(b){var a=b;var c=new qx.io.remote.Exchange(a);c.addEventListener($[52],a._onsending,a);c.addEventListener($[56],a._onreceiving,a);c.addEventListener($[26],a._oncompleted,a);c.addEventListener($[55],a._onaborted,a);c.addEventListener($[53],a._ontimeout,a);c.addEventListener($[38],a._onfailed,a);c._start=(new Date()).valueOf();c.send()},_handleSending:function(a){var b=a.getTarget();this._currentRequest=b.getRequest()},_handleFailed:function(a){var b=a.getTarget();this._currentRequest=b.getRequest();var d=true;if(this._isConnectionError(a.getStatusCode())){d=!this._handleConnectionError(a)}if(d){var f=b.getImplementation().getRequest();var g=f.responseText;if(typeof(g)=="unknown"){g=undefined}if(g&&g.length>0){if(this._isJsonResponse(f)){var c=JSON.parse(g);org.eclipse.rwt.ErrorHandler.showErrorBox(c.meta.message,true)}else{org.eclipse.rwt.ErrorHandler.showErrorPage(g)}}else{var e=String(a.getStatusCode());g="<p>Request failed.</p><pre>HTTP Status Code: "+e+"</pre>";org.eclipse.rwt.ErrorHandler.showErrorPage(g)}this._hideWaitHint()}b.dispose()},_handleCompleted:function(a){var b=a.getTarget();var f=b.getImplementation().getRequest().responseText;var c=false;try{var e=JSON.parse(f);org.eclipse.swt.EventUtil.setSuspended(true);org.eclipse.rwt.protocol.Processor.processMessage(e);qx.ui.core.Widget.flushGlobalQueues();org.eclipse.swt.EventUtil.setSuspended(false);org.eclipse.rwt.UICallBack.getInstance().sendUICallBackRequest()}catch(d){org.eclipse.rwt.ErrorHandler.processJavaScriptErrorInResponse(f,d,this._currentRequest);c=true}if(!c){this._dispatchReceivedEvent()}this._runningRequestCount--;this._hideWaitHint();b.dispose()},_handleConnectionError:function(g){var a="The server seems to be temporarily unavailable.\nWould you like to retry?";var i=confirm(a);if(i){org.eclipse.rwt.ErrorHandler.hideErrorBox();var b=this._createRequest();var e=this._currentRequest;b.setAsynchronous(e.getAsynchronous());var c=e.getRequestHeaders();for(var d in c){b.setRequestHeader(d,c[d])}var h=e.getParameters();for(var f in h){b.setParameter(f,h[f])}b.setData(e.getData());this._restartRequest(b)}return i},_restartRequest:function(a){a.setState($[167]);var b=qx.io.remote.RequestQueue.getInstance();qx.lang.Array.insertAt(b._queue,a,0);b._check();if(b.getEnabled()){b._timer.start()}},_isConnectionError:qx.core.Variant.select($[0],{"mshtml|newmshtml":function(b){var a=(b===12007||b===12029||b===12030||b===12031||b===12152);return a},gecko:function(b){var a;if(org.eclipse.rwt.Client.getMajor()*10+org.eclipse.rwt.Client.getMinor()>=19){a=(b===0)}else{a=(b===-1)}return a},"default":function(a){return a===0}}),_isJsonResponse:function(a){var b=a.getResponseHeader($[348]);return b.indexOf(qx.util.Mime.JSON)!==-1},_showWaitHint:function(){if(this._runningRequestCount>0){var a=qx.ui.core.ClientDocument.getInstance();a.setGlobalCursor(qx.constant.Style.CURSOR_PROGRESS);org.eclipse.rwt.ErrorHandler.showWaitHint()}},_hideWaitHint:function(){if(this._runningRequestCount===0){var a=qx.ui.core.ClientDocument.getInstance();a.setGlobalCursor(null);org.eclipse.rwt.ErrorHandler.hideErrorBox()}},_dispatchSendEvent:function(){if(this.hasEventListeners("send")){var a=new qx.event.type.DataEvent("send",this);this.dispatchEvent(a,true)}},_dispatchReceivedEvent:function(){if(this.hasEventListeners($[251])){var a=new qx.event.type.DataEvent($[251],this);this.dispatchEvent(a,true)}}}});
+qx.Class.define("org.eclipse.swt.Request",{type:$[37],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this._url="";this._parameters={};this._uiRootId="";this._requestCounter=null;this._runningRequestCount=0;this._inDelayedSend=false;var a=qx.io.remote.RequestQueue.getInstance();a.setDefaultTimeout(60000*60*24);a.setMaxConcurrentRequests(1);this._currentRequest=null;this._waitHintTime=700},destruct:function(){this._currentRequest=null},events:{send:$[48],received:$[48]},members:{setUrl:function(a){this._url=a},getUrl:function(){return this._url},setUIRootId:function(a){this._uiRootId=a},getUIRootId:function(){return this._uiRootId},setRequestCounter:function(a){this._requestCounter=a},getRequestCounter:function(){return this._requestCounter},addParameter:function(a,b){this._parameters[a]=b},removeParameter:function(a){delete this._parameters[a]},getParameter:function(b){var a=this._parameters[b];if(a===undefined){a=null}return a},addEvent:function(a,b){this._parameters[a]=b},send:function(){if(!this._inDelayedSend){this._inDelayedSend=true;var a=function(){this._sendImmediate(true)};qx.client.Timer.once(a,this,60)}},sendSyncronous:function(){this._sendImmediate(false)},_sendImmediate:function(a){this._dispatchSendEvent();this._parameters.uiRoot=this._uiRootId;if(this._requestCounter==-1){this._inDelayedSend=false;this.send()}else{if(this._requestCounter!=null){this._parameters.requestCounter=this._requestCounter;this._requestCounter=-1}var b=this._createRequest();b.setAsynchronous(a);this._inDelayedSend=false;this._copyParameters(b);this._runningRequestCount++;if(this._runningRequestCount===1){qx.client.Timer.once(this._showWaitHint,this,this._waitHintTime)}this._parameters={};if(a){b.send()}else{this._sendStandalone(b)}}},_copyParameters:function(b){var c=[];for(var a in this._parameters){c.push(encodeURIComponent(a)+"="+encodeURIComponent(this._parameters[a]))}b.setData(c.join("&"))},_createRequest:function(){var a=new qx.io.remote.Request(this._url,"POST",$[282]);a.addEventListener($[52],this._handleSending,this);a.addEventListener($[26],this._handleCompleted,this);a.addEventListener($[38],this._handleFailed,this);return a},_sendStandalone:function(b){var a=b;var c=new qx.io.remote.Exchange(a);c.addEventListener($[52],a._onsending,a);c.addEventListener($[56],a._onreceiving,a);c.addEventListener($[26],a._oncompleted,a);c.addEventListener($[55],a._onaborted,a);c.addEventListener($[53],a._ontimeout,a);c.addEventListener($[38],a._onfailed,a);c._start=(new Date()).valueOf();c.send()},_handleSending:function(a){var b=a.getTarget();this._currentRequest=b.getRequest()},_handleFailed:function(a){var b=a.getTarget();this._currentRequest=b.getRequest();var d=true;if(this._isConnectionError(a.getStatusCode())){d=!this._handleConnectionError(a)}if(d){var f=b.getImplementation().getRequest();var g=f.responseText;if(typeof(g)=="unknown"){g=undefined}if(g&&g.length>0){if(this._isJsonResponse(f)){var c=JSON.parse(g);org.eclipse.rwt.ErrorHandler.showErrorBox(c.meta.message,true)}else{org.eclipse.rwt.ErrorHandler.showErrorPage(g)}}else{var e=String(a.getStatusCode());g="<p>Request failed.</p><pre>HTTP Status Code: "+e+"</pre>";org.eclipse.rwt.ErrorHandler.showErrorPage(g)}this._hideWaitHint()}b.dispose()},_handleCompleted:function(a){var b=a.getTarget();var f=b.getImplementation().getRequest().responseText;var c=false;try{var e=JSON.parse(f);org.eclipse.swt.EventUtil.setSuspended(true);org.eclipse.rwt.protocol.Processor.processMessage(e);qx.ui.core.Widget.flushGlobalQueues();org.eclipse.swt.EventUtil.setSuspended(false);org.eclipse.rwt.UICallBack.getInstance().sendUICallBackRequest()}catch(d){org.eclipse.rwt.ErrorHandler.processJavaScriptErrorInResponse(f,d,this._currentRequest);c=true}if(!c){this._dispatchReceivedEvent()}this._runningRequestCount--;this._hideWaitHint();b.dispose()},_handleConnectionError:function(g){var a="The server seems to be temporarily unavailable.\nWould you like to retry?";var i=confirm(a);if(i){org.eclipse.rwt.ErrorHandler.hideErrorBox();var b=this._createRequest();var e=this._currentRequest;b.setAsynchronous(e.getAsynchronous());var c=e.getRequestHeaders();for(var d in c){b.setRequestHeader(d,c[d])}var h=e.getParameters();for(var f in h){b.setParameter(f,h[f])}b.setData(e.getData());this._restartRequest(b)}return i},_restartRequest:function(a){a.setState($[167]);var b=qx.io.remote.RequestQueue.getInstance();qx.lang.Array.insertAt(b._queue,a,0);b._check();if(b.getEnabled()){b._timer.start()}},_isConnectionError:qx.core.Variant.select($[0],{"mshtml|newmshtml":function(b){var a=(b===12007||b===12029||b===12030||b===12031||b===12152);return a},gecko:function(b){var a;if(org.eclipse.rwt.Client.getMajor()*10+org.eclipse.rwt.Client.getMinor()>=19){a=(b===0)}else{a=(b===-1)}return a},"default":function(a){return a===0}}),_isJsonResponse:function(a){var b=a.getResponseHeader($[348]);return b.indexOf(qx.util.Mime.JSON)!==-1},_showWaitHint:function(){if(this._runningRequestCount>0){var a=qx.ui.core.ClientDocument.getInstance();a.setGlobalCursor(qx.constant.Style.CURSOR_PROGRESS);org.eclipse.rwt.ErrorHandler.showWaitHint()}},_hideWaitHint:function(){if(this._runningRequestCount===0){var a=qx.ui.core.ClientDocument.getInstance();a.setGlobalCursor(null);org.eclipse.rwt.ErrorHandler.hideErrorBox()}},_dispatchSendEvent:function(){if(this.hasEventListeners("send")){var a=new qx.event.type.DataEvent("send",this);this.dispatchEvent(a,true)}},_dispatchReceivedEvent:function(){if(this.hasEventListeners($[251])){var a=new qx.event.type.DataEvent($[251],this);this.dispatchEvent(a,true)}}}});
 qx.Class.define("org.eclipse.rwt.widgets.Menu",{extend:qx.ui.popup.Popup,include:org.eclipse.rwt.VisibilityAnimationMixin,construct:function(){arguments.callee.base.call(this);this._layout=null;this._preItem=null;this._hasListener=false;this._maxCellWidths=null;this._menuLayoutScheduled=false;this._opener=null;this._hoverItem=null;this._openTimer=null;this._closeTimer=null;this._openItem=null;this._itemsHiddenFlag=false;this._hoverFirstItemFlag=false;this.setHeight("auto");this.setWidth("auto");this._maxCellWidths=[null,null,null,null];this._layout=new qx.ui.layout.VerticalBoxLayout();this._layout.set({top:0,right:0,bottom:0,left:0,anonymous:true});this.add(this._layout);this.addEventListener($[1],this._unhoverSubMenu);this.addEventListener($[8],this._onMouseOut);this.addEventListener($[6],this._onMouseOver);this.addEventListener($[4],this._onKeyPress);this._openTimer=new qx.client.Timer(250);this._openTimer.addEventListener($[28],this._onopentimer,this);this._closeTimer=new qx.client.Timer(250);this._closeTimer.addEventListener($[28],this._onclosetimer,this);this.addToDocument()},destruct:function(){this._disposeObjects("_openTimer","_closeTimer","_preItem","_animation");this._disposeFields("_lastActive","_lastFocus","_layout","_opener","_hoverItem","_openItem")},statics:{menuDetectedByKey:function(a){if(a.getKeyIdentifier()==="Apps"){org.eclipse.rwt.widgets.Menu.contextMenuHandler(a)}},menuDetectedByMouse:function(a){if(a.getButton()===qx.event.type.MouseEvent.C_BUTTON_RIGHT){org.eclipse.rwt.widgets.Menu.contextMenuHandler(a)}},contextMenuHandler:function(d){var e=org.eclipse.swt.WidgetUtil.getControl(d.getTarget());var b=e?e.getContextMenu():null;if(b!=null){d.stopPropagation();d.preventDefault();var c=qx.event.type.MouseEvent.getPageX();var a=qx.event.type.MouseEvent.getPageY();b.setLocation(c,a);b.setOpener(e);b.show()}},getAllowContextMenu:function(c,b){var a=false;switch(c.classname){case $[428]:case $[434]:case"qx.ui.form.TextArea":if(c.getEnabled()!=false){if(org.eclipse.rwt.widgets.Menu._hasNativeMenu(b)){a=c.getContextMenu()==null}}break}return a},_hasNativeMenu:function(b){var a=typeof b.tagName==$[9]?b.tagName.toUpperCase():"";return a==="INPUT"||a==="TEXTAREA"}},properties:{appearance:{refine:true,init:"menu"}},events:{changeHoverItem:$[3]},members:{setOpener:function(a){this._opener=a},getOpener:function(a){return this._opener},getFocusRoot:function(){var a=null;if(this._opener){a=this._opener.getFocusRoot()}else{if(this._hasParent){a=this.getParent().getFocusRoot()}}return a},addMenuItemAt:function(b,a){if(b.setParentMenu){b.setParentMenu(this)}this._layout.addAt(b,a)},scheduleMenuLayout:function(){if(this._menuLayoutScheduled!=true){this._menuLayoutScheduled=true;var b=this._layout.getChildren();var c=b.length;for(var a=0;a<c;a++){b[a]._invalidatePreferredInnerWidth();b[a].addToQueue("layoutX")}this.addToQueue("menuLayout")}},_layoutPost:function(a){arguments.callee.base.call(this,a);if(a.menuLayout){this._menuLayoutScheduled=false;if(this.isSeeable()){this._afterAppear()}}},getMaxCellWidth:function(b){if(this._maxCellWidths[b]==null){var a=0;var d=this._layout.getChildren();var e=d.length;for(var c=0;c<e;c++){if(d[c].getPreferredCellWidth){a=Math.max(a,d[c].getPreferredCellWidth(b))}}this._maxCellWidths[b]=a}if(b==0&&this._maxCellWidths[0]==0&&this.getMaxCellWidth(1)==0){this._maxCellWidths[b]=13}return this._maxCellWidths[b]},invalidateMaxCellWidth:function(a){this._maxCellWidths[a]=null},invalidateAllMaxCellWidths:function(){for(var a=0;a<4;a++){this._maxCellWidths[a]=null}},isSubElement:function(b,e){var f=false;if((b.getParent()===this._layout)||((!e)&&(b===this))){f=true}if(!f){var d=this._layout.getChildren(),c=d.length;for(var g=0;g<c;g++){if(this.hasSubmenu(d[g])&&d[g].getMenu().isSubElement(b,e)){f=true}}}return f},setHoverItem:function(b,c){var a=b?b:this._openItem;if(this._hoverItem&&this._hoverItem!=a){this._hoverItem.removeState("over")}if(a){a.addState("over")}this._hoverItem=a;if(!c){this._openTimer.setEnabled(false);if(this.hasSubmenu(a)&&(this._openItem!=a)){this._openTimer.setEnabled(true)}if(this._openItem){if(this._openItem==a||a==null){this._closeTimer.setEnabled(false)}else{if(a!=null){this._closeTimer.setEnabled(true)}}}}this.dispatchSimpleEvent("changeHoverItem")},getHoverItem:function(a){return this._hoverItem},hoverFirstItem:function(){if(this._isDisplayable&&!this._itemsHiddenFlag){this.setHoverItem(null,true);this._hoverNextItem();this.removeState($[459])}else{this.addState($[459])}},_hoverNextItem:function(){var d;var c=null;var b=this._layout.getVisibleChildren();var a=b.indexOf(this._hoverItem);var e=a;do{a++;if(a>b.length){a=-1}d=a>=0?b[a]:null;if(d&&d.isEnabled()&&d.classname==$[352]){c=d}}while(!c&&(a!=e));this.setHoverItem(c,true)},_hoverPreviousItem:function(){var d;var c=null;var b=this._layout.getVisibleChildren();var a=b.indexOf(this._hoverItem);var e=a;do{a--;if(a<-1){a=b.length}d=a>=0?b[a]:null;if(d&&d.isEnabled()&&d.classname==$[352]){c=d}}while(!c&&(a!=e));this.setHoverItem(c,true)},_makeActive:function(){this._lastActive=this.getFocusRoot().getActiveChild();this._lastFocus=this.getFocusRoot().getFocusedChild();this.getFocusRoot().setActiveChild(this)},_makeInactive:function(){var a=this.getFocusRoot();a.setActiveChild(this._lastActive);a.setFocusedChild(this._lastFocus)},_beforeAppear:function(){qx.ui.layout.CanvasLayout.prototype._beforeAppear.call(this);org.eclipse.rwt.MenuManager.getInstance().add(this);this.bringToFront();this._makeActive();this._menuShown()},_beforeDisappear:function(){qx.ui.layout.CanvasLayout.prototype._beforeDisappear.call(this);org.eclipse.rwt.MenuManager.getInstance().remove(this);if(this.getFocusRoot()){this._makeInactive()}this.setOpenItem(null);this.setHoverItem(null);if(this._opener instanceof org.eclipse.rwt.widgets.MenuItem){var a=this._opener.getParentMenu();if(a instanceof org.eclipse.rwt.widgets.MenuBar){this._opener.removeState($[11]);if(a.getOpenItem()==this._opener){a.setOpenItem(null)}}}this._menuHidden()},hasSubmenu:function(a){return a&&a.getMenu&&a.getMenu()},_onopentimer:function(a){this._openTimer.stop();this.setOpenItem(this._hoverItem);this._closeTimer.stop()},_onclosetimer:function(a){this._closeTimer.stop();this.setOpenItem(null)},setOpenItem:function(d){if(this._openItem&&this._openItem.getMenu()){this._openItem.setSubMenuOpen(false);var a=this._openItem.getMenu();a.hide();this._makeActive()}this._openItem=d;if(d&&d.getMenu()){var b=d.getMenu();d.setSubMenuOpen(true);b.setOpener(d);var e=d.getElement();var c=this.getElement();b.setTop(qx.bom.element.Location.getTop(e)-2);b.setLeft(qx.bom.element.Location.getLeft(c)+qx.html.Dimension.getBoxWidth(c)-3);b.show()}},_onMouseOut:function(a){var c=a.getTarget();var b=a.getRelatedTarget();if(c==this||(b!=this&&!this.contains(b))){this.setHoverItem(null)}},_onMouseOver:function(a){var b=a.getTarget();if(b!=this){this.setHoverItem(b)}this._unhoverSubMenu()},_unhoverSubMenu:function(){if(this._openItem){var a=this._openItem.getMenu();a.setOpenItem(null);a.setHoverItem(null)}},_onKeyPress:function(a){switch(a.getKeyIdentifier()){case"Up":this._handleKeyUp(a);break;case"Down":this._handleKeyDown(a);break;case"Left":this._handleKeyLeft(a);break;case $[39]:this._handleKeyRight(a);break;case $[54]:this._handleKeyEnter(a);break}},_handleKeyUp:function(a){if(this._openItem){this._openItem.getMenu()._hoverPreviousItem()}else{this._hoverPreviousItem()}a.preventDefault();a.stopPropagation()},_handleKeyDown:function(a){if(this._openItem){this._openItem.getMenu()._hoverNextItem()}else{this._hoverNextItem()}a.preventDefault();a.stopPropagation()},_handleKeyLeft:function(c){var a=this._opener?this._opener.getParentMenu():null;if(a instanceof org.eclipse.rwt.widgets.Menu){var b=this._opener;a.setOpenItem(null);a.setHoverItem(b,true);c.preventDefault();c.stopPropagation()}},_handleKeyRight:function(a){if(this.hasSubmenu(this._hoverItem)){this._onopentimer();this.setHoverItem(null,true);this._openItem.getMenu().hoverFirstItem();a.preventDefault();a.stopPropagation()}},_handleKeyEnter:function(a){if(this.hasSubmenu(this._hoverItem)){this._onopentimer();this.setHoverItem(null,true);this._openItem.getMenu().hoverFirstItem()}else{if(this._hoverItem){this._hoverItem.execute();org.eclipse.rwt.MenuManager.getInstance().update()}}a.preventDefault();a.stopPropagation()},setHasMenuListener:function(a){this._hasListener=a},_menuShown:function(){if(!org.eclipse.swt.EventUtil.getSuspended()){if(this._hasListener){if(this._preItem==null){this._preItem=new org.eclipse.rwt.widgets.MenuItem("push");this._preItem.setText("...");this._preItem.setEnabled(false);this.addMenuItemAt(this._preItem,0)}var a=this._layout.getChildren();for(var b=0;b<a.length;b++){var d=a[b];d.setDisplay(false)}this._preItem.setDisplay(true);this._itemsHiddenFlag=true;if(this.getWidth()<60){this.setWidth(60)}var e=org.eclipse.swt.WidgetManager.getInstance();var g=e.findIdByWidget(this);var c=org.eclipse.swt.Request.getInstance();c.addEvent("org.eclipse.swt.events.menuShown",g);c.send()}else{var f=this._layout.getChildren().length!=0;this.setDisplay(f);if(f){if(this._hoverFirstItemFlag){this.hoverFirstItem()}}}}},_menuHidden:function(){if(!org.eclipse.swt.EventUtil.getSuspended()){if(this._hasListener){var b=org.eclipse.swt.WidgetManager.getInstance();var c=b.findIdByWidget(this);var a=org.eclipse.swt.Request.getInstance();a.addEvent("org.eclipse.swt.events.menuHidden",c);a.send()}}},unhideItems:function(c){if(c){var a=this._layout.getChildren();for(var b=0;b<a.length;b++){a[b].setDisplay(true)}if(this._preItem){this._preItem.setDisplay(false)}this._itemsHiddenFlag=false;if(this._hoverFirstItemFlag){this.hoverFirstItem()}}else{this.hide()}this._hoverFirstItemFlag=false},showMenu:function(b,a,c){if(b!=null){b._renderAppearance();b.setLocation(a,c);b.show()}}}});
 org.eclipse.rwt.protocol.AdapterRegistry.add("rwt.widgets.Menu",{factory:function(b){var a;if(b.style.indexOf("BAR")!=-1){a=new org.eclipse.rwt.widgets.MenuBar()}else{a=new org.eclipse.rwt.widgets.Menu()}org.eclipse.rwt.protocol.AdapterUtil.addStatesForStyles(a,b.style);return a},destructor:org.eclipse.rwt.protocol.AdapterUtil.getWidgetDestructor(),properties:["parent",$[117],$[241],$[98]],propertyHandler:{parent:function(b,a){if(b.hasState($[206])){org.eclipse.rwt.protocol.AdapterUtil.callWithTarget(a,function(c){b.setParent(c)})}},bounds:function(b,a){if(b.hasState($[206])){b.setLeft(a[0]);b.setTop(a[1]);b.setWidth(a[2]);b.setHeight(a[3])}}},listeners:["menu","help"],listenerHandler:{menu:function(b,a){if(!b.hasState($[206])){b.setHasMenuListener(a)}},help:org.eclipse.rwt.protocol.AdapterUtil.getControlListenerHandler("help")},methods:["unhideItems","showMenu"],methodHandler:{unhideItems:function(b,a){if(!b.hasState($[206])){b.unhideItems(a.reveal)}},showMenu:function(b,a){if(b.hasState("rwt_POP_UP")){b.showMenu(b,a.x,a.y)}}}});
 qx.Class.define("org.eclipse.swt.EventUtil",{statics:{_suspended:false,setSuspended:function(a){this._suspended=a},getSuspended:function(){return this._suspended},DOUBLE_CLICK_TIME:500,_capturingWidget:null,_lastMouseDown:{widget:null,button:"",x:-1,y:-1,mouseUpCount:0},_shiftKey:false,_ctrlKey:false,_altKey:false,_metaKey:false,eventTimestamp:function(){var a=org.eclipse.rwt.System.getInstance();return new Date().getTime()-a.getStartupTime()},widgetDefaultSelected:function(a){if(!org.eclipse.swt.EventUtil.getSuspended()){var d=org.eclipse.swt.WidgetManager.getInstance();var c=d.findIdByWidget(a.getTarget());var b=org.eclipse.swt.Request.getInstance();b.addEvent($[168],c);org.eclipse.swt.EventUtil.addWidgetSelectedModifier();b.send()}},widgetSelected:function(b){var h=org.eclipse.swt.WidgetManager.getInstance();var d=org.eclipse.swt.Request.getInstance();var g=h.findIdByWidget(b.getTarget());var f=b.getTarget().getLeft();var e=b.getTarget().getTop();var c=b.getTarget().getWidth();var a=b.getTarget().getHeight();org.eclipse.swt.EventUtil.doWidgetSelected(g,f,e,c,a)},doWidgetSelected:function(f,e,d,b,a){if(!org.eclipse.swt.EventUtil.getSuspended()){var c=org.eclipse.swt.Request.getInstance();c.addEvent($[69],f);org.eclipse.swt.EventUtil.addWidgetSelectedModifier();c.addParameter(f+$[260],e);c.addParameter(f+$[261],d);c.addParameter(f+$[267],b);c.addParameter(f+$[278],a);c.send()}},addWidgetSelectedModifier:function(){if(!org.eclipse.swt.EventUtil.getSuspended()){var a=org.eclipse.swt.EventUtil._getKeyModifier();if(a!==""){var b=org.eclipse.swt.Request.getInstance();b.addParameter("org.eclipse.swt.events.widgetSelected.modifier",a)}}},_getKeyModifier:function(){var a="";var b=org.eclipse.rwt.Client.getPlatform()==="mac"&&org.eclipse.swt.EventUtil._metaKey;if(org.eclipse.swt.EventUtil._shiftKey){a+="shift,"}if(org.eclipse.swt.EventUtil._ctrlKey||b){a+="ctrl,"}if(org.eclipse.swt.EventUtil._altKey){a+="alt,"}return a},focusGained:function(a){if(!org.eclipse.swt.EventUtil.getSuspended()){var b=org.eclipse.swt.Request.getInstance();b.send()}},focusLost:function(a){if(!org.eclipse.swt.EventUtil.getSuspended()){var b=org.eclipse.swt.Request.getInstance();b.send()}},mouseDown:function(a){if(!org.eclipse.swt.EventUtil.getSuspended()&&org.eclipse.swt.EventUtil._isRelevantMouseEvent(this,a)){org.eclipse.swt.EventUtil._capturingWidget=this;if(org.eclipse.swt.EventUtil._isDoubleClick(this,a)){org.eclipse.swt.EventUtil._clearLastMouseDown();org.eclipse.swt.EventUtil._mouseDoubleClickParams(this,a)}else{var c=org.eclipse.swt.EventUtil._lastMouseDown;c.widget=this;c.button=a.getButton();c.x=a.getPageX();c.y=a.getPageY();c.mouseUpCount=0;qx.client.Timer.once(org.eclipse.swt.EventUtil._clearLastMouseDown,this,org.eclipse.swt.EventUtil.DOUBLE_CLICK_TIME)}org.eclipse.swt.EventUtil._mouseDownParams(this,a);var b=org.eclipse.swt.Request.getInstance();b.send()}},mouseUp:function(a){if(!org.eclipse.swt.EventUtil.getSuspended()&&org.eclipse.swt.EventUtil._isRelevantMouseEvent(this,a)){org.eclipse.swt.EventUtil._capturingWidget=null;org.eclipse.swt.EventUtil._lastMouseDown.mouseUpCount+=1;org.eclipse.swt.EventUtil._mouseUpParams(this,a);var b=org.eclipse.swt.Request.getInstance();b.send()}},_isRelevantMouseEvent:function(c,b){var a=true;if(c!==org.eclipse.swt.EventUtil._capturingWidget&&c!==b.getOriginalTarget()){var f=org.eclipse.swt.WidgetManager.getInstance();var e=b.getOriginalTarget();var d=f.findControl(e);a=c===d}return a},_clearLastMouseDown:function(){var a=org.eclipse.swt.EventUtil._lastMouseDown;a.widget=null;a.button="";a.mouseUpCount=0;a.x=-1;a.y=-1},_isDoubleClick:function(b,a){var c=org.eclipse.swt.EventUtil._lastMouseDown;return c.mouseUpCount===1&&c.widget===b&&c.button===qx.event.type.MouseEvent.C_BUTTON_LEFT&&c.button===a.getButton()},_mouseDownParams:function(e,b){var f=org.eclipse.swt.WidgetManager.getInstance().findIdByWidget(e);var d=org.eclipse.swt.Request.getInstance();var c=org.eclipse.swt.EventUtil._determineMouseButton(b);var a=org.eclipse.swt.EventUtil._getKeyModifier();d.addEvent("org.eclipse.swt.events.mouseDown",f);d.addParameter("org.eclipse.swt.events.mouseDown.button",c);d.addParameter("org.eclipse.swt.events.mouseDown.x",b.getPageX());d.addParameter("org.eclipse.swt.events.mouseDown.y",b.getPageY());d.addParameter("org.eclipse.swt.events.mouseDown.time",this.eventTimestamp());if(a!==""){d.addParameter("org.eclipse.swt.events.mouseDown.modifier",a)}},_mouseUpParams:function(e,b){var f=org.eclipse.swt.WidgetManager.getInstance().findIdByWidget(e);var d=org.eclipse.swt.Request.getInstance();var c=org.eclipse.swt.EventUtil._determineMouseButton(b);var a=org.eclipse.swt.EventUtil._getKeyModifier();d.addEvent("org.eclipse.swt.events.mouseUp",f);d.addParameter("org.eclipse.swt.events.mouseUp.button",c);d.addParameter("org.eclipse.swt.events.mouseUp.x",b.getPageX());d.addParameter("org.eclipse.swt.events.mouseUp.y",b.getPageY());d.addParameter("org.eclipse.swt.events.mouseUp.time",this.eventTimestamp());if(a!==""){d.addParameter("org.eclipse.swt.events.mouseUp.modifier",a)}},_mouseDoubleClickParams:function(d,b){var e=org.eclipse.swt.WidgetManager.getInstance().findIdByWidget(d);var c=org.eclipse.swt.Request.getInstance();var a=org.eclipse.swt.EventUtil._getKeyModifier();c.addEvent("org.eclipse.swt.events.mouseDoubleClick",e);c.addParameter("org.eclipse.swt.events.mouseDoubleClick.button",org.eclipse.swt.EventUtil._determineMouseButton(b));c.addParameter("org.eclipse.swt.events.mouseDoubleClick.x",b.getPageX());c.addParameter("org.eclipse.swt.events.mouseDoubleClick.y",b.getPageY());c.addParameter("org.eclipse.swt.events.mouseDoubleClick.time",this.eventTimestamp());if(a!==""){c.addParameter("org.eclipse.swt.events.mouseDoubleClick.modifier",a)}},_determineMouseButton:function(b){var a=0;switch(b.getButton()){case qx.event.type.MouseEvent.C_BUTTON_LEFT:a=1;break;case qx.event.type.MouseEvent.C_BUTTON_MIDDLE:a=2;break;case qx.event.type.MouseEvent.C_BUTTON_RIGHT:a=3;break}return a},helpRequested:function(a){if(a.getKeyIdentifier()==="F1"){a.stopPropagation();a.preventDefault();var c=a.getTarget();var e=org.eclipse.swt.WidgetManager.getInstance();var d=e.findIdByWidget(c);if(d===null){c=e.findControl(c);d=e.findIdByWidget(c)}if(d!=null){var b=org.eclipse.swt.Request.getInstance();b.addEvent("org.eclipse.swt.events.help",d);b.send()}}},menuDetectedByKey:function(b){if(b.getKeyIdentifier()==="Apps"){b.stopPropagation();b.preventDefault();var a=qx.event.type.MouseEvent.getPageX();var c=qx.event.type.MouseEvent.getPageY();org.eclipse.swt.EventUtil.sendMenuDetected(b.getTarget(),a,c)}},menuDetectedByMouse:function(b){if(b.getButton()===qx.event.type.MouseEvent.C_BUTTON_RIGHT){b.stopPropagation();b.preventDefault();var a=b.getPageX();var c=b.getPageY();org.eclipse.swt.EventUtil.sendMenuDetected(b.getTarget(),a,c)}},sendMenuDetected:function(c,a,f){if(!org.eclipse.swt.EventUtil.getSuspended()){var e=org.eclipse.swt.WidgetManager.getInstance();while(c!=null&&!e.isControl(c)){c=c.getParent?c.getParent():null}var d=e.findIdByWidget(c);if(d!=null){var b=org.eclipse.swt.Request.getInstance();b.addEvent("org.eclipse.swt.events.menuDetect",d);b.addParameter("org.eclipse.swt.events.menuDetect.x",a);b.addParameter("org.eclipse.swt.events.menuDetect.y",f);b.send()}}}}});