Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Buschtöns2011-02-02 16:11:16 +0000
committerTim Buschtöns2011-02-02 16:11:16 +0000
commit390a2bb1ce323b23980a9febdef25cd374b29a0a (patch)
tree77f4fc2384080bc793fdee0b3e653afeec2a9c0e /bundles
parentdb7c8601da3f8bd2fb5e32562aac7274ad25626a (diff)
downloadorg.eclipse.rap-390a2bb1ce323b23980a9febdef25cd374b29a0a.tar.gz
org.eclipse.rap-390a2bb1ce323b23980a9febdef25cd374b29a0a.tar.xz
org.eclipse.rap-390a2bb1ce323b23980a9febdef25cd374b29a0a.zip
Widget.js/GraphicsMixin.js refactored for better integration, Widget formatted/cleaned-up for overview. See Bug 327023 - Refactor Widget.js for better Graphics and Animation integration
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/EventHandler.js3
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsMixin.js85
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsUtil.js3
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/Menu.js5
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/ScrollBar.js6
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/LabelUtil.js6
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/WidgetUtil.js15
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/Canvas.js8
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/ProgressBar.js9
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/qx/core/Property.js1
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/qx/ui/basic/Terminator.js3
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/ClientDocument.js11
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Parent.js75
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Widget.js4946
-rw-r--r--bundles/org.eclipse.rap.rwt.q07/resources/client.js344
15 files changed, 961 insertions, 4559 deletions
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/EventHandler.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/EventHandler.js
index 9e983ae85f..9de3c68475 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/EventHandler.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/EventHandler.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright: 2004-2010 1&1 Internet AG, Germany, http://www.1und1.de,
+ * Copyright: 2004-2011 1&1 Internet AG, Germany, http://www.1und1.de,
* and EclipseSource
*
* This program and the accompanying materials are made available under the
@@ -25,6 +25,7 @@ qx.Class.define( "org.eclipse.rwt.EventHandler", {
_lastMouseEventType : null,
_lastMouseDown : false,
_lastMouseEventDate : 0,
+ _mouseIsDown : false,
///////////////////
// Public functions
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsMixin.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsMixin.js
index 7381241259..6cbe028ccc 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsMixin.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsMixin.js
@@ -33,7 +33,6 @@ qx.Mixin.define( "org.eclipse.rwt.GraphicsMixin", {
_gfxBorderEnabled : false,
_gfxBackgroundEnabled : false,
_gfxCanvasAppended : false,
- _gfxLayoutEnabled : false,
//////////
// GFX-API
@@ -140,7 +139,7 @@ qx.Mixin.define( "org.eclipse.rwt.GraphicsMixin", {
_handleGfxBorder : function() {
var useBorder = this.getGfxProperty( "borderRadii" ) != null
&& this.getGfxProperty( "borderWidths" ) != null
- && this.getGfxProperty( "borderColor") != null;
+ && this.getGfxProperty( "borderColor" ) != null;
var toggle = ( this._gfxBorderEnabled != useBorder );
if( toggle ) {
if( useBorder ) {
@@ -289,7 +288,7 @@ qx.Mixin.define( "org.eclipse.rwt.GraphicsMixin", {
parentNode.insertBefore( gfxNode, parentNode.firstChild );
}
this._gfxCanvasAppended = true;
- this.addEventListener( "appear", this._onCanvasAppear );
+ this.addEventListener( "insertDom", this._onCanvasAppear );
if( this.isSeeable() ) {
this._onCanvasAppear();
}
@@ -301,66 +300,17 @@ qx.Mixin.define( "org.eclipse.rwt.GraphicsMixin", {
if( gfxNode != null ) {
gfxNode.parentNode.removeChild( gfxNode );
this._gfxCanvasAppended = false;
- this.removeEventListener( "appear", this._onCanvasAppear );
+ this.removeEventListener( "insertDom", this._onCanvasAppear );
}
},
// overwritten
prepareEnhancedBorder : function() {
- //a precaution:
if( !this._innerStyle && !this._innerStyleHidden ) {
- //This is mostly the same code as in the original "Widget"
- //class, but it is defined regardless of the browser
- //that is used, since the "enhanced border" function is needed
- //by the gfxBorder in every browser, including gecko
- var elem = this.getElement();
- var cl = this._borderElement = document.createElement("div");
- var es = elem.style;
- var cs = this._innerStyle = cl.style;
- if( !qx.core.Variant.isSet( "qx.client", "mshtml" ) ) {
- cs.width = cs.height = "100%";
- }
- cs.position = "absolute";
- for( var i in this._styleProperties ) {
- switch( i ) {
- case "zIndex":
- case "filter":
- case "opacity":
- case "MozOpacity":
- case "display":
- case "cursor":
- break;
- default:
- cs[i] = this._styleProperties[i];
- es[i] = "";
- }
- }
- // [if] Fix for bug 279800: Some focused widgets look strange in webkit
- es.outline = "none";
- // The next line is needed for clipping in IE. Overflow is an
- // "outerStyle" property, so this this css-value will never be set or
- // reset. Therefore, this widget also no longer has the ability to
- // show overflow:
- es.overflow = "hidden";
- for( var i in this._htmlProperties ) {
- switch( i ) {
- case "unselectable":
- cl.unselectable = this._htmlProperties[i];
- }
- }
- while( elem.firstChild ) {
- cl.appendChild( elem.firstChild );
- }
- elem.appendChild( cl );
- if( this instanceof qx.ui.core.Parent ) {
- org.eclipse.swt.WidgetUtil.forAllChildren( this, function() {
- if( this._onCanvasAppear && this.isSeeable() ) {
- this._onCanvasAppear();
- }
- } );
- }
+ this.base( arguments );
} else {
if( this._innerStyleHidden ) {
+ // Reveal hidden style object for (non-rounded) border rendering
this._setSimulatedPadding();
}
}
@@ -543,7 +493,11 @@ qx.Mixin.define( "org.eclipse.rwt.GraphicsMixin", {
},
_enableGfxLayout : function( value ) {
- this._gfxLayoutEnabled = value;
+ if( value ) {
+ this.addEventListener( "flush", this._gfxOnFlush, this );
+ } else {
+ this.removeEventListener( "flush", this._gfxOnFlush, this );
+ }
},
////////////////////////////////////
@@ -587,21 +541,14 @@ qx.Mixin.define( "org.eclipse.rwt.GraphicsMixin", {
}
},
- //overwritten:
- _layoutPost : function( changes ) {
- // This function is also implemented in "Terminator" and "Parent",
- // therefore the mixin can not be applied to "Widget" itself.
- // For any widget that implements "_layoutPost", rounded corners will
- // not work unless the widget implements the code below itself:
- this.base( arguments, changes );
- if( this._gfxLayoutEnabled ) {
- if ( changes.paddingRight || changes.paddingBottom ) {
- this.setGfxProperty( "borderLayouted", false );
- }
- this._layoutGfxBorder();
+ _gfxOnFlush : function( event ) {
+ var changes = event.getData();
+ if ( changes.paddingRight || changes.paddingBottom ) {
+ this.setGfxProperty( "borderLayouted", false );
}
+ this._layoutGfxBorder();
}
}
-});
+} );
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsUtil.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsUtil.js
index eadb556e16..b05f7e33d9 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsUtil.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/GraphicsUtil.js
@@ -56,7 +56,8 @@ qx.Class.define( "org.eclipse.rwt.GraphicsUtil", {
* This must be called after the canvas has been (directly or inderectly)
* inserted into the DOM, i.e. after it becomes visible. It has not to
* be called if the canvas was made visible by other means, e.g. the
- * "visibility" or "opacity" properties, but it won't do any damage.
+ * "visibility", "display" or "opacity" css-properties, but it won't
+ * do any damage.
*/
handleAppear : function( canvas ) {
this._renderClass.handleAppear( canvas );
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/Menu.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/Menu.js
index 54d3ebf6fc..bd8446a0fa 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/Menu.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/Menu.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2010 EclipseSource and others. All rights reserved.
+ * Copyright (c) 2009, 2011 EclipseSource and others. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
@@ -165,9 +165,6 @@ qx.Class.define("org.eclipse.rwt.widgets.Menu", {
_layoutPost : function( changes ) {
this.base( arguments, changes );
- if( this._gfxLayoutEnabled ) {
- this._layoutGfxBorder();
- }
if( changes.menuLayout ) {
this._menuLayoutScheduled = false;
if( this.isSeeable() ) {
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/ScrollBar.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/ScrollBar.js
index b91f6e1596..2d38fb96c7 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/ScrollBar.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/rwt/widgets/ScrollBar.js
@@ -141,12 +141,6 @@ qx.Class.define( "org.eclipse.rwt.widgets.ScrollBar", {
_layoutPost : function( changes ) {
this.base( arguments, changes );
- if( this._gfxLayoutEnabled ) {
- if ( changes.paddingRight || changes.paddingBottom ) {
- this.setGfxProperty( "borderLayouted", false );
- }
- this._layoutGfxBorder();
- }
if( changes[ "minThumbSize" ] ) {
if( this._maximum > 0 && this._getLineSize() > 0 ) {
var size = this._getThumbSize();
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/LabelUtil.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/LabelUtil.js
index cd939359b2..b1cc61f835 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/LabelUtil.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/LabelUtil.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002, 2010 Innoopract Informationssysteme GmbH.
+ * Copyright (c) 2002, 2011 Innoopract Informationssysteme GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -81,8 +81,6 @@ qx.Class.define( "org.eclipse.swt.LabelUtil", {
}
widget.removeEventListener( "appear",
org.eclipse.swt.LabelUtil._setTextDelayed );
- widget.removeEventListener( "insertDom",
- org.eclipse.swt.LabelUtil._setTextDelayed );
},
_setImageDelayed : function( evt ) {
@@ -93,8 +91,6 @@ qx.Class.define( "org.eclipse.swt.LabelUtil", {
}
widget.removeEventListener( "appear",
org.eclipse.swt.LabelUtil._setImageDelayed );
- widget.removeEventListener( "insertDom",
- org.eclipse.swt.LabelUtil._setImageDelayed );
},
_doSetText : function( widget, text ) {
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/WidgetUtil.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/WidgetUtil.js
index 43a70ae0f4..ebd0f53165 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/WidgetUtil.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/WidgetUtil.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 Innoopract Informationssysteme GmbH.
+ * Copyright (c) 2007, 2011 Innoopract Informationssysteme GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -34,19 +34,6 @@ qx.Class.define( "org.eclipse.swt.WidgetUtil", {
widget.setStyleProperty( "lineHeight", "0" );
}
},
-
- /**
- * Calls function "func" for all children of given Widget, as well
- * as the childrens children and so forth.
- */
- forAllChildren : function( widget, func ) {
- widget.forEachChild( function() {
- func.call( this );
- if( this instanceof qx.ui.core.Parent ) {
- org.eclipse.swt.WidgetUtil.forAllChildren( this, func );
- }
- } );
- },
/**
* Can be used simulate mouseEvents on the qooxdoo event-layer.
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/Canvas.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/Canvas.js
index 684fc799a8..34d20446f6 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/Canvas.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/Canvas.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 EclipseSource and others. All rights reserved.
+ * Copyright (c) 2010, 2011 EclipseSource and others. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
@@ -15,7 +15,7 @@ qx.Class.define( "org.eclipse.swt.widgets.Canvas", {
this.base( arguments );
this._gc = null;
},
-
+
destruct : function() {
if( this._gc != null ) {
this._gc.dispose();
@@ -24,7 +24,7 @@ qx.Class.define( "org.eclipse.swt.widgets.Canvas", {
},
members : {
-
+
getGC : function() {
if( this._gc == null ) {
this._gc = new org.eclipse.swt.graphics.GC( this );
@@ -41,6 +41,6 @@ qx.Class.define( "org.eclipse.swt.widgets.Canvas", {
graphicsUtil.handleAppear( this._gc._vmlCanvas );
}
}
-
+
}
} ); \ No newline at end of file
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/ProgressBar.js b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/ProgressBar.js
index 806259a02a..bff6a15a3d 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/ProgressBar.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/org/eclipse/swt/widgets/ProgressBar.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002, 2010 Innoopract Informationssysteme GmbH.
+ * Copyright (c) 2002, 2011 Innoopract Informationssysteme GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -16,11 +16,10 @@ qx.Class.define( "org.eclipse.swt.widgets.ProgressBar", {
construct : function() {
this.base( arguments );
this.setOverflow( "hidden" );
- this.setAppearance( "progressbar" );
- // this._gfxCanvasAppended must be present for
- // org.eclipse.rwt.GraphicsMixin#prepareEnhancedBorder
+ this.setAppearance( "progressbar" );
this._timer = null;
this._gfxCanvasAppended = false;
+ // TODO [tb] : Create a superclass for vector-based widgets (canvas?)
this._canvas = null;
this._backgroundShape = null;
this._indicatorShape = null;
@@ -267,7 +266,7 @@ qx.Class.define( "org.eclipse.swt.widgets.ProgressBar", {
this._canvas = gfxUtil.createCanvas();
this._getTargetNode().appendChild( gfxUtil.getCanvasNode( this._canvas ) );
this._gfxCanvasAppended = true;
- this.addEventListener( "appear", this._onCanvasAppear );
+ this.addEventListener( "insertDom", this._onCanvasAppear );
this._backgroundShape = gfxUtil.createShape( "roundrect" );
this._indicatorShape = gfxUtil.createShape( "roundrect" );
gfxUtil.addToCanvas( this._canvas, this._backgroundShape );
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/qx/core/Property.js b/bundles/org.eclipse.rap.rwt.q07/js/qx/core/Property.js
index 63e007b912..9efa2322d7 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/qx/core/Property.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/qx/core/Property.js
@@ -595,7 +595,6 @@ qx.Class.define("qx.core.Property",
// Additional object error before throwing exception because gecko
// often has issues to throw the error correctly in the debug console otherwise
- obj.error(msg + (this.__errors[id] || "Unknown reason: " + id));
throw new Error(msg + (this.__errors[id] || "Unknown reason: " + id));
},
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/basic/Terminator.js b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/basic/Terminator.js
index 4141eea212..9e2558e5e0 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/basic/Terminator.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/basic/Terminator.js
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright: 2004, 2010 1&1 Internet AG, Germany, http://www.1und1.de,
+ * Copyright: 2004, 2011 1&1 Internet AG, Germany, http://www.1und1.de,
* and EclipseSource
*
* This program and the accompanying materials are made available under the
@@ -119,6 +119,7 @@ qx.Class.define("qx.ui.basic.Terminator",
if (changes.initial || changes.load || changes.width || changes.height) {
this._postApply();
}
+ this.createDispatchDataEvent( "flush", changes );
},
/**
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/ClientDocument.js b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/ClientDocument.js
index 8180de7340..49a98b04b9 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/ClientDocument.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/ClientDocument.js
@@ -245,17 +245,6 @@ qx.Class.define("qx.ui.core.ClientDocument",
*/
getToolTip : qx.lang.Function.returnNull,
-
- /**
- * TODOC
- *
- * @type member
- * @signature function()
- * @return {boolean}
- */
- isMaterialized : qx.lang.Function.returnTrue,
-
-
/**
* TODOC
*
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Parent.js b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Parent.js
index 2d5278f31d..bf900b9a80 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Parent.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Parent.js
@@ -943,72 +943,29 @@ qx.Class.define("qx.ui.core.Parent",
},
-
-
- /*
- ---------------------------------------------------------------------------
- INSERTDOM/REMOVEDOM MESSAGES FOR CHILDREN
- ---------------------------------------------------------------------------
- */
-
- // overridden
- _beforeInsertDom : function()
- {
- this.base(arguments);
-
- this.forEachVisibleChild(function()
- {
- if (this.isAppearRelevant()) {
- this._beforeInsertDom();
- }
- });
- },
-
-
// overridden
- _afterInsertDom : function()
- {
- this.base(arguments);
-
- this.forEachVisibleChild(function()
- {
- if (this.isAppearRelevant()) {
+ _afterInsertDom : function() {
+ this.base( arguments );
+ // NOTE: a "visible" Child is actually every "displayable" child here
+ this.forEachVisibleChild( function() {
+ //if( this.getElement() ) {
this._afterInsertDom();
- }
- });
+ //}
+ } );
},
- // overridden
- _beforeRemoveDom : function()
- {
- this.base(arguments);
-
- this.forEachVisibleChild(function()
- {
- if (this.isAppearRelevant()) {
- this._beforeRemoveDom();
- }
- });
- },
-
// overridden
- _afterRemoveDom : function()
- {
- this.base(arguments);
-
- this.forEachVisibleChild(function()
- {
- if (this.isAppearRelevant()) {
- this._afterRemoveDom();
- }
- });
+ _afterRemoveDom : function() {
+ this.base( arguments );
+ this.forEachVisibleChild( function() {
+ this._afterRemoveDom();
+ } );
},
-
/*
---------------------------------------------------------------------------
DISPLAYBLE HANDLING
@@ -1249,11 +1206,9 @@ qx.Class.define("qx.ui.core.Parent",
delete this._childrenQueue[vChild.toHashCode()];
},
- /**
- * @signature function()
- */
- _layoutPost : qx.lang.Function.returnTrue,
-
+ _layoutPost : function( changes ) {
+ this.createDispatchDataEvent( "flush", changes );
+ },
diff --git a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Widget.js b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Widget.js
index 52c1cde729..a1537d7f27 100644
--- a/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Widget.js
+++ b/bundles/org.eclipse.rap.rwt.q07/js/qx/ui/core/Widget.js
@@ -22,160 +22,72 @@
* @state disabled Set by {@link qx.core.Object#enabled}
* @state focused Set by {@link #focused}
*/
-qx.Class.define("qx.ui.core.Widget",
-{
+qx.Class.define( "qx.ui.core.Widget", {
extend : qx.core.Target,
include : qx.util.manager.MConnectedObject,
-
type : "abstract",
-
-
- /*
- *****************************************************************************
- CONSTRUCTOR
- *****************************************************************************
- */
-
- construct : function()
- {
- this.base(arguments);
-
- // Create data structures
+ construct : function() {
+ this.base( arguments );
this._layoutChanges = {};
-
- // Auto-generate HTML id's?
- if (qx.core.Setting.get("qx.widgetDebugId"))
- {
- this._generateHtmlId();
- }
this.initHideFocus();
this._usesComplexBorder = false;
},
-
-
-
- /*
- *****************************************************************************
- EVENTS
- *****************************************************************************
- */
-
- events:
- {
+ events: {
"beforeAppear" : "qx.event.type.Event",
"appear" : "qx.event.type.Event",
"beforeDisappear" : "qx.event.type.Event",
"disappear" : "qx.event.type.Event",
- "beforeInsertDom" : "qx.event.type.Event",
"insertDom" : "qx.event.type.Event",
- "beforeRemoveDom" : "qx.event.type.Event",
- "removeDom" : "qx.event.type.Event",
"create" : "qx.event.type.Event",
"execute" : "qx.event.type.Event",
+ "flush" : "qx.event.type.DataEvent",
/** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"mouseover" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"mousemove" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"mouseout" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"mousedown" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"mouseup" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"mousewheel" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"click" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"dblclick" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"contextmenu" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"elementOver" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"elementOut" : "qx.event.type.MouseEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"keydown" : "qx.event.type.KeyEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"keypress" : "qx.event.type.KeyEvent",
-
- /** (Fired by {@link org.eclipse.rwt.EventHandler}) */
"keyup" : "qx.event.type.KeyEvent",
/** (Fired by {@link qx.ui.core.Parent}) */
"focusout" : "qx.event.type.FocusEvent",
-
- /** (Fired by {@link qx.ui.core.Parent}) */
"focusin" : "qx.event.type.FocusEvent",
-
- /** (Fired by {@link qx.ui.core.Parent}) */
"blur" : "qx.event.type.FocusEvent",
-
- /** (Fired by {@link qx.ui.core.Parent}) */
"focus" : "qx.event.type.FocusEvent",
/** (Fired by {@link qx.event.handler.DragAndDropHandler}) */
"dragdrop" : "qx.event.type.DragEvent",
-
- /** (Fired by {@link qx.event.handler.DragAndDropHandler}) */
"dragout" : "qx.event.type.DragEvent",
-
- /** (Fired by {@link qx.event.handler.DragAndDropHandler}) */
"dragover" : "qx.event.type.DragEvent",
-
- /** (Fired by {@link qx.event.handler.DragAndDropHandler}) */
"dragmove" : "qx.event.type.DragEvent",
-
- /** (Fired by {@link qx.event.handler.DragAndDropHandler}) */
"dragstart" : "qx.event.type.DragEvent",
-
- /** (Fired by {@link qx.event.handler.DragAndDropHandler}) */
"dragend" : "qx.event.type.DragEvent"
},
+ statics : {
+ //////////////////////
+ // Global Widget Flush
-
- /*
- *****************************************************************************
- STATICS
- *****************************************************************************
- */
-
- statics :
- {
- // TODO
- create : function(clazz, appearance)
- {
- clazz._appearance = appearance;
- return new clazz;
- },
-
-
- /* ************************************************************************
- Class data, properties and methods
- ************************************************************************ */
-
- /*
- ---------------------------------------------------------------------------
- ALL QUEUES
- ---------------------------------------------------------------------------
- */
+ _globalWidgetQueue : [],
+ _globalElementQueue : [],
+ _globalStateQueue : [],
+ _globalJobQueue : [],
+ _globalLayoutQueue : [],
+ _fastGlobalDisplayQueue : [],
+ _lazyGlobalDisplayQueues : {},
+ _globalDisposeQueue : [],
_autoFlushTimeout : null,
_flushGlobalQueuesPhase : 0,
@@ -188,15 +100,8 @@ qx.Class.define("qx.ui.core.Widget",
_FLUSH_PHASE_DISPLAY : 6,
_FLUSH_PHASE_DISPOSE : 7,
- /**
- * Creates an auto-flush timeout.
- *
- * @type static
- * @return {void}
- */
- _initAutoFlush : function( phase )
- {
- if (qx.ui.core.Widget._autoFlushTimeout == null) {
+ _initAutoFlush : function( phase ) {
+ if( qx.ui.core.Widget._autoFlushTimeout == null ) {
// RAP: Fix for bug 303162
if( !qx.ui.core.Widget._inFlushGlobalQueues
|| phase < qx.ui.core.Widget._flushGlobalQueuesPhase ) {
@@ -206,67 +111,32 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
- /**
- * Removes an auto-flush timeout.
- *
- * @type static
- * @return {void}
- */
- _removeAutoFlush : function()
- {
- if (qx.ui.core.Widget._autoFlushTimeout != null)
- {
- window.clearTimeout(qx.ui.core.Widget._autoFlushTimeout);
+ _removeAutoFlush : function() {
+ if( qx.ui.core.Widget._autoFlushTimeout != null ) {
+ window.clearTimeout( qx.ui.core.Widget._autoFlushTimeout );
qx.ui.core.Widget._autoFlushTimeout = null;
}
},
-
- /**
- * Helper function for auto flush.
- *
- * @type static
- * @return {void}
- */
- _autoFlushHelper : function()
- {
+ _autoFlushHelper : function() {
qx.ui.core.Widget._autoFlushTimeout = null;
-
- if (!qx.core.Object.inGlobalDispose())
- {
- // make sure we only flush the queues if the framework is not currently
- // being disposed
+ if( !qx.core.Object.inGlobalDispose() ) {
qx.ui.core.Widget.flushGlobalQueues();
}
},
-
- /**
- * Flush all global queues
- *
- * @type static
- * @return {void}
- */
- flushGlobalQueues : function()
- {
- if (qx.ui.core.Widget._autoFlushTimeout != null) {
+ flushGlobalQueues : function() {
+ if( qx.ui.core.Widget._autoFlushTimeout != null ) {
qx.ui.core.Widget._removeAutoFlush();
}
-
- if (qx.ui.core.Widget._inFlushGlobalQueues) {
+ if( qx.ui.core.Widget._inFlushGlobalQueues ) {
return;
}
-
var app = qx.core.Init.getInstance().getApplication();
- if (app.getUiReady && !app.getUiReady()) {
+ if( app.getUiReady && !app.getUiReady() ) {
return;
}
-
-
- // Also used for inline event handling to seperate 'real' events
qx.ui.core.Widget._inFlushGlobalQueues = true;
-
qx.ui.core.Widget.flushGlobalWidgetQueue();
qx.ui.core.Widget.flushGlobalStateQueue();
qx.ui.core.Widget.flushGlobalElementQueue();
@@ -274,249 +144,104 @@ qx.Class.define("qx.ui.core.Widget",
qx.ui.core.Widget.flushGlobalLayoutQueue();
qx.ui.core.Widget.flushGlobalDisplayQueue();
qx.ui.core.Widget.flushGlobalDisposeQueue();
-
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_IDLE;
delete qx.ui.core.Widget._inFlushGlobalQueues;
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- WIDGET QUEUE
-
- Allows widgets to register to the widget queue to do multiple things
- before the other queues will be flushed
- ---------------------------------------------------------------------------
- */
-
- _globalWidgetQueue : [],
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- addToGlobalWidgetQueue : function(vWidget)
- {
- if (!vWidget._isInGlobalWidgetQueue && vWidget._isDisplayable)
- {
+ addToGlobalWidgetQueue : function(vWidget) {
+ if (!vWidget._isInGlobalWidgetQueue && vWidget._isDisplayable) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_WIDGET );
}
-
qx.ui.core.Widget._globalWidgetQueue.push(vWidget);
vWidget._isInGlobalWidgetQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- removeFromGlobalWidgetQueue : function(vWidget)
- {
- if (vWidget._isInGlobalWidgetQueue)
- {
+ removeFromGlobalWidgetQueue : function(vWidget) {
+ if (vWidget._isInGlobalWidgetQueue) {
qx.lang.Array.remove(qx.ui.core.Widget._globalWidgetQueue, vWidget);
delete vWidget._isInGlobalWidgetQueue;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalWidgetQueue : function()
- {
+ flushGlobalWidgetQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_WIDGET;
var vQueue = qx.ui.core.Widget._globalWidgetQueue, vLength, vWidget;
-
- while ((vLength = vQueue.length) > 0)
- {
- for (var i=0; i<vLength; i++)
- {
+ while ((vLength = vQueue.length) > 0) {
+ for (var i=0; i<vLength; i++) {
vWidget = vQueue[i];
-
vWidget.flushWidgetQueue();
delete vWidget._isInGlobalWidgetQueue;
}
-
vQueue.splice(0, vLength);
}
-
qx.ui.core.Widget._globalWidgetQueue = [];
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- ELEMENT QUEUE
-
- Contains the widgets which should be (dom-)created
- ---------------------------------------------------------------------------
- */
-
- _globalElementQueue : [],
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- addToGlobalElementQueue : function(vWidget)
- {
- if (!vWidget._isInGlobalElementQueue && vWidget._isDisplayable)
- {
+ addToGlobalElementQueue : function(vWidget) {
+ if (!vWidget._isInGlobalElementQueue && vWidget._isDisplayable) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_ELEMENT );
}
-
qx.ui.core.Widget._globalElementQueue.push(vWidget);
vWidget._isInGlobalElementQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- removeFromGlobalElementQueue : function(vWidget)
- {
- if (vWidget._isInGlobalElementQueue)
- {
+ removeFromGlobalElementQueue : function(vWidget) {
+ if (vWidget._isInGlobalElementQueue) {
qx.lang.Array.remove(qx.ui.core.Widget._globalElementQueue, vWidget);
delete vWidget._isInGlobalElementQueue;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalElementQueue : function()
- {
+ flushGlobalElementQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_ELEMENT;
var vQueue = qx.ui.core.Widget._globalElementQueue, vLength, vWidget;
-
- while ((vLength = vQueue.length) > 0)
- {
- for (var i=0; i<vLength; i++)
- {
+ while ((vLength = vQueue.length) > 0) {
+ for (var i=0; i<vLength; i++) {
vWidget = vQueue[i];
-
vWidget._createElementImpl();
delete vWidget._isInGlobalElementQueue;
}
-
vQueue.splice(0, vLength);
}
-
qx.ui.core.Widget._globalElementQueue = [];
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- STATE QUEUE
-
- Contains the widgets which recently changed their state
- ---------------------------------------------------------------------------
- */
-
- _globalStateQueue : [],
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- addToGlobalStateQueue : function(vWidget)
- {
- if (!vWidget._isInGlobalStateQueue && vWidget._isDisplayable)
- {
+ addToGlobalStateQueue : function(vWidget) {
+ if (!vWidget._isInGlobalStateQueue && vWidget._isDisplayable) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_STATE );
}
-
qx.ui.core.Widget._globalStateQueue.push(vWidget);
vWidget._isInGlobalStateQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- removeFromGlobalStateQueue : function(vWidget)
- {
- if (vWidget._isInGlobalStateQueue)
- {
+ removeFromGlobalStateQueue : function(vWidget) {
+ if (vWidget._isInGlobalStateQueue) {
qx.lang.Array.remove(qx.ui.core.Widget._globalStateQueue, vWidget);
delete vWidget._isInGlobalStateQueue;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalStateQueue : function()
- {
+ flushGlobalStateQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_STATE;
var Widget = qx.ui.core.Widget;
-
// the queue may change while doing the flush so we work on a copy of
// the queue and loop while the queue has any entries.
- while(Widget._globalStateQueue.length > 0)
- {
+ while(Widget._globalStateQueue.length > 0) {
var queue = qx.lang.Array.copy(Widget._globalStateQueue);
Widget._globalStateQueue = [];
-
- for (var i=0, l=queue.length; i<l; i++)
- {
+ for (var i=0, l=queue.length; i<l; i++) {
var widget = queue[i];
- if (widget._isInGlobalStateQueue)
- {
+ if (widget._isInGlobalStateQueue) {
widget._renderAppearance();
delete widget._isInGlobalStateQueue;
}
@@ -524,576 +249,261 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- JOBS QUEUE
-
- Contains the widgets which need a update after they were visible before
- ---------------------------------------------------------------------------
- */
-
- _globalJobQueue : [],
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- addToGlobalJobQueue : function(vWidget)
- {
- if (!vWidget._isInGlobalJobQueue && vWidget._isDisplayable)
- {
+ addToGlobalJobQueue : function(vWidget) {
+ if (!vWidget._isInGlobalJobQueue && vWidget._isDisplayable) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_JOB );
}
-
qx.ui.core.Widget._globalJobQueue.push(vWidget);
vWidget._isInGlobalJobQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- removeFromGlobalJobQueue : function(vWidget)
- {
- if (vWidget._isInGlobalJobQueue)
- {
+ removeFromGlobalJobQueue : function(vWidget) {
+ if (vWidget._isInGlobalJobQueue) {
qx.lang.Array.remove(qx.ui.core.Widget._globalJobQueue, vWidget);
delete vWidget._isInGlobalJobQueue;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalJobQueue : function()
- {
+ flushGlobalJobQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_JOB;
var vQueue = qx.ui.core.Widget._globalJobQueue, vLength, vWidget;
-
- while ((vLength = vQueue.length) > 0)
- {
- for (var i=0; i<vLength; i++)
- {
+ while ((vLength = vQueue.length) > 0) {
+ for (var i=0; i<vLength; i++) {
vWidget = vQueue[i];
-
vWidget._flushJobQueue(vWidget._jobQueue);
delete vWidget._isInGlobalJobQueue;
}
-
vQueue.splice(0, vLength);
}
-
qx.ui.core.Widget._globalJobQueue = [];
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- LAYOUT QUEUE
-
- Contains the parents (qx.ui.core.Parent) of the children which needs layout updates
- ---------------------------------------------------------------------------
- */
-
- _globalLayoutQueue : [],
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vParent {var} TODOC
- * @return {void}
- */
- addToGlobalLayoutQueue : function(vParent)
- {
- if (!vParent._isInGlobalLayoutQueue && vParent._isDisplayable)
- {
+ addToGlobalLayoutQueue : function(vParent) {
+ if (!vParent._isInGlobalLayoutQueue && vParent._isDisplayable) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_LAYOUT );
}
-
qx.ui.core.Widget._globalLayoutQueue.push(vParent);
vParent._isInGlobalLayoutQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vParent {var} TODOC
- * @return {void}
- */
- removeFromGlobalLayoutQueue : function(vParent)
- {
- if (vParent._isInGlobalLayoutQueue)
- {
+ removeFromGlobalLayoutQueue : function(vParent) {
+ if (vParent._isInGlobalLayoutQueue) {
qx.lang.Array.remove(qx.ui.core.Widget._globalLayoutQueue, vParent);
delete vParent._isInGlobalLayoutQueue;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalLayoutQueue : function()
- {
+ flushGlobalLayoutQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_LAYOUT;
var vQueue = qx.ui.core.Widget._globalLayoutQueue, vLength, vParent;
-
- while ((vLength = vQueue.length) > 0)
- {
- for (var i=0; i<vLength; i++)
- {
+ while ((vLength = vQueue.length) > 0) {
+ for (var i=0; i<vLength; i++) {
vParent = vQueue[i];
-
vParent._flushChildrenQueue();
delete vParent._isInGlobalLayoutQueue;
}
-
vQueue.splice(0, vLength);
}
-
qx.ui.core.Widget._globalLayoutQueue = [];
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- DISPLAY QUEUE
-
- Contains the widgets which should initially become visible
- ---------------------------------------------------------------------------
- */
-
- _fastGlobalDisplayQueue : [],
- _lazyGlobalDisplayQueues : {},
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- addToGlobalDisplayQueue : function(vWidget)
- {
- if (!vWidget._isInGlobalDisplayQueue && vWidget._isDisplayable)
- {
+ addToGlobalDisplayQueue : function(vWidget) {
+ if (!vWidget._isInGlobalDisplayQueue && vWidget._isDisplayable) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_DISPLAY );
}
-
var vParent = vWidget.getParent();
-
- if (vParent.isSeeable())
- {
+ if (vParent.isSeeable()) {
var vKey = vParent.toHashCode();
-
if (qx.ui.core.Widget._lazyGlobalDisplayQueues[vKey]) {
qx.ui.core.Widget._lazyGlobalDisplayQueues[vKey].push(vWidget);
} else {
qx.ui.core.Widget._lazyGlobalDisplayQueues[vKey] = [ vWidget ];
}
- }
- else
- {
+ } else {
qx.ui.core.Widget._fastGlobalDisplayQueue.push(vWidget);
}
-
vWidget._isInGlobalDisplayQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
removeFromGlobalDisplayQueue : function(vWidget) {},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalDisplayQueue : function()
- {
+ flushGlobalDisplayQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_DISPLAY;
var vKey, vLazyQueue, vWidget, vFragment;
-
var vFastQueue = qx.ui.core.Widget._fastGlobalDisplayQueue;
var vLazyQueues = qx.ui.core.Widget._lazyGlobalDisplayQueues;
-
- /* -----------------------------------------------
- Flush display queues
- ----------------------------------------------- */
-
// Work on fast queue
- for (var i=0, l=vFastQueue.length; i<l; i++)
- {
+ for (var i=0, l=vFastQueue.length; i<l; i++) {
vWidget = vFastQueue[i];
vWidget.getParent()._getTargetNode().appendChild(vWidget.getElement());
}
-
- // Work on lazy queues: Inline widgets
- if (qx.Class.isDefined("qx.ui.basic.Inline"))
- {
- for (vKey in vLazyQueues)
- {
- vLazyQueue = vLazyQueues[vKey];
-
- for (var i=0; i<vLazyQueue.length; i++)
- {
- vWidget = vLazyQueue[i];
-
- if (vWidget instanceof qx.ui.basic.Inline)
- {
- vWidget._beforeInsertDom();
-
- try {
- document.getElementById(vWidget.getInlineNodeId()).appendChild(vWidget.getElement());
- } catch(ex) {
- vWidget.debug("Could not append to inline id: " + vWidget.getInlineNodeId(), ex);
- }
-
- vWidget._afterInsertDom();
- vWidget._afterAppear();
-
- // Remove inline widget from queue and fix iterator position
- qx.lang.Array.remove(vLazyQueue, vWidget);
- i--;
-
- // Reset display queue flag
- delete vWidget._isInGlobalDisplayQueue;
- }
- }
- }
- }
-
-
// Work on lazy queues: Other widgets
- for (vKey in vLazyQueues)
- {
+ for (vKey in vLazyQueues) {
vLazyQueue = vLazyQueues[vKey];
-
// Speed enhancement: Choose a fairly small arbitrary value for the number
// of elements that should be added to the parent individually. If more
// than this number of elements is to be added to the parent, we'll create
// a document fragment, add the elements to the document fragment, and
// then add the whole fragment to the parent en mass (assuming that
// creation of a document fragment is supported by the browser).
- if (document.createDocumentFragment && vLazyQueue.length >= 3)
- {
+ if (document.createDocumentFragment && vLazyQueue.length >= 3) {
// creating new document fragment
vFragment = document.createDocumentFragment();
-
// appending all widget elements to fragment
- for (var i=0, l=vLazyQueue.length; i<l; i++)
- {
+ for (var i=0, l=vLazyQueue.length; i<l; i++) {
vWidget = vLazyQueue[i];
-
- vWidget._beforeInsertDom();
vFragment.appendChild(vWidget.getElement());
}
-
// append all fragment data at once to
// the already visible parent widget element
vLazyQueue[0].getParent()._getTargetNode().appendChild(vFragment);
-
- for (var i=0, l=vLazyQueue.length; i<l; i++)
- {
+ for (var i=0, l=vLazyQueue.length; i<l; i++) {
vWidget = vLazyQueue[i];
vWidget._afterInsertDom();
}
- }
- else
- {
+ } else {
// appending all widget elements (including previously added children)
// to the already visible parent widget element
for (var i=0, l=vLazyQueue.length; i<l; i++)
{
vWidget = vLazyQueue[i];
- vWidget._beforeInsertDom();
vWidget.getParent()._getTargetNode().appendChild(vWidget.getElement());
vWidget._afterInsertDom();
}
}
}
-
- /* -----------------------------------------------
- Cleanup and appear signals
- ----------------------------------------------- */
-
// Only need to do this with the lazy queues
// because through the recursion from qx.ui.core.Parent
// all others get also informed.
- for (vKey in vLazyQueues)
- {
- vLazyQueue = vLazyQueues[vKey];
-
- for (var i=0, l=vLazyQueue.length; i<l; i++)
- {
+ for (vKey in vLazyQueues) { vLazyQueue = vLazyQueues[vKey];
+ for (var i=0, l=vLazyQueue.length; i<l; i++) {
vWidget = vLazyQueue[i];
-
if (vWidget.getVisibility()) {
vWidget._afterAppear();
}
-
// Reset display queue flag
delete vWidget._isInGlobalDisplayQueue;
}
-
delete vLazyQueues[vKey];
}
-
-
// reset queue if it is empty. This frees some browser memory
if (qx.lang.Object.isEmpty(vLazyQueues)) {
qx.ui.core.Widget._lazyGlobalDisplayQueues = {};
}
-
-
// Reset display queue flag for widgets in fastQueue
for (var i=0, l=vFastQueue.length; i<l; i++) {
delete vFastQueue[i]._isInGlobalDisplayQueue;
}
-
// Remove fast queue entries
qx.ui.core.Widget._fastGlobalDisplayQueue = [];
},
-
- /*
- ---------------------------------------------------------------------------
- DISPOSE QUEUE
-
- Contains the widgets which should be disposed
- ---------------------------------------------------------------------------
- */
-
- _globalDisposeQueue : [],
-
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- addToGlobalDisposeQueue : function(vWidget)
- {
- if (!vWidget._isInGlobalDisposeQueue && !vWidget.isDisposed())
- {
+ addToGlobalDisposeQueue : function(vWidget) {
+ if (!vWidget._isInGlobalDisposeQueue && !vWidget.isDisposed()) {
if (qx.ui.core.Widget._autoFlushTimeout == null) {
qx.ui.core.Widget._initAutoFlush( qx.ui.core.Widget._FLUSH_PHASE_DISPOSE );
}
-
qx.ui.core.Widget._globalDisposeQueue.push(vWidget);
vWidget._isInGlobalDisposeQueue = true;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vWidget {var} TODOC
- * @return {void}
- */
- removeFromGlobalDisposeQueue : function(vWidget)
- {
- if (vWidget._isInGlobalDisposeQueue)
- {
+ removeFromGlobalDisposeQueue : function(vWidget) {
+ if (vWidget._isInGlobalDisposeQueue) {
qx.lang.Array.remove(qx.ui.core.Widget._globalDisposeQueue, vWidget);
delete vWidget._isInGlobalDisposeQueue;
}
},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- flushGlobalDisposeQueue : function()
- {
+ flushGlobalDisposeQueue : function() {
qx.ui.core.Widget._flushGlobalQueuesPhase
= qx.ui.core.Widget._FLUSH_PHASE_DISPOSE;
var vQueue = qx.ui.core.Widget._globalDisposeQueue, vLength, vWidget;
-
- while ((vLength = vQueue.length) > 0)
- {
- for (var i=0; i<vLength; i++)
- {
+ while ((vLength = vQueue.length) > 0) {
+ for (var i=0; i<vLength; i++) {
vWidget = vQueue[i];
-
vWidget.dispose();
delete vWidget._isInGlobalDisposeQueue;
}
-
vQueue.splice(0, vLength);
}
-
qx.ui.core.Widget._globalDisposeQueue = [];
},
-
- /*
- ---------------------------------------------------------------------------
- GLOBAL HELPERS
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type static
- * @param vIgnoreClasses {var} TODOC
- * @param vInstance {var} TODOC
- */
- getActiveSiblingHelperIgnore : function(vIgnoreClasses, vInstance)
- {
- for (var j=0; j<vIgnoreClasses.length; j++)
- {
+ /////////////////
+ // Global Helpers
+
+ getActiveSiblingHelperIgnore : function(vIgnoreClasses, vInstance) {
+ for (var j=0; j<vIgnoreClasses.length; j++) {
if (vInstance instanceof vIgnoreClasses[j]) {
return true;
}
}
-
return false;
},
-
- /**
- * TODOC
- *
- * @type static
- * @param vObject {var} TODOC
- * @param vParent {var} TODOC
- * @param vCalc {var} TODOC
- * @param vIgnoreClasses {var} TODOC
- * @param vMode {var} TODOC
- * @return {null | var} TODOC
- */
- getActiveSiblingHelper : function(vObject, vParent, vCalc, vIgnoreClasses, vMode)
- {
+ getActiveSiblingHelper : function(vObject, vParent, vCalc, vIgnoreClasses, vMode) {
if (!vIgnoreClasses) {
vIgnoreClasses = [];
}
-
var vChilds = vParent.getChildren();
var vPosition = vMode == null ? vChilds.indexOf(vObject) + vCalc : vMode === "first" ? 0 : vChilds.length - 1;
var vInstance = vChilds[vPosition];
-
- while (vInstance && (!vInstance.getEnabled() || qx.ui.core.Widget.getActiveSiblingHelperIgnore(vIgnoreClasses, vInstance)))
- {
+ while (vInstance && (!vInstance.getEnabled() || qx.ui.core.Widget.getActiveSiblingHelperIgnore(vIgnoreClasses, vInstance))) {
vPosition += vCalc;
vInstance = vChilds[vPosition];
-
if (!vInstance) {
return null;
}
}
-
return vInstance;
},
+ ///////////////////////
+ // APPLY LAYOUT STYLES
+ TYPE_NULL : 0,
+ TYPE_PIXEL : 1,
+ TYPE_PERCENT : 2,
+ TYPE_AUTO : 3,
+ TYPE_FLEX : 4,
-
- /*
- ---------------------------------------------------------------------------
- APPLY LAYOUT STYLES
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type static
- * @param members {var} TODOC
- * @return {void}
- */
- __initApplyMethods : function(members)
- {
+ __initApplyMethods : function(members) {
var applyRuntime = "_renderRuntime";
var resetRuntime = "_resetRuntime";
var style = "this._style.";
var cssValue = "=((v==null)?0:v)+'px'";
var parameter = "v";
-
var properties = [ "left", "right", "top", "bottom", "width", "height", "minWidth", "maxWidth", "minHeight", "maxHeight" ];
-
var propertiesUpper = [ "Left", "Right", "Top", "Bottom", "Width", "Height", "MinWidth", "MaxWidth", "MinHeight", "MaxHeight" ];
-
var applyMargin = applyRuntime + "Margin";
var resetMargin = resetRuntime + "Margin";
var styleMargin = style + "margin";
-
- for (var i=0; i<4; i++)
- {
+ for (var i=0; i<4; i++) {
members[applyMargin + propertiesUpper[i]] = new Function(parameter, styleMargin + propertiesUpper[i] + cssValue);
members[resetMargin + propertiesUpper[i]] = new Function(styleMargin + propertiesUpper[i] + "=''");
}
-
var applyPadding = applyRuntime + "Padding";
var resetPadding = resetRuntime + "Padding";
var stylePadding = style + "padding";
-
- if (qx.core.Variant.isSet("qx.client", "gecko"))
- {
- for (var i=0; i<4; i++)
- {
+ if (qx.core.Variant.isSet("qx.client", "gecko")) {
+ for (var i=0; i<4; i++) {
members[applyPadding + propertiesUpper[i]] = new Function(parameter, stylePadding + propertiesUpper[i] + cssValue);
members[resetPadding + propertiesUpper[i]] = new Function(stylePadding + propertiesUpper[i] + "=''");
}
- }
- else
- {
+ } else {
// need to use setStyleProperty to keep compatibility with enhanced cross browser borders
- for (var i=0; i<4; i++)
- {
+ for (var i=0; i<4; i++) {
members[applyPadding + propertiesUpper[i]] = new Function(parameter, "this.setStyleProperty('padding" + propertiesUpper[i] + "', ((v==null)?0:v)+'px')");
members[resetPadding + propertiesUpper[i]] = new Function("this.removeStyleProperty('padding" + propertiesUpper[i] + "')");
}
@@ -1110,61 +520,24 @@ qx.Class.define("qx.ui.core.Widget",
Now I've switched back to the conventional method
to reset the value. This seems to work again.
*/
- for (var i=0; i<properties.length; i++)
- {
+ for (var i=0; i<properties.length; i++) {
members[applyRuntime + propertiesUpper[i]] = new Function(parameter, style + properties[i] + cssValue);
members[resetRuntime + propertiesUpper[i]] = new Function(style + properties[i] + "=''");
}
},
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- LAYOUT TYPE INDENTIFY HELPER METHODS
- ---------------------------------------------------------------------------
- */
-
- TYPE_NULL : 0,
- TYPE_PIXEL : 1,
- TYPE_PERCENT : 2,
- TYPE_AUTO : 3,
- TYPE_FLEX : 4,
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- LAYOUT TYPE AND VALUE KEY PRE-CACHE
- ---------------------------------------------------------------------------
- */
+ ///////////////////////////////////////
+ // LAYOUT TYPE AND VALUE KEY PRE-CACHE
layoutPropertyTypes : {},
-
- /**
- * TODOC
- *
- * @type static
- * @return {void}
- */
- __initLayoutProperties : function(statics)
- {
+ __initLayoutProperties : function(statics) {
var a = [ "width", "height", "minWidth", "maxWidth", "minHeight", "maxHeight", "left", "right", "top", "bottom" ];
-
- for (var i=0, l=a.length, p, b, t; i<l; i++)
- {
+ for (var i=0, l=a.length, p, b, t; i<l; i++) {
p = a[i];
b = "_computed" + qx.lang.String.toFirstUp(p);
t = b + "Type";
-
- statics.layoutPropertyTypes[p] =
- {
+ statics.layoutPropertyTypes[p] = {
dataType : t,
dataParsed : b + "Parsed",
dataValue : b + "Value",
@@ -1177,25 +550,10 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
- _idCounter : 0,
-
-
- /*
- ---------------------------------------------------------------------------
- SCROLL-BLOCKER
- ---------------------------------------------------------------------------
- */
+ //////////////////
+ // SCROLL-BLOCKER
- /**
- * Disables browser-native scrolling
- *
- * @type static
- * @param widget {widget} widget to diable scrolling for
- * @return {void}
- */
- disableScrolling : function(widget)
- {
+ disableScrolling : function(widget) {
var el = widget._getTargetNode();
if(el) {
qx.html.Scroll.disableScrolling(el);
@@ -1204,15 +562,7 @@ qx.Class.define("qx.ui.core.Widget",
}
},
- /**
- * Re-enables browser-native scrolling
- *
- * @type static
- * @param widget {widget} widget to re-enable scrolling for
- * @return {void}
- */
- enableScrolling : function(widget)
- {
+ enableScrolling : function(widget) {
var el = widget._getTargetNode();
if(el) {
qx.html.Scroll.enableScrolling(el);
@@ -1221,15 +571,7 @@ qx.Class.define("qx.ui.core.Widget",
}
},
- /**
- * Handler needed for the delayed node-creation
- *
- * @type static
- * @param ev {Event} The "appear"-event
- * @return {void}
- */
- _blockScrollingOnAppear : function(ev)
- {
+ _blockScrollingOnAppear : function(ev) {
var widget = ev.getTarget();
widget.removeEventListener("appear", this._blockScrollingOnAppear, this);
this.disableScrolling(widget);
@@ -1237,21 +579,8 @@ qx.Class.define("qx.ui.core.Widget",
},
-
-
-
-
-
- /*
- *****************************************************************************
- PROPERTIES
- *****************************************************************************
- */
-
- properties :
- {
- enabled :
- {
+ properties : {
+ enabled : {
init : "inherit",
check : "Boolean",
inheritable : true,
@@ -1260,134 +589,107 @@ qx.Class.define("qx.ui.core.Widget",
},
/** The parent widget (the real object, no ID or something) */
- parent :
- {
+ parent : {
check : "qx.ui.core.Parent",
nullable : true,
event : "changeParent",
apply : "_applyParent"
},
-
/** The element node (if the widget is created, otherwise null) */
- element :
- {
+ element : {
check : "Element",
nullable : true,
apply : "_applyElement",
event : "changeElement"
},
-
/**
* Toggle the visibility of a widget.
* Setting this property to false will hide the widget but will not remove
* it from the layout flow, so other widgets will not be repositioned. This
* is similar to the CSS property <code>visibility</code>.
**/
- visibility :
- {
+ visibility : {
check : "Boolean",
init : true,
apply : "_applyVisibility",
event : "changeVisibility"
},
-
/**
* Whether the widget should be displayed.
* Use this property instead of visibility if the change of the visibility
* should remove the widget from the layout flow and force a relayout of the
* application. This is similar to the CSS property <code>display</code>.
*/
- display :
- {
+ display : {
check : "Boolean",
init : true,
apply : "_applyDisplay",
event : "changeDisplay"
},
-
/**
* If you switch this to true, the widget doesn't handle
* events directly. It will redirect them to the parent
* widget.
*/
- anonymous :
- {
+ anonymous : {
check : "Boolean",
init: false,
event : "changeAnonymous"
},
-
/**
* This is used by many layout managers to control the individual horizontal alignment of this widget inside this parent.
*
* This should be used with caution since in some cases
* this might give unrespected results.
*/
- horizontalAlign :
- {
+ horizontalAlign : {
check : [ "left", "center", "right" ],
themeable : true,
nullable : true
},
-
/**
* This is used by many layout managers to control the individual vertical alignment of this widget inside this parent.
*
* This should be used with caution since in some cases
* this might give unrespected results.
*/
- verticalAlign :
- {
+ verticalAlign : {
check : [ "top", "middle", "bottom" ],
themeable : true,
nullable : true
},
-
/**
* Should this widget be stretched on the x-axis if the layout handler will do this?
* Used by some layout handlers (qx.ui.layout.BoxLayout, ...).
*/
- allowStretchX :
- {
+ allowStretchX : {
check : "Boolean",
init : true
},
-
/**
* Should this widget be stretched on the y-axis if the layout handler will do this?
* Used by some layout handlers (qx.ui.layout.BoxLayout, ...).
*/
- allowStretchY :
- {
+ allowStretchY : {
check : "Boolean",
init : true
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- STYLE PROPERTIES
- ---------------------------------------------------------------------------
- */
-
/**
* Mapping to native style property z-index.
*
* This should be used with caution since in some cases
* this might give unrespected results.
*/
- zIndex :
- {
+ zIndex : {
check : "Number",
apply : "_applyZIndex",
event : "changeZIndex",
@@ -1396,12 +698,10 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The backgroundColor style property of the rendered widget.
*/
- backgroundColor :
- {
+ backgroundColor : {
nullable : true,
init : null,
check : "Color",
@@ -1410,12 +710,10 @@ qx.Class.define("qx.ui.core.Widget",
themeable : true
},
-
/**
* The color (textColor) style property of the rendered widget.
*/
- textColor :
- {
+ textColor : {
nullable : true,
init : "inherit",
check : "Color",
@@ -1425,12 +723,10 @@ qx.Class.define("qx.ui.core.Widget",
inheritable : true
},
-
/**
* The border property describes how to paint the border on the widget.
*/
- border :
- {
+ border : {
nullable : true,
init : null,
apply : "_applyBorder",
@@ -1439,10 +735,8 @@ qx.Class.define("qx.ui.core.Widget",
themeable : true
},
-
/** The font property describes how to paint the font on the widget. */
- font :
- {
+ font : {
nullable : true,
init : "inherit",
apply : "_applyFont",
@@ -1452,15 +746,13 @@ qx.Class.define("qx.ui.core.Widget",
inheritable : true
},
-
/**
* Mapping to native style property opacity.
*
* The uniform opacity setting to be applied across an entire object. Behaves like the new CSS-3 Property.
* Any values outside the range 0.0 (fully transparent) to 1.0 (fully opaque) will be clamped to this range.
*/
- opacity :
- {
+ opacity : {
check : "Number",
apply : "_applyOpacity",
themeable : true,
@@ -1468,7 +760,6 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* Mapping to native style property cursor.
*
@@ -1493,8 +784,7 @@ qx.Class.define("qx.ui.core.Widget",
* <li>help </li>
* </ul>
*/
- cursor :
- {
+ cursor : {
check : "String",
apply : "_applyCursor",
themeable : true,
@@ -1502,33 +792,28 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* Mapping to native style property background-image.
*
* The URI of the image file to use as background image.
*/
- backgroundImage :
- {
+ backgroundImage : {
check : "String",
nullable : true,
apply : "_applyBackgroundImage",
themeable : true
},
-
/**
* Mapping to native style property background-repeat.
*/
- backgroundRepeat :
- {
+ backgroundRepeat : {
check : "String",
nullable : true,
apply : "_applyBackgroundRepeat",
themeable : true
},
-
/**
* Describes how to handle content that is too large to fit inside the widget.
*
@@ -1541,8 +826,7 @@ qx.Class.define("qx.ui.core.Widget",
* <tr><th>scrollY</th><td>Scroll bars for the Y-Axis are always shown. Even if there is enough room for the content inside the widget.</td></tr>
* </table>
*/
- overflow :
- {
+ overflow : {
check : ["hidden", "auto", "scroll" ,"scrollX", "scrollY"],
nullable : true,
apply : "_applyOverflow",
@@ -1551,55 +835,38 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/** Clipping of the widget (left) */
- clipLeft :
- {
+ clipLeft : {
check : "Integer",
apply : "_applyClip",
themeable : true,
nullable : true
},
-
/** Clipping of the widget (top) */
- clipTop :
- {
+ clipTop : {
check : "Integer",
apply : "_applyClip",
themeable : true,
nullable : true
},
-
/** Clipping of the widget (width) */
- clipWidth :
- {
+ clipWidth : {
check : "Integer",
apply : "_applyClip",
themeable : true,
nullable : true
},
-
/** Clipping of the widget (height) */
- clipHeight :
- {
+ clipHeight : {
check : "Integer",
apply : "_applyClip",
themeable : true,
nullable : true
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- MANAGEMENT PROPERTIES
- ---------------------------------------------------------------------------
- */
-
/**
* Set this to a positive value makes the widget able to get the focus.
* It even is reachable through the usage of the tab-key.
@@ -1609,8 +876,7 @@ qx.Class.define("qx.ui.core.Widget",
*
* Setting the tabIndex to -1 deactivate focus handling for the widget.
*/
- tabIndex :
- {
+ tabIndex : {
check : "Integer",
nullable : true,
init : null,
@@ -1618,25 +884,20 @@ qx.Class.define("qx.ui.core.Widget",
event : "changeTabIndex"
},
-
/** If the focus outline should be hidden. */
- hideFocus :
- {
+ hideFocus : {
check : "Boolean",
init : true,
apply : "_applyHideFocus",
themeable : true
},
-
/** Use DOM focussing (focus() and blur() methods of DOM nodes) */
- enableElementFocus :
- {
+ enableElementFocus : {
check : "Boolean",
init : true
},
-
/**
* Handle focus state of this widget.
*
@@ -1645,78 +906,62 @@ qx.Class.define("qx.ui.core.Widget",
*
* Normally you didn't need to set this directly.
*/
- focused :
- {
+ focused : {
check : "Boolean",
init : false,
apply : "_applyFocused",
event : "changeFocused"
},
-
/** Toggle the possibility to select the element of this widget. */
- selectable :
- {
+ selectable : {
check : "Boolean",
init : null,
nullable : true,
apply : "_applySelectable"
},
-
/** Contains the tooltip object connected to the widget. */
- toolTip :
- {
+ toolTip : {
check : "qx.ui.popup.ToolTip",
nullable : true
},
-
/** Contains the context menu object connected to the widget. (Need real implementation) */
// RAP : remove check, allow other menu implementation
- contextMenu :
- {
+ contextMenu : {
nullable : true
},
-
/** Capture all events and map them to this widget */
- capture :
- {
+ capture : {
check : "Boolean",
init : false,
apply : "_applyCapture",
event : "changeCapture"
},
-
/** Contains the support drop types for drag and drop support */
- dropDataTypes :
- {
+ dropDataTypes : {
nullable : true,
dispose : true
},
-
/** A command called if the widget should be excecuted (a placeholder for buttons, ...) */
- command :
- {
+ command : {
check : "qx.client.Command",
nullable : true,
apply : "_applyCommand"
},
-
/** Appearance of the widget */
- appearance :
- {
+ appearance : {
check : "String",
init : "widget",
apply : "_applyAppearance",
event : "changeAppearance"
},
-
/*
* The method which this.supportsDrop() calls to determine whether the
* widget supports a particular drop operation.
@@ -1729,110 +974,76 @@ qx.Class.define("qx.ui.core.Widget",
* If this property is null, then the default supportsDrop() action
* defined herein shall be used.
*/
- supportsDropMethod :
- {
+ supportsDropMethod : {
check : "Function",
nullable : true,
init : null
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- MARGIN/PADDING PROPERTIES
- ---------------------------------------------------------------------------
- */
-
/** Margin of the widget (top) */
- marginTop :
- {
+ marginTop : {
check : "Number",
apply : "_applyMarginTop",
nullable : true,
themeable : true
},
-
/** Margin of the widget (right) */
- marginRight :
- {
+ marginRight : {
check : "Number",
apply : "_applyMarginRight",
nullable : true,
themeable : true
},
-
/** Margin of the widget (bottom) */
- marginBottom :
- {
+ marginBottom : {
check : "Number",
apply : "_applyMarginBottom",
nullable : true,
themeable : true
},
-
/** Margin of the widget (left) */
- marginLeft :
- {
+ marginLeft : {
check : "Number",
apply : "_applyMarginLeft",
nullable : true,
themeable : true
},
-
/** Padding of the widget (top) */
- paddingTop :
- {
+ paddingTop : {
check : "Number",
apply : "_applyPaddingTop",
nullable : true,
themeable : true
},
-
/** Padding of the widget (right) */
- paddingRight :
- {
+ paddingRight : {
check : "Number",
apply : "_applyPaddingRight",
nullable : true,
themeable : true
},
-
/** Padding of the widget (bottom) */
- paddingBottom :
- {
+ paddingBottom : {
check : "Number",
apply : "_applyPaddingBottom",
nullable : true,
themeable : true
},
-
/** Padding of the widget (left) */
- paddingLeft :
- {
+ paddingLeft : {
check : "Number",
apply : "_applyPaddingLeft",
nullable : true,
themeable : true
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- HORIZONAL DIMENSION PROPERTIES
- ---------------------------------------------------------------------------
- */
-
/**
* The distance from the outer left border to the parent left area edge.
*
@@ -1840,8 +1051,7 @@ qx.Class.define("qx.ui.core.Widget",
* at the same time. This will be omitted during the setup of the new third value. To reset a value
* you didn't want anymore, set it to null.
*/
- left :
- {
+ left : {
apply : "_applyLeft",
event : "changeLeft",
nullable : true,
@@ -1849,7 +1059,6 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The distance from the outer right border to the parent right area edge.
*
@@ -1857,8 +1066,7 @@ qx.Class.define("qx.ui.core.Widget",
* at the same time. This will be omitted during the setup of the new third value. To reset a value
* you didn't want anymore, set it to null.
*/
- right :
- {
+ right : {
apply : "_applyRight",
event : "changeRight",
nullable : true,
@@ -1866,7 +1074,6 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The width of the box (including padding and border).
*
@@ -1874,8 +1081,7 @@ qx.Class.define("qx.ui.core.Widget",
* at the same time. This will be omitted during the setup of the new third value. To reset a value
* you didn't want anymore, set it to null.
*/
- width :
- {
+ width : {
apply : "_applyWidth",
event : "changeWidth",
nullable : true,
@@ -1883,14 +1089,12 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The minimum width of the box (including padding and border).
*
* Set this to omit the shrinking of the box width under this value.
*/
- minWidth :
- {
+ minWidth : {
apply : "_applyMinWidth",
event : "changeMinWidth",
nullable : true,
@@ -1898,14 +1102,12 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The maximum width of the box (including padding and border).
*
* Set this to omit the expanding of the box width above this value.
*/
- maxWidth :
- {
+ maxWidth : {
apply : "_applyMaxWidth",
event : "changeMaxWidth",
nullable : true,
@@ -1913,15 +1115,6 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- VERTICAL DIMENSION PROPERTIES
- ---------------------------------------------------------------------------
- */
-
/**
* The distance from the outer top border to the parent top area edge.
*
@@ -1929,8 +1122,7 @@ qx.Class.define("qx.ui.core.Widget",
* at the same time. This will be omitted during the setup of the new third value. To reset a value
* you didn't want anymore, set it to null.
*/
- top :
- {
+ top : {
apply : "_applyTop",
event : "changeTop",
nullable : true,
@@ -1938,7 +1130,6 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The distance from the outer bottom border to the parent bottom area edge.
*
@@ -1946,8 +1137,7 @@ qx.Class.define("qx.ui.core.Widget",
* at the same time. This will be omitted during the setup of the new third value. To reset a value
* you didn't want anymore, set it to null.
*/
- bottom :
- {
+ bottom : {
apply : "_applyBottom",
event : "changeBottom",
nullable : true,
@@ -1955,7 +1145,6 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The height of the box (including padding and border).
*
@@ -1963,8 +1152,7 @@ qx.Class.define("qx.ui.core.Widget",
* at the same time. This will be omitted during the setup of the new third value. To reset a value
* you didn't want anymore, set it to null.
*/
- height :
- {
+ height : {
apply : "_applyHeight",
event : "changeHeight",
nullable : true,
@@ -1972,14 +1160,12 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The minimum height of the box (including padding and border).
*
* Set this to omit the shrinking of the box height under this value.
*/
- minHeight :
- {
+ minHeight : {
apply : "_applyMinHeight",
event : "changeMinHeight",
nullable : true,
@@ -1987,14 +1173,12 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
/**
* The maximum height of the box (including padding and border).
*
* Set this to omit the expanding of the box height above this value.
*/
- maxHeight :
- {
+ maxHeight : {
apply : "_applyMaxHeight",
event : "changeMaxHeight",
nullable : true,
@@ -2002,46 +1186,17 @@ qx.Class.define("qx.ui.core.Widget",
init : null
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- PROPERTY GROUPS
- ---------------------------------------------------------------------------
- */
-
location : { group : [ "left", "top" ], themeable : true },
-
- /**
- * The 'dimension' property is a shorthand property for setting 'width',
- * and 'height' at the same time.
- */
dimension : { group : [ "width", "height" ], themeable : true },
-
- /**
- * The 'space' property is a shorthand property for setting 'left', 'width',
- * 'top' and 'height' at the same time.
- */
space : { group : [ "left", "width", "top", "height" ], themeable : true },
- edge :
- {
+ edge : {
group : [ "top", "right", "bottom", "left" ],
themeable : true,
mode : "shorthand"
},
- /**
- * The 'padding' property is a shorthand property for setting 'paddingTop',
- * 'paddingRight', 'paddingBottom' and 'paddingLeft' at the same time.
- *
- * If four values are specified they apply to top, right, bottom and left respectively.
- * If there is only one value, it applies to all sides, if there are two or three,
- * the missing values are taken from the opposite side.
- */
- padding :
- {
+ padding : {
group : [ "paddingTop", "paddingRight", "paddingBottom", "paddingLeft" ],
mode : "shorthand",
themeable : true
@@ -2055,8 +1210,7 @@ qx.Class.define("qx.ui.core.Widget",
* left respectively. If there is only one value, it applies to all sides,
* if there are two or three, the missing values are taken from the opposite side.
*/
- margin :
- {
+ margin : {
group : [ "marginTop", "marginRight", "marginBottom", "marginLeft" ],
mode : "shorthand",
themeable : true
@@ -2070,184 +1224,112 @@ qx.Class.define("qx.ui.core.Widget",
* and 'verticalAlign' at the same time.
*/
align : { group : [ "horizontalAlign", "verticalAlign" ], themeable : true },
-
clipLocation : { group : [ "clipLeft", "clipTop" ] },
clipDimension : { group : [ "clipWidth", "clipHeight" ] },
clip : { group : [ "clipLeft", "clipTop", "clipWidth", "clipHeight" ] },
-
-
-
- /*
- ---------------------------------------------------------------------------
- DIMENSION CACHE
- ---------------------------------------------------------------------------
- */
-
- /*
- Add basic setter/getters
- */
-
- innerWidth :
- {
+ innerWidth : {
_cached : true,
defaultValue : null
},
- innerHeight :
- {
+ innerHeight : {
_cached : true,
defaultValue : null
},
- boxWidth :
- {
+ boxWidth : {
_cached : true,
defaultValue : null
},
- boxHeight :
- {
+ boxHeight : {
_cached : true,
defaultValue : null
},
- outerWidth :
- {
+ outerWidth : {
_cached : true,
defaultValue : null
},
- outerHeight :
- {
+ outerHeight : {
_cached : true,
defaultValue : null
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- FRAME DIMENSIONS
- ---------------------------------------------------------------------------
- */
-
- frameWidth :
- {
+ frameWidth : {
_cached : true,
defaultValue : null,
addToQueueRuntime : true
},
- frameHeight :
- {
+ frameHeight : {
_cached : true,
defaultValue : null,
addToQueueRuntime : true
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- PREFERRED DIMENSIONS: INNER
- ---------------------------------------------------------------------------
- */
-
- preferredInnerWidth :
- {
+ preferredInnerWidth : {
_cached : true,
defaultValue : null,
addToQueueRuntime : true
},
- preferredInnerHeight :
- {
+ preferredInnerHeight : {
_cached : true,
defaultValue : null,
addToQueueRuntime : true
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- PREFERRED DIMENSIONS: BOX
- ---------------------------------------------------------------------------
- */
-
- preferredBoxWidth :
- {
+ preferredBoxWidth : {
_cached : true,
defaultValue : null
},
- preferredBoxHeight :
- {
+ preferredBoxHeight : {
_cached : true,
defaultValue : null
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- LAYOUT AUTO/PERCENT CACHE
- ---------------------------------------------------------------------------
- */
-
- hasPercentX :
- {
+ hasPercentX : {
_cached : true,
defaultValue : false
},
- hasPercentY :
- {
+ hasPercentY : {
_cached : true,
defaultValue : false
},
- hasAutoX :
- {
+ hasAutoX : {
_cached : true,
defaultValue : false
},
- hasAutoY :
- {
+ hasAutoY : {
_cached : true,
defaultValue : false
},
- hasFlexX :
- {
+ hasFlexX : {
_cached : true,
defaultValue : false
},
- hasFlexY :
- {
+ hasFlexY : {
_cached : true,
defaultValue : false
}
},
-
-
-
/*
*****************************************************************************
MEMBERS
*****************************************************************************
*/
- members :
- {
+ members : {
_computedLeftValue : null,
_computedLeftParsed : null,
_computedLeftType : null,
@@ -2256,7 +1338,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedLeftTypePercent : false,
_computedLeftTypeAuto : false,
_computedLeftTypeFlex : false,
-
_computedRightValue : null,
_computedRightParsed : null,
_computedRightType : null,
@@ -2265,7 +1346,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedRightTypePercent : false,
_computedRightTypeAuto : false,
_computedRightTypeFlex : false,
-
_computedTopValue : null,
_computedTopParsed : null,
_computedTopType : null,
@@ -2274,7 +1354,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedTopTypePercent : false,
_computedTopTypeAuto : false,
_computedTopTypeFlex : false,
-
_computedBottomValue : null,
_computedBottomParsed : null,
_computedBottomType : null,
@@ -2283,7 +1362,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedBottomTypePercent : false,
_computedBottomTypeAuto : false,
_computedBottomTypeFlex : false,
-
_computedWidthValue : null,
_computedWidthParsed : null,
_computedWidthType : null,
@@ -2292,7 +1370,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedWidthTypePercent : false,
_computedWidthTypeAuto : false,
_computedWidthTypeFlex : false,
-
_computedMinWidthValue : null,
_computedMinWidthParsed : null,
_computedMinWidthType : null,
@@ -2301,7 +1378,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedMinWidthTypePercent : false,
_computedMinWidthTypeAuto : false,
_computedMinWidthTypeFlex : false,
-
_computedMaxWidthValue : null,
_computedMaxWidthParsed : null,
_computedMaxWidthType : null,
@@ -2310,7 +1386,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedMaxWidthTypePercent : false,
_computedMaxWidthTypeAuto : false,
_computedMaxWidthTypeFlex : false,
-
_computedHeightValue : null,
_computedHeightParsed : null,
_computedHeightType : null,
@@ -2319,7 +1394,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedHeightTypePercent : false,
_computedHeightTypeAuto : false,
_computedHeightTypeFlex : false,
-
_computedMinHeightValue : null,
_computedMinHeightParsed : null,
_computedMinHeightType : null,
@@ -2328,7 +1402,6 @@ qx.Class.define("qx.ui.core.Widget",
_computedMinHeightTypePercent : false,
_computedMinHeightTypeAuto : false,
_computedMinHeightTypeFlex : false,
-
_computedMaxHeightValue : null,
_computedMaxHeightParsed : null,
_computedMaxHeightType : null,
@@ -2337,263 +1410,86 @@ qx.Class.define("qx.ui.core.Widget",
_computedMaxHeightTypePercent : false,
_computedMaxHeightTypeAuto : false,
_computedMaxHeightTypeFlex : false,
+
+ ///////////////
+ // apply layout
- _applyLeft : function(value, old)
- {
+ _applyLeft : function(value, old) {
this._unitDetectionPixelPercent("left", value);
this.addToQueue("left");
},
- _applyRight : function(value, old)
- {
+ _applyRight : function(value, old) {
this._unitDetectionPixelPercent("right", value);
this.addToQueue("right");
},
- _applyTop : function(value, old)
- {
+ _applyTop : function(value, old) {
this._unitDetectionPixelPercent("top", value);
this.addToQueue("top");
},
- _applyBottom : function(value, old)
- {
+ _applyBottom : function(value, old) {
this._unitDetectionPixelPercent("bottom", value);
this.addToQueue("bottom");
},
- _applyWidth : function(value, old)
- {
+ _applyWidth : function(value, old) {
this._unitDetectionPixelPercentAutoFlex("width", value);
this.addToQueue("width");
},
- _applyMinWidth : function(value, old)
- {
+ _applyMinWidth : function(value, old) {
this._unitDetectionPixelPercentAuto("minWidth", value);
this.addToQueue("minWidth");
},
- _applyMaxWidth : function(value, old)
- {
+ _applyMaxWidth : function(value, old) {
this._unitDetectionPixelPercentAuto("maxWidth", value);
this.addToQueue("maxWidth");
},
- _applyHeight : function(value, old)
- {
+ _applyHeight : function(value, old) {
this._unitDetectionPixelPercentAutoFlex("height", value);
this.addToQueue("height");
},
- _applyMinHeight : function(value, old)
- {
+ _applyMinHeight : function(value, old) {
this._unitDetectionPixelPercentAuto("minHeight", value);
this.addToQueue("minHeight");
},
- _applyMaxHeight : function(value, old)
- {
+ _applyMaxHeight : function(value, old) {
this._unitDetectionPixelPercentAuto("maxHeight", value);
this.addToQueue("maxHeight");
},
+ ////////////////////
+ // CHILDREN HANDLING
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- UTILITIES
- ---------------------------------------------------------------------------
- */
-
- /**
- * If the widget is visible and rendered on the screen.
- *
- * @type member
- * @return {boolean} TODOC
- */
- isMaterialized : function()
- {
- var elem = this._element;
- return (
- this._initialLayoutDone &&
- this._isDisplayable &&
- qx.html.Style.getStyleProperty(elem, "display") != "none" &&
- qx.html.Style.getStyleProperty(elem, "visibility") != "hidden" &&
- elem.offsetWidth > 0 && elem.offsetHeight > 0
- );
- },
-
-
- /**
- * A single setup to the current preferred pixel values of the widget
- *
- * @type member
- * @return {void}
- */
- pack : function()
- {
- this.setWidth(this.getPreferredBoxWidth());
- this.setHeight(this.getPreferredBoxHeight());
- },
-
-
- /**
- * A bounded setup to the preferred width/height of the widget. Keeps in
- * sync if the content or requirements of the widget changes
- *
- * @type member
- * @return {void}
- */
- auto : function()
- {
- this.setWidth("auto");
- this.setHeight("auto");
- },
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- CHILDREN HANDLING: ALL
- ---------------------------------------------------------------------------
- */
-
- /**
- * Get an array of the current children
- *
- * @signature function()
- * @return {Widget}
- */
+ // NOTE: Implemented in Parent.js
getChildren : qx.lang.Function.returnNull,
-
-
- /**
- * Get the number of children
- *
- * @signature function()
- * @return {Integer}
- */
getChildrenLength : qx.lang.Function.returnZero,
-
-
- /**
- * Get if the widget has any children
- *
- * @signature function()
- * @return {boolean}
- */
hasChildren : qx.lang.Function.returnFalse,
-
-
- /**
- * Get if the widget has no children
- *
- * @signature function()
- * @return {boolean}
- */
isEmpty : qx.lang.Function.returnTrue,
-
-
- /**
- * Return the position of the child inside
- *
- * @signature function()
- * @return {Integer}
- */
indexOf : qx.lang.Function.returnNegativeIndex,
-
-
- /**
- * Test if this widget contains the given widget
- *
- * @signature function()
- */
contains : qx.lang.Function.returnFalse,
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- CHILDREN HANDLING: VISIBLE ONES
- ---------------------------------------------------------------------------
- */
-
- /**
- * Get an array of the current visible children
- *
- * @signature function()
- * @return {Widget}
- */
getVisibleChildren : qx.lang.Function.returnNull,
-
-
- /**
- * Get the number of children
- *
- * @signature function()
- * @return {Integer}
- */
getVisibleChildrenLength : qx.lang.Function.returnZero,
-
-
- /**
- * If this widget has visible children
- *
- * @signature function()
- * @return {boolean}
- */
hasVisibleChildren : qx.lang.Function.returnFalse,
-
-
- /**
- * Check if there are any visible children inside
- *
- * @signature function()
- * @return {boolean}
- */
isVisibleEmpty : qx.lang.Function.returnTrue,
-
-
-
- /*
- ---------------------------------------------------------------------------
- CORE MODIFIER
- ---------------------------------------------------------------------------
- */
+ /////////////////
+ // CORE MODIFIER
_hasParent : false,
_isDisplayable : false,
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isDisplayable : function() {
return this._isDisplayable;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {var} TODOC
- * @throws TODOC
- */
- _checkParent : function(value, old)
- {
+ _checkParent : function(value, old) {
if (this.contains(value)) {
throw new Error("Could not insert myself into a child " + value + "!");
}
@@ -2601,305 +1497,159 @@ qx.Class.define("qx.ui.core.Widget",
return value;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {var} TODOC
- */
- _applyParent : function(value, old)
- {
- if (old)
- {
+ _applyParent : function(value, old) {
+ if (old) {
var vOldIndex = old.getChildren().indexOf(this);
-
// Reset cached dimension and location values
this._computedWidthValue = this._computedMinWidthValue = this._computedMaxWidthValue = this._computedLeftValue = this._computedRightValue = null;
this._computedHeightValue = this._computedMinHeightValue = this._computedMaxHeightValue = this._computedTopValue = this._computedBottomValue = null;
-
this._cachedBoxWidth = this._cachedInnerWidth = this._cachedOuterWidth = null;
this._cachedBoxHeight = this._cachedInnerHeight = this._cachedOuterHeight = null;
-
// Finally remove from children array
qx.lang.Array.removeAt(old.getChildren(), vOldIndex);
-
// Invalidate visible children cache
old._invalidateVisibleChildren();
-
// Remove child from old parent's children queue
old._removeChildFromChildrenQueue(this);
-
// The layouter adds some layout jobs
old.getLayoutImpl().updateChildrenOnRemoveChild(this, vOldIndex);
-
// Inform job queue
old.addToJobQueue("removeChild");
-
// Invalidate inner preferred dimensions
old._invalidatePreferredInnerDimensions();
-
// Store old parent (needed later by _handleDisplayable)
this._oldParent = old;
}
-
- if (value)
- {
+ if (value) {
this._hasParent = true;
-
- if (typeof this._insertIndex == "number")
- {
+ if (typeof this._insertIndex == "number") {
qx.lang.Array.insertAt(value.getChildren(), this, this._insertIndex);
delete this._insertIndex;
- }
- else
- {
+ } else {
value.getChildren().push(this);
}
- }
- else
- {
+ } else {
this._hasParent = false;
}
-
qx.core.Property.refresh(this);
-
return this._handleDisplayable("parent");
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {var} TODOC
- */
_applyDisplay : function(value, old) {
return this._handleDisplayable("display");
},
+ //////////////////////
+ // DISPLAYBLE HANDLING
-
-
- /*
- ---------------------------------------------------------------------------
- DISPLAYBLE HANDLING
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param vHint {var} TODOC
- */
- _handleDisplayable : function(vHint)
- {
- // Detect changes. Return if there is no change.
- // Also handle the case if the displayable keeps true and the parent
- // was changed then we must not return here.
+ _handleDisplayable : function( vHint ) {
var vDisplayable = this._computeDisplayable();
-
- if (this._isDisplayable == vDisplayable && !(vDisplayable && vHint == "parent")) {
+ if( this._isDisplayable == vDisplayable
+ && !( vDisplayable && vHint == "parent" ) )
+ {
return true;
}
-
this._isDisplayable = vDisplayable;
-
var vParent = this.getParent();
-
- // Invalidate visible children
- if (vParent)
- {
+ if( vParent ) {
vParent._invalidateVisibleChildren();
vParent._invalidatePreferredInnerDimensions();
}
-
// Remove old parent's elements from DOM and delete old parent
- if (vHint && this._oldParent && this._oldParent._initialLayoutDone)
- {
+ if( vHint && this._oldParent && this._oldParent._initialLayoutDone ) {
var elem = this.getElement();
-
- if (elem)
- {
- if (this.getVisibility()) {
+ if( elem ) {
+ if( this.getVisibility() ) {
this._beforeDisappear();
}
-
- this._beforeRemoveDom();
try {
- this._oldParent._getTargetNode().removeChild(elem);
- } catch(ex) {
+ this._oldParent._getTargetNode().removeChild( elem );
+ } catch( ex ) {
// ignore exception
}
this._afterRemoveDom();
-
- if (this.getVisibility()) {
+ if ( this.getVisibility() ) {
this._afterDisappear();
}
}
-
delete this._oldParent;
- }
-
- // Handle 'show'
- if (vDisplayable)
- {
- /* --------------------------------
- Update current parent
- -------------------------------- */
-
+ } // old parent end
+ if( vDisplayable ) {
// The layouter added some layout jobs
- if (vParent._initialLayoutDone)
- {
- vParent.getLayoutImpl().updateChildrenOnAddChild(this, vParent.getChildren().indexOf(this));
-
- // Inform parents job queue
- vParent.addToJobQueue("addChild");
+ if( vParent._initialLayoutDone ) {
+ var index = vParent.getChildren().indexOf( this );
+ vParent.getLayoutImpl().updateChildrenOnAddChild( this, index );
+ vParent.addToJobQueue( "addChild" );
}
-
// Add to parents children queue
// (indirectly with a new layout request)
- this.addToLayoutChanges("initial");
-
+ this.addToLayoutChanges( "initial" );
// Add to custom queues
- this.addToCustomQueues(vHint);
-
- // Handle beforeAppear signals
- if (this.getVisibility()) {
+ this.addToCustomQueues( vHint );
+ if( this.getVisibility() ) {
this._beforeAppear();
}
-
- /* --------------------------------
- Add to global Queues
- -------------------------------- */
-
- // Add element (and create if not ready)
- if (!this._isCreated) {
+ if( !this._isCreated ) {
qx.ui.core.Widget.addToGlobalElementQueue(this);
}
-
- // Add to global queues
- qx.ui.core.Widget.addToGlobalStateQueue(this);
-
- if (!qx.lang.Object.isEmpty(this._jobQueue)) {
- qx.ui.core.Widget.addToGlobalJobQueue(this);
+ qx.ui.core.Widget.addToGlobalStateQueue( this );
+ if(!qx.lang.Object.isEmpty(this._jobQueue ) ) {
+ qx.ui.core.Widget.addToGlobalJobQueue( this );
}
-
- if (!qx.lang.Object.isEmpty(this._childrenQueue)) {
- qx.ui.core.Widget.addToGlobalLayoutQueue(this);
+ if( !qx.lang.Object.isEmpty( this._childrenQueue ) ) {
+ qx.ui.core.Widget.addToGlobalLayoutQueue( this );
}
- }
-
- // Handle 'hide'
- else
- {
- // Removing from global queues
- qx.ui.core.Widget.removeFromGlobalElementQueue(this);
- qx.ui.core.Widget.removeFromGlobalStateQueue(this);
- qx.ui.core.Widget.removeFromGlobalJobQueue(this);
- qx.ui.core.Widget.removeFromGlobalLayoutQueue(this);
-
- // Add to top-level tree queue
- this.removeFromCustomQueues(vHint);
-
+ // displayable end
+ } else {
+ qx.ui.core.Widget.removeFromGlobalElementQueue( this );
+ qx.ui.core.Widget.removeFromGlobalStateQueue( this );
+ qx.ui.core.Widget.removeFromGlobalJobQueue( this );
+ qx.ui.core.Widget.removeFromGlobalLayoutQueue( this );
+ this.removeFromCustomQueues( vHint );
// only remove when itself want to be removed
// through a property change - not a parent signal
- if (vParent && vHint)
- {
- if (this.getVisibility()) {
+ if( vParent && vHint ) {
+ if( this.getVisibility() ) {
this._beforeDisappear();
}
-
- // The layouter added some layout jobs
- if (vParent._initialLayoutDone && this._initialLayoutDone)
- {
- vParent.getLayoutImpl().updateChildrenOnRemoveChild(this, vParent.getChildren().indexOf(this));
-
- // Inform parent's job queue
- vParent.addToJobQueue("removeChild");
-
- // Before Remove DOM Event
- this._beforeRemoveDom();
-
- // DOM action
+ if( vParent._initialLayoutDone && this._initialLayoutDone ) {
+ var index = vParent.getChildren().indexOf( this );
+ vParent.getLayoutImpl().updateChildrenOnRemoveChild( this, index );
+ vParent.addToJobQueue( "removeChild" );
var parentNode = this.getElement().parentNode;
- if (parentNode){
- parentNode.removeChild(this.getElement())
+ if( parentNode ){
+ parentNode.removeChild( this.getElement() )
}
-
- // After Remove DOM Event
this._afterRemoveDom();
}
-
- // Remove from parents children queue
- vParent._removeChildFromChildrenQueue(this);
-
- if (this.getVisibility()) {
+ vParent._removeChildFromChildrenQueue( this );
+ if( this.getVisibility() ) {
this._afterDisappear();
}
}
- }
-
- this._handleDisplayableCustom(vDisplayable, vParent, vHint);
-
+ } // not displayable end
+ this._handleDisplayableCustom( vDisplayable, vParent, vHint );
return true;
},
addToCustomQueues : qx.lang.Function.returnTrue,
removeFromCustomQueues : qx.lang.Function.returnTrue,
-
_handleDisplayableCustom : qx.lang.Function.returnTrue,
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeDisplayable : function() {
return this.getDisplay() && this.getParent() && this.getParent()._isDisplayable ? true : false;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _beforeAppear : function()
- {
+ _beforeAppear : function() {
this.createDispatchEvent("beforeAppear");
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _afterAppear : function()
- {
+ _afterAppear : function() {
this._isSeeable = true;
this.createDispatchEvent("appear");
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _beforeDisappear : function()
- {
+ _beforeDisappear : function() {
// Remove any hover/pressed styles
this.removeState("over");
@@ -2912,21 +1662,13 @@ qx.Class.define("qx.ui.core.Widget",
this.createDispatchEvent("beforeDisappear");
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _afterDisappear : function()
- {
+ _afterDisappear : function() {
this._isSeeable = false;
this.createDispatchEvent("disappear");
},
_isSeeable : false,
-
+ _isInDom : false,
/**
* If the widget is currently seeable which means that it:
@@ -2941,92 +1683,28 @@ qx.Class.define("qx.ui.core.Widget",
isSeeable : function() {
return this._isSeeable;
},
+
+ isInDom : function() {
+ return this._isInDom;
+ },
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isAppearRelevant : function() {
return this.getVisibility() && this._isDisplayable;
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- DOM SIGNAL HANDLING
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _beforeInsertDom : function()
- {
- this.createDispatchEvent("beforeInsertDom");
+ _afterInsertDom : function() {
+ this._isInDom = true;
+ this.createDispatchEvent( "insertDom" );
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _afterInsertDom : function()
- {
- this.createDispatchEvent("insertDom");
- },
-
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _beforeRemoveDom : function()
- {
- this.createDispatchEvent("beforeRemoveDom");
- },
-
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _afterRemoveDom : function()
- {
- this.createDispatchEvent("removeDom");
+ _afterRemoveDom : function() {
+ this._isInDom = true;
},
+ //////////////////////
+ // VISIBILITY HANDLING
-
-
- /*
- ---------------------------------------------------------------------------
- VISIBILITY HANDLING
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _applyVisibility : function(value, old)
- {
+ _applyVisibility : function(value, old) {
if (value)
{
if ( this._isDisplayable && this._isCreated ) {
@@ -3053,220 +1731,93 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- show : function()
- {
+ show : function() {
this.setVisibility(true);
this.setDisplay(true);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
hide : function() {
this.setVisibility(false);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- connect : function() {
- this.setDisplay(true);
- },
-
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- disconnect : function() {
- this.setDisplay(false);
- },
-
-
- /**
- * Removes the widget from its parent and disposes it.
- * Use this function to free the widget's allocated memory and its associated
- * DOM elements during the runtime of the application.
- */
- destroy : function ()
- {
+ destroy : function () {
this.setParent(null);
qx.ui.core.Widget.addToGlobalDisposeQueue(this);
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- DOM ELEMENT HANDLING
- ---------------------------------------------------------------------------
- */
+
+ ///////////////////////
+ // DOM ELEMENT HANDLING
_isCreated : false,
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @signature function()
- */
- _getTargetNode : qx.core.Variant.select("qx.client",
- {
+ _getTargetNode : qx.core.Variant.select("qx.client", {
"gecko" : function() {
return this._element;
},
-
"default" : function() {
return this._borderElement || this._element;
}
- }),
-
+ } ),
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
addToDocument : function() {
qx.ui.core.ClientDocument.getInstance().add(this);
},
-
/**
- * Check if the widget is created (or the element is already available).
- *
- * @type member
- * @return {Boolean} whether the widget is already created.
+ * Check if the element is already available.
*/
isCreated : function() {
return this._isCreated;
},
-
- /**
- * Create widget with empty element.
- *
- * @type member
- * @return {void}
- */
_createElementImpl : function() {
this.setElement(this.getTopLevelWidget().getDocumentElement().createElement("div"));
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _applyElement : function(value, old)
- {
+ _applyElement : function(value, old) {
this._isCreated = value != null;
-
- if (old)
- {
+ if (old) {
// reset reference to widget instance
old.qx_Widget = null;
}
-
- if (value)
- {
+ if (value) {
// add reference to widget instance
value.qx_Widget = this;
-
// make absolute
value.style.position = "absolute";
-
// link element and style reference
this._element = value;
this._style = value.style;
-
this._applyStyleProperties(value);
this._applyHtmlProperties(value);
this._applyHtmlAttributes(value);
this._applyElementData(value);
-
// send out create event
this.createDispatchEvent("create");
-
// add created instances to state queue
this.addToStateQueue();
- }
- else
- {
+ } else {
this._element = this._style = null;
}
},
+ ////////////
+ // JOB QUEUE
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- JOB QUEUE
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param p {var} TODOC
- */
- addToJobQueue : function(p)
- {
+ addToJobQueue : function(p){
if (this._hasParent) {
qx.ui.core.Widget.addToGlobalJobQueue(this);
}
-
if (!this._jobQueue) {
this._jobQueue = {};
}
-
this._jobQueue[p] = true;
return true;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param q {var} TODOC
- * @return {void}
- */
- _flushJobQueue : function(q)
- {
- /* --------------------------------------------------------------------------------
- 1. Pre checks
- -------------------------------------------------------------------------------- */
-
- try
- {
+ _flushJobQueue : function(q) {
+ // 1. Pre checks
+ try {
var vQueue = this._jobQueue;
var vParent = this.getParent();
@@ -3279,18 +1830,11 @@ qx.Class.define("qx.ui.core.Widget",
if (vLayoutImpl) {
vLayoutImpl.updateSelfOnJobQueueFlush(vQueue);
}
- }
- catch(ex)
- {
+ } catch(ex) {
throw new Error( "Flushing job queue (prechecks#1) failed " + ex );
}
-
- /* --------------------------------------------------------------------------------
- 2. Recompute dimensions
- -------------------------------------------------------------------------------- */
-
- try
- {
+ // 2. Recompute dimensions
+ try {
var vFlushParentJobQueue = false;
var vRecomputeOuterWidth = vQueue.marginLeft || vQueue.marginRight;
var vRecomputeOuterHeight = vQueue.marginTop || vQueue.marginBottom;
@@ -3298,1073 +1842,537 @@ qx.Class.define("qx.ui.core.Widget",
var vRecomputeInnerHeight = vQueue.frameHeight;
var vRecomputeParentPreferredInnerWidth = (vQueue.frameWidth || vQueue.preferredInnerWidth) && this._recomputePreferredBoxWidth();
var vRecomputeParentPreferredInnerHeight = (vQueue.frameHeight || vQueue.preferredInnerHeight) && this._recomputePreferredBoxHeight();
-
- if (vRecomputeParentPreferredInnerWidth)
- {
+ if (vRecomputeParentPreferredInnerWidth) {
var vPref = this.getPreferredBoxWidth();
-
- if (this._computedWidthTypeAuto)
- {
+ if (this._computedWidthTypeAuto) {
this._computedWidthValue = vPref;
vQueue.width = true;
}
-
- if (this._computedMinWidthTypeAuto)
- {
+ if (this._computedMinWidthTypeAuto) {
this._computedMinWidthValue = vPref;
vQueue.minWidth = true;
}
- if (this._computedMaxWidthTypeAuto)
- {
+ if (this._computedMaxWidthTypeAuto) {
this._computedMaxWidthValue = vPref;
vQueue.maxWidth = true;
}
}
-
- if (vRecomputeParentPreferredInnerHeight)
- {
+ if (vRecomputeParentPreferredInnerHeight) {
var vPref = this.getPreferredBoxHeight();
-
- if (this._computedHeightTypeAuto)
- {
+ if (this._computedHeightTypeAuto) {
this._computedHeightValue = vPref;
vQueue.height = true;
}
-
- if (this._computedMinHeightTypeAuto)
- {
+ if (this._computedMinHeightTypeAuto) {
this._computedMinHeightValue = vPref;
vQueue.minHeight = true;
}
-
- if (this._computedMaxHeightTypeAuto)
- {
+ if (this._computedMaxHeightTypeAuto) {
this._computedMaxHeightValue = vPref;
vQueue.maxHeight = true;
}
}
-
if ((vQueue.width || vQueue.minWidth || vQueue.maxWidth || vQueue.left || vQueue.right) && this._recomputeBoxWidth()) {
vRecomputeOuterWidth = vRecomputeInnerWidth = true;
}
-
if ((vQueue.height || vQueue.minHeight || vQueue.maxHeight || vQueue.top || vQueue.bottom) && this._recomputeBoxHeight()) {
vRecomputeOuterHeight = vRecomputeInnerHeight = true;
}
- }
- catch(ex)
- {
+ } catch(ex) {
throw new Error( "Flushing job queue (recompute#2) failed " + ex );
}
-
- /* --------------------------------------------------------------------------------
- 3. Signals to parent widgets
- -------------------------------------------------------------------------------- */
-
- try
- {
- if ((vRecomputeOuterWidth && this._recomputeOuterWidth()) || vRecomputeParentPreferredInnerWidth)
- {
+ // 3. Signals to parent widgets
+ try {
+ if ((vRecomputeOuterWidth && this._recomputeOuterWidth()) || vRecomputeParentPreferredInnerWidth) {
vParent._invalidatePreferredInnerWidth();
vParent.getLayoutImpl().updateSelfOnChildOuterWidthChange(this);
-
vFlushParentJobQueue = true;
}
-
- if ((vRecomputeOuterHeight && this._recomputeOuterHeight()) || vRecomputeParentPreferredInnerHeight)
- {
+ if ((vRecomputeOuterHeight && this._recomputeOuterHeight()) || vRecomputeParentPreferredInnerHeight) {
vParent._invalidatePreferredInnerHeight();
vParent.getLayoutImpl().updateSelfOnChildOuterHeightChange(this);
-
vFlushParentJobQueue = true;
}
-
if (vFlushParentJobQueue) {
vParent._flushJobQueue();
}
- }
- catch(ex)
- {
+ } catch(ex) {
throw new Error( "Flushing job queue (parentsignals#3) failed " + ex );
}
-
- /* --------------------------------------------------------------------------------
- 4. Add layout jobs
- -------------------------------------------------------------------------------- */
-
- try
- {
+ // 4. Add layout jobs
+ try {
// add to layout queue
vParent._addChildToChildrenQueue(this);
-
// convert jobs to layout jobs
for (var i in vQueue) {
this._layoutChanges[i] = true;
}
- }
- catch(ex)
- {
+ } catch(ex) {
throw new Error( "Flushing job queue (addjobs#4) failed " + ex );
}
-
- /* --------------------------------------------------------------------------------
- 5. Signals to children
- -------------------------------------------------------------------------------- */
-
- try
- {
+ // 5. Signals to children
+ try {
// inform children about padding change
- if (this instanceof qx.ui.core.Parent && (vQueue.paddingLeft || vQueue.paddingRight || vQueue.paddingTop || vQueue.paddingBottom))
- {
+ if (this instanceof qx.ui.core.Parent && (vQueue.paddingLeft || vQueue.paddingRight || vQueue.paddingTop || vQueue.paddingBottom)) {
var ch = this.getChildren(), chl = ch.length;
-
- if (vQueue.paddingLeft)
- {
+ if (vQueue.paddingLeft) {
for (var i=0; i<chl; i++) {
ch[i].addToLayoutChanges("parentPaddingLeft");
}
}
-
- if (vQueue.paddingRight)
- {
+ if (vQueue.paddingRight) {
for (var i=0; i<chl; i++) {
ch[i].addToLayoutChanges("parentPaddingRight");
}
- }
-
- if (vQueue.paddingTop)
- {
+ }
+ if (vQueue.paddingTop) {
for (var i=0; i<chl; i++) {
ch[i].addToLayoutChanges("parentPaddingTop");
}
- }
-
- if (vQueue.paddingBottom)
- {
+ }
+ if (vQueue.paddingBottom) {
for (var i=0; i<chl; i++) {
ch[i].addToLayoutChanges("parentPaddingBottom");
}
}
- }
-
- if (vRecomputeInnerWidth) {
+ }
+ if (vRecomputeInnerWidth) {
this._recomputeInnerWidth();
- }
-
+ }
if (vRecomputeInnerHeight) {
this._recomputeInnerHeight();
- }
-
- if (this._initialLayoutDone)
- {
+ }
+ if (this._initialLayoutDone) {
if (vLayoutImpl) {
vLayoutImpl.updateChildrenOnJobQueueFlush(vQueue);
}
}
- }
- catch(ex)
- {
+ } catch(ex) {
throw new Error( "Flushing job queue (childrensignals#5) failed " + ex );
}
-
- /* --------------------------------------------------------------------------------
- 5. Cleanup
- -------------------------------------------------------------------------------- */
-
+ // 5. Cleanup
delete this._jobQueue;
},
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- METHODS TO GIVE THE LAYOUTERS INFORMATION
- ---------------------------------------------------------------------------
- */
+ ////////////////////////////////////////////
+ // METHODS TO GIVE THE LAYOUTERS INFORMATION
_isWidthEssential : qx.lang.Function.returnTrue,
_isHeightEssential : qx.lang.Function.returnTrue,
-
- /**
- * TODOC
- *
- * @type member
- * @return {Integer} TODOC
- */
_computeBoxWidthFallback : function() {
return 0;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {Integer} TODOC
- */
_computeBoxHeightFallback : function() {
return 0;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _computeBoxWidth : function()
- {
+ _computeBoxWidth : function() {
var vLayoutImpl = this.getParent().getLayoutImpl();
return Math.max(0, qx.lang.Number.limit(vLayoutImpl.computeChildBoxWidth(this), this.getMinWidthValue(), this.getMaxWidthValue()));
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _computeBoxHeight : function()
- {
+ _computeBoxHeight : function() {
var vLayoutImpl = this.getParent().getLayoutImpl();
return Math.max(0, qx.lang.Number.limit(vLayoutImpl.computeChildBoxHeight(this), this.getMinHeightValue(), this.getMaxHeightValue()));
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeOuterWidth : function() {
return Math.max(0, (this.getMarginLeft() + this.getBoxWidth() + this.getMarginRight()));
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeOuterHeight : function() {
return Math.max(0, (this.getMarginTop() + this.getBoxHeight() + this.getMarginBottom()));
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeInnerWidth : function() {
return Math.max(0, this.getBoxWidth() - this.getFrameWidth());
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeInnerHeight : function() {
return Math.max(0, this.getBoxHeight() - this.getFrameHeight());
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getNeededWidth : function()
- {
+ getNeededWidth : function() {
var vLayoutImpl = this.getParent().getLayoutImpl();
return Math.max(0, vLayoutImpl.computeChildNeededWidth(this));
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getNeededHeight : function()
- {
+ getNeededHeight : function() {
var vLayoutImpl = this.getParent().getLayoutImpl();
return Math.max(0, vLayoutImpl.computeChildNeededHeight(this));
},
+ /////////////////////////
+ // RECOMPUTE FLEX VALUES
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- RECOMPUTE FLEX VALUES
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- */
- _recomputeFlexX : function()
- {
+ _recomputeFlexX : function() {
if (!this.getHasFlexX()) {
return false;
}
-
- if (this._computedWidthTypeFlex)
- {
+ if (this._computedWidthTypeFlex) {
this._computedWidthValue = null;
this.addToLayoutChanges("width");
}
-
return true;
},
-
- /**
- * TODOC
- *
- * @type member
- */
- _recomputeFlexY : function()
- {
+ _recomputeFlexY : function() {
if (!this.getHasFlexY()) {
return false;
}
-
- if (this._computedHeightTypeFlex)
- {
+ if (this._computedHeightTypeFlex) {
this._computedHeightValue = null;
this.addToLayoutChanges("height");
}
-
return true;
},
+ /////////////////////
+ // RECOMPUTE PERCENTS
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- RECOMPUTE PERCENTS
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- */
- _recomputePercentX : function()
- {
+ _recomputePercentX : function() {
if (!this.getHasPercentX()) {
return false;
}
-
- if (this._computedWidthTypePercent)
- {
+ if (this._computedWidthTypePercent) {
this._computedWidthValue = null;
this.addToLayoutChanges("width");
}
-
- if (this._computedMinWidthTypePercent)
- {
+ if (this._computedMinWidthTypePercent) {
this._computedMinWidthValue = null;
this.addToLayoutChanges("minWidth");
}
-
- if (this._computedMaxWidthTypePercent)
- {
+ if (this._computedMaxWidthTypePercent) {
this._computedMaxWidthValue = null;
this.addToLayoutChanges("maxWidth");
}
-
- if (this._computedLeftTypePercent)
- {
+ if (this._computedLeftTypePercent) {
this._computedLeftValue = null;
this.addToLayoutChanges("left");
}
-
- if (this._computedRightTypePercent)
- {
+ if (this._computedRightTypePercent) {
this._computedRightValue = null;
this.addToLayoutChanges("right");
}
-
return true;
},
-
- /**
- * TODOC
- *
- * @type member
- */
- _recomputePercentY : function()
- {
+ _recomputePercentY : function() {
if (!this.getHasPercentY()) {
return false;
}
-
- if (this._computedHeightTypePercent)
- {
+ if (this._computedHeightTypePercent) {
this._computedHeightValue = null;
this.addToLayoutChanges("height");
}
-
- if (this._computedMinHeightTypePercent)
- {
+ if (this._computedMinHeightTypePercent) {
this._computedMinHeightValue = null;
this.addToLayoutChanges("minHeight");
}
-
- if (this._computedMaxHeightTypePercent)
- {
+ if (this._computedMaxHeightTypePercent) {
this._computedMaxHeightValue = null;
this.addToLayoutChanges("maxHeight");
}
-
- if (this._computedTopTypePercent)
- {
+ if (this._computedTopTypePercent) {
this._computedTopValue = null;
this.addToLayoutChanges("top");
}
-
- if (this._computedBottomTypePercent)
- {
+ if (this._computedBottomTypePercent) {
this._computedBottomValue = null;
this.addToLayoutChanges("bottom");
}
-
return true;
},
+ ///////////////////
+ // RECOMPUTE RANGES
-
-
- /*
- ---------------------------------------------------------------------------
- RECOMPUTE RANGES
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @signature function()
- */
- _recomputeRangeX : qx.core.Variant.select("qx.client",
- {
- "mshtml|opera|webkit" : function()
- {
+ _recomputeRangeX : qx.core.Variant.select("qx.client", {
+ "mshtml|opera|webkit" : function() {
if (this._computedLeftTypeNull || this._computedRightTypeNull) {
return false;
}
-
this.addToLayoutChanges("width");
return true;
},
-
"default" : function() {
return !(this._computedLeftTypeNull || this._computedRightTypeNull);
}
- }),
+ } ),
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @signature function()
- */
- _recomputeRangeY : qx.core.Variant.select("qx.client",
- {
- "mshtml|opera|webkit" : function()
- {
+ _recomputeRangeY : qx.core.Variant.select("qx.client", {
+ "mshtml|opera|webkit" : function() {
if (this._computedTopTypeNull || this._computedBottomTypeNull) {
return false;
}
-
this.addToLayoutChanges("height");
return true;
},
-
"default" : function() {
return !(this._computedTopTypeNull || this._computedBottomTypeNull);
}
- }),
-
+ } ),
+ ///////////////////////
+ // RECOMPUTE STRETCHING
-
-
- /*
- ---------------------------------------------------------------------------
- RECOMPUTE STRETCHING
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @signature function()
- */
- _recomputeStretchingX : qx.core.Variant.select("qx.client",
- {
- "mshtml|opera|webkit" : function()
- {
- if (this.getAllowStretchX() && this._computedWidthTypeNull)
- {
+ _recomputeStretchingX : qx.core.Variant.select("qx.client", {
+ "mshtml|opera|webkit" : function() {
+ if (this.getAllowStretchX() && this._computedWidthTypeNull) {
this._computedWidthValue = null;
this.addToLayoutChanges("width");
-
return true;
}
-
return false;
},
-
- "default" : function()
- {
+ "default" : function() {
if (this.getAllowStretchX() && this._computedWidthTypeNull) {
return true;
}
-
return false;
}
- }),
-
+ } ),
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @signature function()
- */
- _recomputeStretchingY : qx.core.Variant.select("qx.client",
- {
- "mshtml|opera|webkit" : function()
- {
- if (this.getAllowStretchY() && this._computedHeightTypeNull)
- {
+ _recomputeStretchingY : qx.core.Variant.select("qx.client", {
+ "mshtml|opera|webkit" : function() {
+ if (this.getAllowStretchY() && this._computedHeightTypeNull) {
this._computedHeightValue = null;
this.addToLayoutChanges("height");
-
return true;
}
-
return false;
},
-
- "default" : function()
- {
+ "default" : function() {
if (this.getAllowStretchY() && this._computedHeightTypeNull) {
return true;
}
-
return false;
}
- }),
-
-
+ } ),
+ /////////////////////////////////////////////////
+ // INTELLIGENT GETTERS FOR STANDALONE DIMENSIONS
- /*
- ---------------------------------------------------------------------------
- INTELLIGENT GETTERS FOR STANDALONE DIMENSIONS: HELPERS
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param v {var} TODOC
- * @return {var} TODOC
- */
_computeValuePixel : function(v) {
return Math.round(v);
},
-
- /**
- * TODOC
- *
- * @type member
- * @param v {var} TODOC
- * @return {var} TODOC
- */
_computeValuePixelLimit : function(v) {
return Math.max(0, this._computeValuePixel(v));
},
-
- /**
- * TODOC
- *
- * @type member
- * @param v {var} TODOC
- * @return {var} TODOC
- */
_computeValuePercentX : function(v) {
return Math.round(this.getParent().getInnerWidthForChild(this) * v * 0.01);
},
-
- /**
- * TODOC
- *
- * @type member
- * @param v {var} TODOC
- * @return {var} TODOC
- */
_computeValuePercentXLimit : function(v) {
return Math.max(0, this._computeValuePercentX(v));
},
-
- /**
- * TODOC
- *
- * @type member
- * @param v {var} TODOC
- * @return {var} TODOC
- */
_computeValuePercentY : function(v) {
return Math.round(this.getParent().getInnerHeightForChild(this) * v * 0.01);
},
-
- /**
- * TODOC
- *
- * @type member
- * @param v {var} TODOC
- * @return {var} TODOC
- */
_computeValuePercentYLimit : function(v) {
return Math.max(0, this._computeValuePercentY(v));
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- INTELLIGENT GETTERS FOR STANDALONE DIMENSIONS: X-AXIS
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- * @throws TODOC
- */
- getWidthValue : function()
- {
+ getWidthValue : function() {
if (this._computedWidthValue != null) {
return this._computedWidthValue;
}
-
- switch(this._computedWidthType)
- {
+ switch(this._computedWidthType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedWidthValue = this._computeValuePixelLimit(this._computedWidthParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedWidthValue = this._computeValuePercentXLimit(this._computedWidthParsed);
-
case qx.ui.core.Widget.TYPE_AUTO:
return this._computedWidthValue = this.getPreferredBoxWidth();
-
case qx.ui.core.Widget.TYPE_FLEX:
if (this.getParent().getLayoutImpl().computeChildrenFlexWidth === undefined) {
throw new Error("Widget " + this + ": having horizontal flex size (width=" + this.getWidth() + ") but parent layout " + this.getParent() + " does not support it");
}
-
this.getParent().getLayoutImpl().computeChildrenFlexWidth();
return this._computedWidthValue = this._computedWidthFlexValue;
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getMinWidthValue : function()
- {
+ getMinWidthValue : function() {
if (this._computedMinWidthValue != null) {
return this._computedMinWidthValue;
}
-
- switch(this._computedMinWidthType)
- {
+ switch(this._computedMinWidthType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedWidthValue = this._computeValuePixelLimit(this._computedMinWidthParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedWidthValue = this._computeValuePercentXLimit(this._computedMinWidthParsed);
-
case qx.ui.core.Widget.TYPE_AUTO:
return this._computedMinWidthValue = this.getPreferredBoxWidth();
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getMaxWidthValue : function()
- {
+ getMaxWidthValue : function() {
if (this._computedMaxWidthValue != null) {
return this._computedMaxWidthValue;
}
-
- switch(this._computedMaxWidthType)
- {
+ switch(this._computedMaxWidthType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedWidthValue = this._computeValuePixelLimit(this._computedMaxWidthParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedWidthValue = this._computeValuePercentXLimit(this._computedMaxWidthParsed);
-
case qx.ui.core.Widget.TYPE_AUTO:
return this._computedMaxWidthValue = this.getPreferredBoxWidth();
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getLeftValue : function()
- {
+ getLeftValue : function() {
if (this._computedLeftValue != null) {
return this._computedLeftValue;
}
-
- switch(this._computedLeftType)
- {
+ switch(this._computedLeftType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedLeftValue = this._computeValuePixel(this._computedLeftParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedLeftValue = this._computeValuePercentX(this._computedLeftParsed);
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getRightValue : function()
- {
+ getRightValue : function() {
if (this._computedRightValue != null) {
return this._computedRightValue;
}
-
- switch(this._computedRightType)
- {
+ switch(this._computedRightType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedRightValue = this._computeValuePixel(this._computedRightParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedRightValue = this._computeValuePercentX(this._computedRightParsed);
}
-
return null;
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- INTELLIGENT GETTERS FOR STANDALONE DIMENSIONS: Y-AXIS
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- * @throws TODOC
- */
- getHeightValue : function()
- {
+ getHeightValue : function() {
if (this._computedHeightValue != null) {
return this._computedHeightValue;
}
-
- switch(this._computedHeightType)
- {
+ switch(this._computedHeightType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedHeightValue = this._computeValuePixelLimit(this._computedHeightParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedHeightValue = this._computeValuePercentYLimit(this._computedHeightParsed);
-
case qx.ui.core.Widget.TYPE_AUTO:
return this._computedHeightValue = this.getPreferredBoxHeight();
-
case qx.ui.core.Widget.TYPE_FLEX:
if (this.getParent().getLayoutImpl().computeChildrenFlexHeight === undefined) {
throw new Error("Widget " + this + ": having vertical flex size (height=" + this.getHeight() + ") but parent layout " + this.getParent() + " does not support it");
}
-
this.getParent().getLayoutImpl().computeChildrenFlexHeight();
return this._computedHeightValue = this._computedHeightFlexValue;
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getMinHeightValue : function()
- {
+ getMinHeightValue : function() {
if (this._computedMinHeightValue != null) {
return this._computedMinHeightValue;
}
-
- switch(this._computedMinHeightType)
- {
+ switch(this._computedMinHeightType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedMinHeightValue = this._computeValuePixelLimit(this._computedMinHeightParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedMinHeightValue = this._computeValuePercentYLimit(this._computedMinHeightParsed);
-
case qx.ui.core.Widget.TYPE_AUTO:
return this._computedMinHeightValue = this.getPreferredBoxHeight();
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getMaxHeightValue : function()
- {
+ getMaxHeightValue : function() {
if (this._computedMaxHeightValue != null) {
return this._computedMaxHeightValue;
}
-
- switch(this._computedMaxHeightType)
- {
+ switch(this._computedMaxHeightType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedMaxHeightValue = this._computeValuePixelLimit(this._computedMaxHeightParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedMaxHeightValue = this._computeValuePercentYLimit(this._computedMaxHeightParsed);
-
case qx.ui.core.Widget.TYPE_AUTO:
return this._computedMaxHeightValue = this.getPreferredBoxHeight();
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getTopValue : function()
- {
+ getTopValue : function() {
if (this._computedTopValue != null) {
return this._computedTopValue;
}
-
- switch(this._computedTopType)
- {
+ switch(this._computedTopType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedTopValue = this._computeValuePixel(this._computedTopParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedTopValue = this._computeValuePercentY(this._computedTopParsed);
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getBottomValue : function()
- {
+ getBottomValue : function() {
if (this._computedBottomValue != null) {
return this._computedBottomValue;
}
-
- switch(this._computedBottomType)
- {
+ switch(this._computedBottomType) {
case qx.ui.core.Widget.TYPE_PIXEL:
return this._computedBottomValue = this._computeValuePixel(this._computedBottomParsed);
-
case qx.ui.core.Widget.TYPE_PERCENT:
return this._computedBottomValue = this._computeValuePercentY(this._computedBottomParsed);
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _computeFrameWidth : function()
- {
+ _computeFrameWidth : function() {
var fw = this._cachedBorderLeft + this.getPaddingLeft() + this.getPaddingRight() + this._cachedBorderRight;
-
- switch(this.getOverflow())
- {
+ switch(this.getOverflow()) {
case "scroll":
case "scrollY":
fw += qx.ui.core.Widget.SCROLLBAR_SIZE;
break;
-
case "auto":
// This seems to be really hard to implement
break;
}
-
return fw;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _computeFrameHeight : function()
- {
+ _computeFrameHeight : function() {
var fh = this._cachedBorderTop + this.getPaddingTop() + this.getPaddingBottom() + this._cachedBorderBottom;
-
- switch(this.getOverflow())
- {
+ switch(this.getOverflow()) {
case "scroll":
case "scrollX":
fh += qx.ui.core.Widget.SCROLLBAR_SIZE;
break;
-
case "auto":
// This seems to be really hard to implement
break;
}
-
return fh;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _invalidateFrameDimensions : function()
- {
+ _invalidateFrameDimensions : function() {
this._invalidateFrameWidth();
this._invalidateFrameHeight();
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _invalidatePreferredInnerDimensions : function()
- {
+ _invalidatePreferredInnerDimensions : function() {
this._invalidatePreferredInnerWidth();
this._invalidatePreferredInnerHeight();
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _computePreferredBoxWidth : function()
- {
+ _computePreferredBoxWidth : function() {
try {
return Math.max(0, this.getPreferredInnerWidth() + this.getFrameWidth());
} catch(ex) {
@@ -4372,15 +2380,7 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _computePreferredBoxHeight : function()
- {
+ _computePreferredBoxHeight : function() {
try {
return Math.max(0, this.getPreferredInnerHeight() + this.getFrameHeight());
} catch(ex) {
@@ -4388,425 +2388,238 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
-
-
- /*
- ---------------------------------------------------------------------------
- LAYOUT QUEUE
- ---------------------------------------------------------------------------
- */
+ ///////////////
+ // LAYOUT QUEUE
_initialLayoutDone : false,
-
- /**
- * TODOC
- *
- * @type member
- * @param p {var} TODOC
- * @return {var} TODOC
- */
- addToLayoutChanges : function(p)
- {
+ addToLayoutChanges : function(p) {
if (this._isDisplayable) {
this.getParent()._addChildToChildrenQueue(this);
}
-
return this._layoutChanges[p] = true;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param p {var} TODOC
- * @return {void}
- */
addToQueue : function(p) {
this._initialLayoutDone ? this.addToJobQueue(p) : this.addToLayoutChanges(p);
},
-
- /**
- * TODOC
- *
- * @type member
- * @param p {var} TODOC
- * @return {var} TODOC
- */
addToQueueRuntime : function(p) {
return !this._initialLayoutDone || this.addToJobQueue(p);
},
+ /////////////////////
+ // LAYOUTER INTERNALS
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- LAYOUTER INTERNALS
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeHasPercentX : function() {
return (this._computedLeftTypePercent || this._computedWidthTypePercent || this._computedMinWidthTypePercent || this._computedMaxWidthTypePercent || this._computedRightTypePercent);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeHasPercentY : function() {
return (this._computedTopTypePercent || this._computedHeightTypePercent || this._computedMinHeightTypePercent || this._computedMaxHeightTypePercent || this._computedBottomTypePercent);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeHasAutoX : function() {
return (this._computedWidthTypeAuto || this._computedMinWidthTypeAuto || this._computedMaxWidthTypeAuto);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeHasAutoY : function() {
return (this._computedHeightTypeAuto || this._computedMinHeightTypeAuto || this._computedMaxHeightTypeAuto);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeHasFlexX : function() {
return this._computedWidthTypeFlex;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
_computeHasFlexY : function() {
return this._computedHeightTypeFlex;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @return {var} TODOC
- */
- _evalUnitsPixelPercentAutoFlex : function(value)
- {
- switch(value)
- {
+ _evalUnitsPixelPercentAutoFlex : function(value) {
+ switch(value) {
case "auto":
return qx.ui.core.Widget.TYPE_AUTO;
-
case Infinity:
case -Infinity:
return qx.ui.core.Widget.TYPE_NULL;
}
-
- switch(typeof value)
- {
+ switch(typeof value) {
case "number":
return isNaN(value) ? qx.ui.core.Widget.TYPE_NULL : qx.ui.core.Widget.TYPE_PIXEL;
case "string":
return value.indexOf("%") != -1 ? qx.ui.core.Widget.TYPE_PERCENT : value.indexOf("*") != -1 ? qx.ui.core.Widget.TYPE_FLEX : qx.ui.core.Widget.TYPE_NULL;
}
-
return qx.ui.core.Widget.TYPE_NULL;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @return {var} TODOC
- */
- _evalUnitsPixelPercentAuto : function(value)
- {
- switch(value)
- {
+ _evalUnitsPixelPercentAuto : function(value) {
+ switch(value) {
case "auto":
return qx.ui.core.Widget.TYPE_AUTO;
-
case Infinity:
case -Infinity:
return qx.ui.core.Widget.TYPE_NULL;
}
-
- switch(typeof value)
- {
+ switch(typeof value) {
case "number":
return isNaN(value) ? qx.ui.core.Widget.TYPE_NULL : qx.ui.core.Widget.TYPE_PIXEL;
-
case "string":
return value.indexOf("%") != -1 ? qx.ui.core.Widget.TYPE_PERCENT : qx.ui.core.Widget.TYPE_NULL;
}
-
return qx.ui.core.Widget.TYPE_NULL;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @return {var} TODOC
- */
- _evalUnitsPixelPercent : function(value)
- {
- switch(value)
- {
+ _evalUnitsPixelPercent : function(value) {
+ switch(value) {
case Infinity:
case -Infinity:
return qx.ui.core.Widget.TYPE_NULL;
}
-
- switch(typeof value)
- {
+ switch(typeof value) {
case "number":
return isNaN(value) ? qx.ui.core.Widget.TYPE_NULL : qx.ui.core.Widget.TYPE_PIXEL;
-
case "string":
return value.indexOf("%") != -1 ? qx.ui.core.Widget.TYPE_PERCENT : qx.ui.core.Widget.TYPE_NULL;
}
-
return qx.ui.core.Widget.TYPE_NULL;
},
+ ///////////////////////////////////
+ // UNIT DETECTION FOR LAYOUT SYSTEM
-
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- UNIT DETECTION FOR LAYOUT SYSTEM
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @return {void}
- */
- _unitDetectionPixelPercentAutoFlex : function(name, value)
- {
+ _unitDetectionPixelPercentAutoFlex : function(name, value) {
var r = qx.ui.core.Widget.layoutPropertyTypes[name];
-
var s = r.dataType;
var p = r.dataParsed;
var v = r.dataValue;
-
var s1 = r.typePixel;
var s2 = r.typePercent;
var s3 = r.typeAuto;
var s4 = r.typeFlex;
var s5 = r.typeNull;
-
var wasPercent = this[s2];
var wasAuto = this[s3];
var wasFlex = this[s4];
-
- switch(this[s] = this._evalUnitsPixelPercentAutoFlex(value))
- {
+ switch(this[s] = this._evalUnitsPixelPercentAutoFlex(value)) {
case qx.ui.core.Widget.TYPE_PIXEL:
this[s1] = true;
this[s2] = this[s3] = this[s4] = this[s5] = false;
this[p] = this[v] = Math.round(value);
- break;
-
+ break;
case qx.ui.core.Widget.TYPE_PERCENT:
this[s2] = true;
this[s1] = this[s3] = this[s4] = this[s5] = false;
this[p] = parseFloat(value);
this[v] = null;
- break;
-
+ break;
case qx.ui.core.Widget.TYPE_AUTO:
this[s3] = true;
this[s1] = this[s2] = this[s4] = this[s5] = false;
this[p] = this[v] = null;
- break;
-
+ break;
case qx.ui.core.Widget.TYPE_FLEX:
this[s4] = true;
this[s1] = this[s2] = this[s3] = this[s5] = false;
this[p] = parseFloat(value);
this[v] = null;
- break;
-
+ break;
default:
this[s5] = true;
this[s1] = this[s2] = this[s3] = this[s4] = false;
this[p] = this[v] = null;
- break;
+ break;
}
-
- if (wasPercent != this[s2])
- {
- switch(name)
- {
+ if (wasPercent != this[s2]) {
+ switch(name) {
case "minWidth":
case "maxWidth":
case "width":
case "left":
case "right":
this._invalidateHasPercentX();
- break;
-
+ break;
case "maxHeight":
case "minHeight":
case "height":
case "top":
case "bottom":
this._invalidateHasPercentY();
- break;
+ break;
}
}
-
// No ELSE because you can also switch from percent to auto
- if (wasAuto != this[s3])
- {
- switch(name)
- {
+ if (wasAuto != this[s3]) {
+ switch(name) {
case "minWidth":
case "maxWidth":
case "width":
this._invalidateHasAutoX();
- break;
-
+ break;
case "minHeight":
case "maxHeight":
case "height":
this._invalidateHasAutoY();
- break;
+ break;
}
}
// No ELSE because you can also switch from percent to auto
- if (wasFlex != this[s4])
- {
- switch(name)
- {
+ if (wasFlex != this[s4]) {
+ switch(name) {
case "width":
this._invalidateHasFlexX();
- break;
-
+ break;
case "height":
this._invalidateHasFlexY();
- break;
+ break;
}
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @return {void}
- */
- _unitDetectionPixelPercentAuto : function(name, value)
- {
+ _unitDetectionPixelPercentAuto : function(name, value) {
var r = qx.ui.core.Widget.layoutPropertyTypes[name];
-
var s = r.dataType;
var p = r.dataParsed;
var v = r.dataValue;
-
var s1 = r.typePixel;
var s2 = r.typePercent;
var s3 = r.typeAuto;
var s4 = r.typeNull;
-
var wasPercent = this[s2];
var wasAuto = this[s3];
-
- switch(this[s] = this._evalUnitsPixelPercentAuto(value))
- {
+ switch(this[s] = this._evalUnitsPixelPercentAuto(value)) {
case qx.ui.core.Widget.TYPE_PIXEL:
this[s1] = true;
this[s2] = this[s3] = this[s4] = false;
this[p] = this[v] = Math.round(value);
- break;
-
+ break;
case qx.ui.core.Widget.TYPE_PERCENT:
this[s2] = true;
this[s1] = this[s3] = this[s4] = false;
this[p] = parseFloat(value);
this[v] = null;
- break;
-
+ break;
case qx.ui.core.Widget.TYPE_AUTO:
this[s3] = true;
this[s1] = this[s2] = this[s4] = false;
this[p] = this[v] = null;
- break;
-
+ break;
default:
this[s4] = true;
this[s1] = this[s2] = this[s3] = false;
this[p] = this[v] = null;
break;
}
-
- if (wasPercent != this[s2])
- {
- switch(name)
- {
+ if (wasPercent != this[s2]) {
+ switch(name) {
case "minWidth":
case "maxWidth":
case "width":
case "left":
case "right":
this._invalidateHasPercentX();
- break;
-
+ break;
case "minHeight":
case "maxHeight":
case "height":
@@ -4816,384 +2629,180 @@ qx.Class.define("qx.ui.core.Widget",
break;
}
}
-
// No ELSE because you can also switch from percent to auto
- if (wasAuto != this[s3])
- {
- switch(name)
- {
+ if (wasAuto != this[s3]) {
+ switch(name) {
case "minWidth":
case "maxWidth":
case "width":
this._invalidateHasAutoX();
- break;
-
+ break;
case "minHeight":
case "maxHeight":
case "height":
this._invalidateHasAutoY();
- break;
+ break;
}
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @return {void}
- */
- _unitDetectionPixelPercent : function(name, value)
- {
+ _unitDetectionPixelPercent : function(name, value) {
var r = qx.ui.core.Widget.layoutPropertyTypes[name];
-
var s = r.dataType;
var p = r.dataParsed;
var v = r.dataValue;
-
var s1 = r.typePixel;
var s2 = r.typePercent;
var s3 = r.typeNull;
-
var wasPercent = this[s2];
-
- switch(this[s] = this._evalUnitsPixelPercent(value))
- {
+ switch(this[s] = this._evalUnitsPixelPercent(value)) {
case qx.ui.core.Widget.TYPE_PIXEL:
this[s1] = true;
this[s2] = this[s3] = false;
this[p] = this[v] = Math.round(value);
- break;
-
+ break;
case qx.ui.core.Widget.TYPE_PERCENT:
this[s2] = true;
this[s1] = this[s3] = false;
this[p] = parseFloat(value);
this[v] = null;
- break;
-
+ break;
default:
this[s3] = true;
this[s1] = this[s2] = false;
this[p] = this[v] = null;
- break;
+ break;
}
-
- if (wasPercent != this[s2])
- {
- switch(name)
- {
+ if (wasPercent != this[s2]) {
+ switch(name) {
case "minWidth":
case "maxWidth":
case "width":
case "left":
case "right":
this._invalidateHasPercentX();
- break;
-
+ break;
case "minHeight":
case "maxHeight":
case "height":
case "top":
case "bottom":
this._invalidateHasPercentY();
- break;
+ break;
}
}
},
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- CHILDREN MANAGMENT
- ---------------------------------------------------------------------------
- */
+ /////////////////////
+ // CHILDREN MANAGMENT
/**
* The widget which is at the top level,
* which contains all others (normally a
* instance of qx.ui.core.ClientDocument).
- *
- * @type member
- * @return {var} TODOC
*/
getTopLevelWidget : function() {
return this._hasParent ? this.getParent().getTopLevelWidget() : null;
},
-
- /**
- * Move myself to immediately before another child of the same parent.
- *
- * @type member
- * @param vBefore {var} TODOC
- * @return {void}
- */
- moveSelfBefore : function(vBefore) {
- this.getParent().addBefore(this, vBefore);
- },
-
-
- /**
- * Move myself to immediately after another child of the same parent.
- *
- * @type member
- * @param vAfter {var} TODOC
- * @return {void}
- */
- moveSelfAfter : function(vAfter) {
- this.getParent().addAfter(this, vAfter);
- },
-
-
- /**
- * Move myself to the head of the list: make me the first child.
- *
- * @type member
- * @return {void}
- */
moveSelfToBegin : function() {
this.getParent().addAtBegin(this);
},
-
- /**
- * Move myself to the end of the list: make me the last child.
- *
- * @type member
- * @return {void}
- */
moveSelfToEnd : function() {
this.getParent().addAtEnd(this);
},
-
- /**
- * Returns the previous sibling.
- *
- * @type member
- * @return {null | var} TODOC
- */
- getPreviousSibling : function()
- {
+ getPreviousSibling : function() {
var p = this.getParent();
-
if (p == null) {
return null;
}
-
var cs = p.getChildren();
return cs[cs.indexOf(this) - 1];
},
-
- /**
- * Returns the next sibling.
- *
- * @type member
- * @return {null | var} TODOC
- */
- getNextSibling : function()
- {
+ getNextSibling : function() {
var p = this.getParent();
-
if (p == null) {
return null;
}
-
var cs = p.getChildren();
return cs[cs.indexOf(this) + 1];
},
-
- /**
- * Returns the previous visible sibling.
- *
- * @type member
- * @return {null | var} TODOC
- */
- getPreviousVisibleSibling : function()
- {
+ getPreviousVisibleSibling : function() {
if (!this._hasParent) {
return null;
}
-
var vChildren = this.getParent().getVisibleChildren();
return vChildren[vChildren.indexOf(this) - 1];
},
-
- /**
- * Returns the next visible sibling.
- *
- * @type member
- * @return {null | var} TODOC
- */
- getNextVisibleSibling : function()
- {
+ getNextVisibleSibling : function() {
if (!this._hasParent) {
return null;
}
-
var vChildren = this.getParent().getVisibleChildren();
return vChildren[vChildren.indexOf(this) + 1];
},
-
- /**
- * TODOC
- *
- * @type member
- * @param vIgnoreClasses {var} TODOC
- * @return {var} TODOC
- */
- getPreviousActiveSibling : function(vIgnoreClasses)
- {
+ getPreviousActiveSibling : function(vIgnoreClasses) {
var vPrev = qx.ui.core.Widget.getActiveSiblingHelper(this, this.getParent(), -1, vIgnoreClasses, null);
return vPrev ? vPrev : this.getParent().getLastActiveChild();
},
-
- /**
- * TODOC
- *
- * @type member
- * @param vIgnoreClasses {var} TODOC
- * @return {var} TODOC
- */
- getNextActiveSibling : function(vIgnoreClasses)
- {
+ getNextActiveSibling : function(vIgnoreClasses) {
var vNext = qx.ui.core.Widget.getActiveSiblingHelper(this, this.getParent(), 1, vIgnoreClasses, null);
return vNext ? vNext : this.getParent().getFirstActiveChild();
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isFirstChild : function() {
return this._hasParent && this.getParent().getFirstChild() == this;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isLastChild : function() {
return this._hasParent && this.getParent().getLastChild() == this;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isFirstVisibleChild : function() {
return this._hasParent && this.getParent().getFirstVisibleChild() == this;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isLastVisibleChild : function() {
return this._hasParent && this.getParent().getLastVisibleChild() == this;
},
+ /////////////////
+ // STATE HANDLING
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- STATE HANDLING
- ---------------------------------------------------------------------------
- */
-
- /**
- * Returns whether a state is set.
- *
- * @type member
- * @param vState {String} the state to check.
- * @return {Boolean} whether the state is set.
- */
hasState : function(vState) {
return this.__states && this.__states[vState] ? true : false;
},
-
- /**
- * Sets a state.
- *
- * @type member
- * @param vState {var} TODOC
- * @return {void}
- */
- addState : function(vState)
- {
+ addState : function(vState) {
if (!this.__states) {
this.__states = {};
}
- if (!this.__states[vState])
- {
+ if (!this.__states[vState]) {
this.__states[vState] = true;
-
if (this._hasParent) {
qx.ui.core.Widget.addToGlobalStateQueue(this);
}
}
},
-
- /**
- * Clears a state.
- *
- * @type member
- * @param vState {String} the state to clear.
- * @return {void}
- */
- removeState : function(vState)
- {
- if (this.__states && this.__states[vState])
- {
+ removeState : function(vState) {
+ if (this.__states && this.__states[vState]) {
delete this.__states[vState];
-
if (this._hasParent) {
qx.ui.core.Widget.addToGlobalStateQueue(this);
}
}
},
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- APPEARANCE SUPPORT
- ---------------------------------------------------------------------------
- */
+ /////////////////////
+ // APPEARANCE SUPPORT
/**
* Style multiple properties at once by using a property list
@@ -5203,230 +2812,121 @@ qx.Class.define("qx.ui.core.Widget",
* @return {Object} this instance.
* @throws an error if the incoming data field is not a map.
*/
- _styleFromMap : function(data)
- {
+ _styleFromMap : function(data) {
var styler = qx.core.Property.$$method.style;
var unstyler = qx.core.Property.$$method.unstyle;
var value;
-
- if (qx.core.Variant.isSet("qx.debug", "on"))
- {
- for (var prop in data)
- {
+ if (qx.core.Variant.isSet("qx.debug", "on")) {
+ for (var prop in data) {
if (!this[styler[prop]]) {
throw new Error(this.classname + ' has no themeable property "' + prop + '"');
}
}
}
-
- for (var prop in data)
- {
+ for (var prop in data) {
value = data[prop];
value === "undefined" ? this[unstyler[prop]]() : this[styler[prop]](value);
}
},
-
- /**
- * Unstyle multiple properties at once by using a property list
- *
- * @type member
- * @param data {Array} a array of property names.
- * @return {Object} this instance.
- * @throws an error if the incoming data field is not a map.
- */
- _unstyleFromArray : function(data)
- {
+ _unstyleFromArray : function(data) {
var unstyler = qx.core.Property.$$method.unstyle;
-
- if (qx.core.Variant.isSet("qx.debug", "on"))
- {
- for (var i=0, l=data.length; i<l; i++)
- {
+ if (qx.core.Variant.isSet("qx.debug", "on")) {
+ for (var i=0, l=data.length; i<l; i++) {
if (!this[unstyler[data[i]]]) {
throw new Error(this.classname + ' has no themeable property "' + data[i] + '"');
}
}
}
-
for (var i=0, l=data.length; i<l; i++) {
this[unstyler[data[i]]]();
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- _renderAppearance : function()
- {
+ _renderAppearance : function() {
if (!this.__states) {
this.__states = {};
}
-
// HACK: Is there a cleaner way to implement this?
// Maybe not use the appearance for this, but a simple property and event handler combination?
this._applyStateStyleFocus(this.__states);
-
var vAppearance = this.getAppearance();
-
- if (vAppearance)
- {
- try
- {
+ if (vAppearance) {
+ try {
var r = qx.theme.manager.Appearance.getInstance().styleFrom(vAppearance, this.__states);
-
if (r) {
this._styleFromMap(r);
}
- }
- catch(ex)
- {
+ } catch(ex) {
throw new Error( "Could not apply state appearance " + ex );
}
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param vNewAppearanceTheme {var} TODOC
- * @param vOldAppearanceTheme {var} TODOC
- * @return {void}
- */
- _resetAppearanceThemeWrapper : function(vNewAppearanceTheme, vOldAppearanceTheme)
- {
+ _resetAppearanceThemeWrapper : function(vNewAppearanceTheme, vOldAppearanceTheme) {
var vAppearance = this.getAppearance();
-
- if (vAppearance)
- {
+ if (vAppearance) {
var vAppearanceManager = qx.theme.manager.Appearance.getInstance();
-
var vOldAppearanceProperties = vAppearanceManager.styleFromTheme(vOldAppearanceTheme, vAppearance, this.__states);
var vNewAppearanceProperties = vAppearanceManager.styleFromTheme(vNewAppearanceTheme, vAppearance, this.__states);
-
var vUnstyleList = [];
- for (var prop in vOldAppearanceProperties)
- {
+ for (var prop in vOldAppearanceProperties) {
if (vNewAppearanceProperties[prop] === undefined) {
vUnstyleList.push(prop);
}
}
-
this._unstyleFromArray(vUnstyleList);
this._styleFromMap(vNewAppearanceProperties);
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param vStates {var} TODOC
- * @return {void}
- * @signature function(vStates)
- */
- _applyStateStyleFocus : qx.core.Variant.select("qx.client",
- {
+ _applyStateStyleFocus : qx.core.Variant.select("qx.client", {
"mshtml" : function(vStates) {},
-
- "default" : function(vStates)
- {
- if (vStates.focused)
- {
+ "default" : function(vStates) {
+ if (vStates.focused) {
if (!qx.event.handler.FocusHandler.mouseFocus && !this.getHideFocus()) {
this.setStyleProperty("outline", "1px dotted");
}
- }
- else
- {
+ } else {
this.setStyleProperty("outline", "none");
}
}
- }),
+ } ),
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
addToStateQueue : function() {
qx.ui.core.Widget.addToGlobalStateQueue(this);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
recursiveAddToStateQueue : function() {
this.addToStateQueue();
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _applyAppearance : function(value, old)
- {
+ _applyAppearance : function(value, old) {
if (!this.__states) {
this.__states = {};
}
-
var vAppearanceManager = qx.theme.manager.Appearance.getInstance();
-
- if (value)
- {
+ if (value) {
var vNewAppearanceProperties = vAppearanceManager.styleFrom(value, this.__states) || {};
}
-
- if (old)
- {
+ if (old) {
var vOldAppearanceProperties = vAppearanceManager.styleFrom(old, this.__states) || {};
-
var vUnstyleList = [];
- for (var prop in vOldAppearanceProperties)
- {
+ for (var prop in vOldAppearanceProperties) {
if (!vNewAppearanceProperties || !(prop in vNewAppearanceProperties)) {
vUnstyleList.push(prop);
}
}
}
-
if (vUnstyleList) {
this._unstyleFromArray(vUnstyleList);
}
-
if (vNewAppearanceProperties) {
this._styleFromMap(vNewAppearanceProperties);
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param vNewAppearanceTheme {var} TODOC
- * @param vOldAppearanceTheme {var} TODOC
- * @return {void}
- */
- _recursiveAppearanceThemeUpdate : function(vNewAppearanceTheme, vOldAppearanceTheme)
- {
+ _recursiveAppearanceThemeUpdate : function(vNewAppearanceTheme, vOldAppearanceTheme) {
try {
this._resetAppearanceThemeWrapper(vNewAppearanceTheme, vOldAppearanceTheme);
} catch(ex) {
@@ -5434,294 +2934,120 @@ qx.Class.define("qx.ui.core.Widget",
}
},
+ ///////////////
+ // ELEMENT DATA
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- ELEMENT DATA
- ---------------------------------------------------------------------------
- */
-
- /**
- * Placeholder method to add attributes and other content to element node
- *
- * @type member
- * @param elem {Element} TODOC
- * @return {void}
- */
_applyElementData : function(elem) {},
+ //////////////////
+ // HTML PROPERTIES
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- HTML PROPERTIES
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @param value {var} Current value
- */
- setHtmlProperty : function(propName, value)
- {
+ setHtmlProperty : function(propName, value) {
if (!this._htmlProperties) {
this._htmlProperties = {};
}
-
this._htmlProperties[propName] = value;
-
if (this._isCreated && this.getElement()[propName] != value) {
this.getElement()[propName] = value;
}
-
return true;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @return {void}
- * @signature function(propName)
- */
- removeHtmlProperty : qx.core.Variant.select("qx.client",
- {
- "mshtml" : function(propName)
- {
+ removeHtmlProperty : qx.core.Variant.select("qx.client", {
+ "mshtml" : function(propName) {
if (!this._htmlProperties) {
return;
}
-
delete this._htmlProperties[propName];
-
if (this._isCreated) {
this.getElement().removeAttribute(propName);
}
-
return true;
},
-
- "default" : function(propName)
- {
+ "default" : function(propName) {
if (!this._htmlProperties) {
return;
}
-
delete this._htmlProperties[propName];
-
- if (this._isCreated)
- {
+ if (this._isCreated) {
this.getElement().removeAttribute(propName);
delete this.getElement()[propName];
}
-
return true;
}
- }),
-
+ } ),
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @return {string | var} TODOC
- */
- getHtmlProperty : function(propName)
- {
+ getHtmlProperty : function(propName) {
if (!this._htmlProperties) {
return "";
}
-
return this._htmlProperties[propName] || "";
},
-
- /**
- * TODOC
- *
- * @type member
- * @param elem {var} TODOC
- * @return {void}
- */
- _applyHtmlProperties : function(elem)
- {
+ _applyHtmlProperties : function(elem) {
var vProperties = this._htmlProperties;
-
- if (vProperties)
- {
+ if (vProperties) {
var propName;
-
for (propName in vProperties) {
elem[propName] = vProperties[propName];
}
}
},
+ //////////////////
+ // HTML ATTRIBUTES
- /**
- * Generate a stable (across runs!) id string and set it in HTML.
- * This is interesting for application testing that uses the element
- * id to locate the widget.
- *
- * @type member
- * @return {void}
- */
- _generateHtmlId : function()
- {
- //var id = this.classname + "#" + this.toHashCode(); // not stable across machines
- var id = this.classname + "." + qx.ui.core.Widget._idCounter++;
-
- this.setHtmlProperty("id", id);
- },
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- HTML ATTRIBUTES
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @param value {var} Current value
- * @deprecated Use {@link #setHtmlProperty} instead
- */
- setHtmlAttribute : function(propName, value)
- {
+ setHtmlAttribute : function(propName, value) {
if (!this._htmlAttributes) {
this._htmlAttributes = {};
}
-
this._htmlAttributes[propName] = value;
-
if (this._isCreated) {
this.getElement().setAttribute(propName, value);
}
-
return true;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @return {void | Boolean} TODOC
- * @deprecated Use {@link #removeHtmlProperty} instead
- */
- removeHtmlAttribute : function(propName)
- {
+ removeHtmlAttribute : function(propName) {
if (!this._htmlAttributes) {
return;
}
-
delete this._htmlAttributes[propName];
-
if (this._isCreated) {
this.getElement().removeAttribute(propName);
}
-
return true;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @return {string | var} TODOC
- * @deprecated Use {@link #getHtmlProperty} instead
- */
- getHtmlAttribute : function(propName)
- {
+ getHtmlAttribute : function(propName) {
if (!this._htmlAttributes) {
return "";
}
-
return this._htmlAttributes[propName] || "";
},
-
- /**
- * TODOC
- *
- * @type member
- * @param elem {var} TODOC
- * @return {void}
- * @deprecated Use {@link #_applyHtmlProperties} instead
- */
- _applyHtmlAttributes : function(elem)
- {
+ _applyHtmlAttributes : function(elem) {
var vAttributes = this._htmlAttributes;
-
- if (vAttributes)
- {
+ if (vAttributes) {
var propName;
-
for (propName in vAttributes) {
elem.setAttribute(propName, vAttributes[propName]);
}
}
},
+ ///////////////////
+ // STYLE PROPERTIES
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- STYLE PROPERTIES
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @return {var} TODOC
- */
- getStyleProperty : function(propName)
- {
+ getStyleProperty : function(propName) {
if (!this._styleProperties) {
return "";
}
-
return this._styleProperties[propName] || "";
},
-
- /*
- The zIndex and filter properties should always be
- applied on the "real" element node.
- */
- __outerElementStyleProperties :
- {
+ //Some properties should always be applied on the outer element node:
+ __outerElementStyleProperties : {
cursor : true,
zIndex : true,
filter : true,
@@ -5730,24 +3056,12 @@ qx.Class.define("qx.ui.core.Widget",
outline : true
},
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- * @param value {var} Current value
- */
- setStyleProperty : function(propName, value)
- {
+ setStyleProperty : function(propName, value) {
if (!this._styleProperties) {
this._styleProperties = {};
}
-
this._styleProperties[propName] = value;
-
- if (this._isCreated)
- {
+ if (this._isCreated) {
var elem = this.__outerElementStyleProperties[propName] ? this.getElement() : this._getTargetNode();
if (elem) {
elem.style[propName] = (value == null) ? "" : value;
@@ -5755,23 +3069,12 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param propName {var} TODOC
- */
- removeStyleProperty : function(propName)
- {
+ removeStyleProperty : function(propName) {
if (!this._styleProperties) {
return;
}
-
delete this._styleProperties[propName];
-
- if (this._isCreated)
- {
+ if (this._isCreated) {
var elem = this.__outerElementStyleProperties[propName] ? this.getElement() : this._getTargetNode();
if (elem) {
elem.style[propName] = "";
@@ -5779,329 +3082,145 @@ qx.Class.define("qx.ui.core.Widget",
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param elem {var} TODOC
- * @return {void}
- */
- _applyStyleProperties : function(elem)
- {
+ _applyStyleProperties : function(elem) {
var vProperties = this._styleProperties;
-
if (!vProperties) {
return;
}
-
var propName;
-
var vBaseElement = elem;
var vTargetElement = this._getTargetNode();
var elem;
-
var value;
- for (propName in vProperties)
- {
+ for (propName in vProperties) {
elem = this.__outerElementStyleProperties[propName] ? vBaseElement : vTargetElement;
value = vProperties[propName];
elem.style[propName] = (value == null) ? "" : value;
}
},
+
+ /////////////////////////
+ // ENABLE/DISABLE SUPPORT
-
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- ENABLE/DISABLE SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _applyEnabled : function(value, old)
- {
- if (value===false)
- {
+ _applyEnabled : function(value, old) {
+ if (value===false) {
this.addState("disabled");
-
// Also reset some states to be sure a pressed/hovered button gets reset
this.removeState("over");
-
- if (qx.Class.isDefined("qx.ui.form.Button"))
- {
+ if (qx.Class.isDefined("qx.ui.form.Button")) {
this.removeState("abandoned");
this.removeState("pressed");
}
- }
- else
- {
+ } else {
this.removeState("disabled");
}
},
+ /////////////////
+ // FOCUS HANDLING
-
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- FOCUS HANDLING
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
isFocusable : function() {
return this.getEnabled() && this.isSeeable() && this.getTabIndex() != null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {boolean}
- */
isFocusRoot : function() {
return false;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getFocusRoot : function()
- {
+ getFocusRoot : function() {
if (this._hasParent) {
return this.getParent().getFocusRoot();
}
-
return null;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var | null} TODOC
- */
- getActiveChild : function()
- {
+ getActiveChild : function() {
var vRoot = this.getFocusRoot();
-
if (vRoot) {
return vRoot.getActiveChild();
}
-
return null;
},
_ontabfocus : qx.lang.Function.returnTrue,
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _applyFocused : function(value, old)
- {
+ _applyFocused : function(value, old) {
if (!this.isCreated()) {
return;
}
-
var vFocusRoot = this.getFocusRoot();
-
- if (vFocusRoot)
- {
+ if (vFocusRoot) {
// may be undefined if this widget has been removed
- if (value)
- {
+ if (value) {
vFocusRoot.setFocusedChild(this);
this._visualizeFocus();
- }
- else
- {
+ } else {
if (vFocusRoot.getFocusedChild() == this) {
vFocusRoot.setFocusedChild(null);
}
-
this._visualizeBlur();
}
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {void}
- * @signature function(value, old)
- */
- _applyHideFocus : qx.core.Variant.select("qx.client",
- {
- "mshtml" : function(value, old)
- {
+ _applyHideFocus : qx.core.Variant.select("qx.client", {
+ "mshtml" : function(value, old) {
this.setHtmlProperty("hideFocus", value);
},
-
// Need no implementation for others then mshtml, because
// all these browsers support css outlines and do not
// have an attribute "hideFocus" as IE.
"default" : qx.lang.Function.returnTrue
- }),
-
+ } ),
- /**
- * TODOC
- *
- * @type member
- */
- _visualizeBlur : function()
- {
+ _visualizeBlur : function() {
// Force blur, even if mouseFocus is not active because we
// need to be sure that the previous focus rect gets removed.
// But this only needs to be done, if there is no new focused element.
- if (this.getEnableElementFocus() && (!this.getFocusRoot().getFocusedChild() || (this.getFocusRoot().getFocusedChild() && this.getFocusRoot().getFocusedChild().getEnableElementFocus())))
- {
+ if (this.getEnableElementFocus() && (!this.getFocusRoot().getFocusedChild() || (this.getFocusRoot().getFocusedChild() && this.getFocusRoot().getFocusedChild().getEnableElementFocus()))) {
try {
this.getElement().blur();
} catch(ex) {}
}
-
this.removeState("focused");
},
-
- /**
- * TODOC
- *
- * @type member
- */
- _visualizeFocus : function()
- {
- if (!qx.event.handler.FocusHandler.mouseFocus && this.getEnableElementFocus())
- {
+ _visualizeFocus : function() {
+ if (!qx.event.handler.FocusHandler.mouseFocus && this.getEnableElementFocus()) {
try {
this.getElement().focus();
} catch(ex) {}
}
-
this.addState("focused");
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- focus : function()
- {
+ focus : function() {
delete qx.event.handler.FocusHandler.mouseFocus;
this.setFocused(true);
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- blur : function()
- {
+ blur : function() {
delete qx.event.handler.FocusHandler.mouseFocus;
this.setFocused(false);
},
+ ////////////////////
+ // CAPTURING SUPPORT
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- CAPTURING SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _applyCapture : function(value, old)
- {
+ _applyCapture : function(value, old) {
var vMgr = org.eclipse.rwt.EventHandler;
-
if (old) {
vMgr.setCaptureWidget(null);
}
-
if (value) {
vMgr.setCaptureWidget(this);
}
},
+ /////////////////
+ // ZINDEX SUPPORT
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- ZINDEX SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {var} TODOC
- */
- _applyZIndex : function(value, old)
- {
+ _applyZIndex : function(value, old) {
if (value == null) {
this.removeStyleProperty("zIndex");
} else {
@@ -6109,28 +3228,11 @@ qx.Class.define("qx.ui.core.Widget",
}
},
+ ////////////////////
+ // TAB INDEX SUPPORT
-
-
- /*
- ---------------------------------------------------------------------------
- TAB INDEX SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {void}
- * @signature function(value, old)
- */
- _applyTabIndex : qx.core.Variant.select("qx.client",
- {
- "mshtml" : function(value, old)
- {
+ _applyTabIndex : qx.core.Variant.select("qx.client", {
+ "mshtml" : function(value, old) {
/*
if (value < 0 || !this.getEnabled()) {
this.setHtmlProperty("unselectable", "on");
@@ -6138,55 +3240,30 @@ qx.Class.define("qx.ui.core.Widget",
this.removeHtmlProperty("unselectable");
}
*/
-
// Legacy tabIndex property
this.setHtmlProperty("tabIndex", value < 0 ? -1 : 1);
},
-
// [if] Fix for bug:
// 288348: The focus stays on the browser location bar after clicking some
// of the widgets.
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=288348
-// "gecko" : function(value, old)
-// {
-// // CSS 3 draft userFocus property
-// this.setStyleProperty("MozUserFocus", (value < 0 ? "ignore" : "normal"));
-// },
-
- "default" : function(value, old)
- {
+ //"gecko" : function(value, old)
+ //{
+ // // CSS 3 draft userFocus property
+ // this.setStyleProperty("MozUserFocus", (value < 0 ? "ignore" : "normal"));
+ //},
+ "default" : function(value, old) {
// CSS 3 draft userFocus property
this.setStyleProperty("userFocus", (value < 0 ? "ignore" : "normal"));
-
// Legacy tabIndex property
this.setHtmlProperty("tabIndex", value < 0 ? -1 : 1);
}
- }),
-
-
-
-
-
+ } ),
+ /////////////////////
+ // SELECTABLE SUPPORT
-
- /*
- ---------------------------------------------------------------------------
- SELECTABLE SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {void}
- * @signature function(value, old)
- */
- _applySelectable : qx.core.Variant.select("qx.client",
- {
+ _applySelectable : qx.core.Variant.select("qx.client", {
// "unselectable" works locally and does not affect children
// "user-select" is not inherited, but it does affect children
// in the same way that display: none does, it limits it.
@@ -6196,9 +3273,7 @@ qx.Class.define("qx.ui.core.Widget",
// class. This event works at least in MSHTML and Webkit.
// Opera has no support for any of these options yet. No "selectstart"
// event no user-select property.
-
- "mshtml" : function(value, old)
- {
+ "mshtml" : function(value, old) {
// IMPORTANT
// to ensure that widgets using the execCommand method work
// properly it is necessary to keep these lines. Otherwise
@@ -6223,75 +3298,50 @@ qx.Class.define("qx.ui.core.Widget",
}
*/
},
-
- "gecko" : function(value, old)
- {
+ "gecko" : function(value, old) {
if (value) {
this.removeStyleProperty("MozUserSelect");
} else {
this.setStyleProperty("MozUserSelect", "none");
}
},
-
- "webkit" : function(value, old)
- {
- if (value)
- {
+ "webkit" : function(value, old) {
+ if (value) {
this.removeStyleProperty("WebkitUserSelect");
this.removeStyleProperty("KhtmlUserSelect");
- }
- else
- {
+ } else {
this.setStyleProperty("WebkitUserSelect", "none");
this.setStyleProperty("KhtmlUserSelect", "none");
}
},
-
// Opera currently has no support to prohibit user selection
- "default" : function(value, old)
- {
+ "default" : function(value, old) {
if (value) {
return this.removeStyleProperty("userSelect");
} else {
this.setStyleProperty("userSelect", "none");
}
}
- }),
+ } ),
-
- /*
- ---------------------------------------------------------------------------
- OPACITY SUPPORT
- ---------------------------------------------------------------------------
- */
+ //////////////////
+ // OPACITY SUPPORT
/**
* Sets the opacity for the widget. Any child widget inside the widget will also
* become (semi-)transparent. The value should be a number between 0 and 1
* inclusive, where 1 means totally opaque and 0 invisible.
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {void}
- * @signature function(value, old)
*/
_applyOpacity : function( value, old ) {
org.eclipse.rwt.HtmlUtil.setOpacity( this, value );
},
-
- /*
- ---------------------------------------------------------------------------
- CURSOR SUPPORT
- ---------------------------------------------------------------------------
- */
+ /////////////////
+ // CURSOR SUPPORT
// TODO: maybe we could use cursor:url() for not suppoted cursors.
- __cursorMap : qx.core.Variant.select("qx.client",
- {
- "mshtml" :
- {
+ __cursorMap : qx.core.Variant.select("qx.client", {
+ "mshtml" : {
"default" : "default",
"wait" : "wait",
"crosshair" : "crosshair",
@@ -6312,15 +3362,13 @@ qx.Class.define("qx.ui.core.Widget",
"progress" : "progress",
"not-allowed" : "not-allowed",
"no-drop" : "no-drop",
-
"cursor" : "hand",
"ew-resize" : "e-resize",
"ns-resize" : "n-resize",
"nesw-resize" : "ne-resize",
"nwse-resize" : "nw-resize"
},
- "opera" :
- {
+ "opera" : {
"default" : "default",
"wait" : "wait",
"crosshair" : "crosshair",
@@ -6339,7 +3387,6 @@ qx.Class.define("qx.ui.core.Widget",
"progress" : "progress",
"not-allowed" : "not-allowed",
"no-drop" : "no-drop",
-
"col-resize" : "e-resize",
"row-resize" : "n-resize",
"ew-resize" : "e-resize",
@@ -6347,8 +3394,7 @@ qx.Class.define("qx.ui.core.Widget",
"nesw-resize" : "ne-resize",
"nwse-resize" : "nw-resize"
},
- "default" :
- {
+ "default" : {
"default" : "default",
"wait" : "wait",
"crosshair" : "crosshair",
@@ -6370,11 +3416,9 @@ qx.Class.define("qx.ui.core.Widget",
"not-allowed" : "not-allowed",
"no-drop" : "no-drop"
}
- }),
-
+ } ),
- _applyCursor : function(value, old)
- {
+ _applyCursor : function(value, old) {
if (value) {
var url = "url( " + qx.io.Alias.getInstance().resolve( value ) + " ), default";
this.setStyleProperty("cursor", this.__cursorMap[value] || url);
@@ -6383,51 +3427,26 @@ qx.Class.define("qx.ui.core.Widget",
}
},
+ //////////////////
+ // COMMAND SUPPORT
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- COMMAND SUPPORT
- ---------------------------------------------------------------------------
- */
-
+ // TODO [tb] : used only in listitem - remove
_applyCommand : function(value, old) {
// place holder
},
+
+ ///////////////////////////
+ // BACKGROUND IMAGE SUPPORT
-
-
-
- /*
- ---------------------------------------------------------------------------
- BACKGROUND IMAGE SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {var} TODOC
- */
- _applyBackgroundImage : function(value, old)
- {
+ _applyBackgroundImage : function(value, old) {
var imageMgr = qx.io.image.Manager.getInstance();
var aliasMgr = qx.io.Alias.getInstance();
-
if (old) {
imageMgr.hide(old);
}
-
if (value) {
imageMgr.show(value);
}
-
aliasMgr.connect(this._styleBackgroundImage, this, value);
},
@@ -6435,193 +3454,118 @@ qx.Class.define("qx.ui.core.Widget",
value ? this.setStyleProperty("backgroundImage", "url(" + value + ")") : this.removeStyleProperty("backgroundImage");
},
- _applyBackgroundRepeat : function(value, old)
- {
+ _applyBackgroundRepeat : function(value, old) {
value ? this.setStyleProperty("backgroundRepeat", value) : this.removeStyleProperty("backgroundRepeat");
},
+ ///////////////////
+ // CLIPPING SUPPORT
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- CLIPPING SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {var} TODOC
- */
_applyClip : function(value, old) {
return this._compileClipString();
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- _compileClipString : function()
- {
+ _compileClipString : function() {
var vLeft = this.getClipLeft();
var vTop = this.getClipTop();
var vWidth = this.getClipWidth();
var vHeight = this.getClipHeight();
-
var vRight, vBottom;
-
- if (vLeft == null)
- {
+ if (vLeft == null) {
vRight = (vWidth == null ? "auto" : vWidth + "px");
vLeft = "auto";
- }
- else
- {
+ } else {
vRight = (vWidth == null ? "auto" : vLeft + vWidth + "px");
vLeft = vLeft + "px";
}
-
- if (vTop == null)
- {
+ if (vTop == null) {
vBottom = (vHeight == null ? "auto" : vHeight + "px");
vTop = "auto";
- }
- else
- {
+ } else {
vBottom = (vHeight == null ? "auto" : vTop + vHeight + "px");
vTop = vTop + "px";
}
-
return this.setStyleProperty("clip", ("rect(" + vTop + "," + vRight + "," + vBottom + "," + vLeft + ")"));
},
+ ///////////////////
+ // OVERFLOW SUPPORT
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- OVERFLOW SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @param value {var} Current value
- * @param old {var} Previous value
- * @return {void}
- * @signature function(value, old)
- */
- _applyOverflow : qx.core.Variant.select("qx.client",
- {
- "default" : function(value, old)
- {
+ _applyOverflow : qx.core.Variant.select("qx.client", {
+ "default" : function(value, old) {
// Mshtml and WebKit conform to CSS3 Spec. Eventually there will be multiple
// browsers which support these new overflowX overflowY properties.
var pv = value;
var pn = "overflow";
-
- switch(value)
- {
+ switch(value) {
case "scrollX":
pn = "overflowX";
pv = "scroll";
- break;
-
+ break;
case "scrollY":
pn = "overflowY";
pv = "scroll";
- break;
+ break;
}
-
// Clear up concurrenting rules
var a = [ "overflow", "overflowX", "overflowY" ];
-
- for (var i=0; i<a.length; i++)
- {
+ for (var i=0; i<a.length; i++) {
if (a[i] != pn) {
this.removeStyleProperty(a[i]);
}
}
-
- switch(value)
- {
+ switch(value) {
case "scrollX":
this.setStyleProperty("overflowY", "hidden");
- break;
-
+ break;
case "scrollY":
this.setStyleProperty("overflowX", "hidden");
- break;
+ break;
}
-
this._renderOverflow(pn, pv, value, old);
this.addToQueue("overflow");
},
-
- "gecko" : function(value, old)
- {
+ "gecko" : function(value, old) {
var pv = value;
var pn = "overflow";
-
- switch(pv)
- {
+ switch(pv) {
case "hidden":
pv = "-moz-scrollbars-none";
- break;
-
+ break;
case "scrollX":
pv = "-moz-scrollbars-horizontal";
- break;
-
+ break;
case "scrollY":
pv = "-moz-scrollbars-vertical";
- break;
+ break;
}
-
this._renderOverflow(pn, pv, value, old);
this.addToQueue("overflow");
},
-
- "opera" : function(value, old)
- {
+ "opera" : function(value, old) {
// Opera/Khtml Mode...
// hopefully somewhat of this is supported in the near future.
// overflow-x and overflow-y are also not supported by Opera 9.0 Beta1
// and also not if we switch to IE emulation mode
var pv = value;
var pn = "overflow";
-
if( org.eclipse.rwt.Client.getVersion() < 9.8 ) {
switch( pv ) {
case "scrollX":
case "scrollY":
pv = "scroll";
- break;
+ break;
}
} else {
switch( pv ) {
case "scrollX":
pn = "overflowX";
pv = "scroll";
- break;
+ break;
case "scrollY":
pn = "overflowY";
pv = "scroll";
- break;
+ break;
}
// Clear up concurrenting rules
var a = [ "overflow", "overflowX", "overflowY" ];
@@ -6639,70 +3583,31 @@ qx.Class.define("qx.ui.core.Widget",
break;
}
}
-
this._renderOverflow(pn, pv, value, old);
this.addToQueue("overflow");
}
- }),
-
+ } ),
- /**
- * TODOC
- *
- * @type member
- * @param pn {var} TODOC
- * @param pv {var} TODOC
- * @param value {var} Current value
- * @param old {var} Previous value
- */
- _renderOverflow : function(pn, pv, value, old)
- {
+ _renderOverflow : function(pn, pv, value, old) {
// Apply Style
this.setStyleProperty(pn, pv || "");
-
// Invalidate Frame
this._invalidateFrameWidth();
this._invalidateFrameHeight();
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getOverflowX : function()
- {
+ getOverflowX : function() {
var vOverflow = this.getOverflow();
return vOverflow == "scrollY" ? "hidden" : vOverflow;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getOverflowY : function()
- {
+ getOverflowY : function() {
var vOverflow = this.getOverflow();
return vOverflow == "scrollX" ? "hidden" : vOverflow;
},
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- BACKGROUND COLOR SUPPORT
- ---------------------------------------------------------------------------
- */
+ /////////////////////////
+ // FONT AND COLOR SUPPORT
_applyBackgroundColor : function(value, old) {
qx.theme.manager.Color.getInstance().connect(this._styleBackgroundColor, this, value);
@@ -6712,181 +3617,112 @@ qx.Class.define("qx.ui.core.Widget",
value ? this.setStyleProperty("backgroundColor", value) : this.removeStyleProperty("backgroundColor");
},
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- TEXT COLOR SUPPORT
- ---------------------------------------------------------------------------
- */
-
_applyTextColor : function(value, old) {
// place holder
},
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- FONT SUPPORT
- ---------------------------------------------------------------------------
- */
-
_applyFont : function(value, old) {
// place holder
},
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- BORDER SUPPORT
- ---------------------------------------------------------------------------
- */
+ /////////////////
+ // BORDER SUPPORT
_cachedBorderTop : 0,
_cachedBorderRight : 0,
_cachedBorderBottom : 0,
_cachedBorderLeft : 0,
-
- /** apply routine for property {@link #border} */
_applyBorder : function(value, old) {
qx.theme.manager.Border.getInstance().connect(this._queueBorder, this, value);
},
-
/** translates edges to (queue) jobs */
- __borderJobs :
- {
+ __borderJobs : {
top : "borderTop",
right : "borderRight",
bottom : "borderBottom",
left : "borderLeft"
},
-
/**
* Callback for border manager connection
- *
- * @param value {qx.ui.core.Border} the border object
- * @param edge {String} top, right, bottom or left
*/
- _queueBorder : function(value, edge)
- {
- if (!edge)
- {
+ _queueBorder : function(value, edge) {
+ if (!edge) {
var jobs = this.__borderJobs;
for (var entry in jobs) {
this.addToQueue(jobs[entry]);
}
-
this.__reflowBorderX(value);
this.__reflowBorderY(value);
- }
- else
- {
+ } else {
if (edge === "left" || edge === "right") {
this.__reflowBorderX(value);
} else {
this.__reflowBorderY(value);
}
-
this.addToQueue(this.__borderJobs[edge]);
}
-
this.__borderObject = value;
},
-
/**
* Invalidates the cached frame on y-axis when border changes occour
*/
- __reflowBorderX : function(value)
- {
+ __reflowBorderX : function(value) {
var oldLeftWidth = this._cachedBorderLeft;
var oldRightWidth = this._cachedBorderRight;
-
this._cachedBorderLeft = value ? value.getWidthLeft() : 0;
this._cachedBorderRight = value ? value.getWidthRight() : 0;
-
if ((oldLeftWidth + oldRightWidth) != (this._cachedBorderLeft + this._cachedBorderRight)) {
this._invalidateFrameWidth();
}
},
-
/**
* Invalidates the cached frame on y-axis when border changes occour
*/
- __reflowBorderY : function(value)
- {
+ __reflowBorderY : function(value) {
var oldTopWidth = this._cachedBorderTop;
var oldBottomWidth = this._cachedBorderBottom;
-
this._cachedBorderTop = value ? value.getWidthTop() : 0;
this._cachedBorderBottom = value ? value.getWidthBottom() : 0;
-
if ((oldTopWidth + oldBottomWidth) != (this._cachedBorderTop + this._cachedBorderBottom)) {
this._invalidateFrameHeight();
}
},
-
/**
* Renders border object to widget.
* Callback from layout queue
- *
- * @internal
*/
- renderBorder : function(changes)
- {
+ renderBorder : function(changes) {
var value = this.__borderObject;
-
- if (value)
- {
+ if (value) {
if (changes.borderTop) {
value.renderTop(this);
}
-
if (changes.borderRight) {
value.renderRight(this);
}
-
if (changes.borderBottom) {
value.renderBottom(this);
}
-
if (changes.borderLeft) {
value.renderLeft(this);
}
- }
- else
- {
+ } else {
var border = qx.ui.core.Border;
-
if (changes.borderTop) {
border.resetTop(this);
}
-
if (changes.borderRight) {
border.resetRight(this);
}
-
if (changes.borderBottom) {
border.resetBottom(this);
}
-
if (changes.borderLeft) {
border.resetLeft(this);
}
@@ -6900,149 +3736,91 @@ qx.Class.define("qx.ui.core.Widget",
return this.__borderObject && this.__borderObject.__complexTop;
},
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @internal
- * @signature function()
- */
- prepareEnhancedBorder : qx.core.Variant.select("qx.client",
- {
- "gecko" : qx.lang.Function.returnTrue,
-
- "default" : function()
- {
- var elem = this.getElement();
- var cl = this._borderElement = document.createElement("div");
-
- var es = elem.style;
- var cs = this._innerStyle = cl.style;
-
- // MSHTML syncs dimensions to the inner element when using
- // renderRuntime* methods. This is because percent definitions
- // slow down the rendering process and especially badly
- // influence the dynamic updates to style sheets.
- if (qx.core.Variant.isSet("qx.client", "mshtml")) {}
- else {
- cs.width = cs.height = "100%";
- }
-
- cs.position = "absolute";
-
- for (var i in this._styleProperties)
- {
- switch(i)
- {
- case "zIndex":
- case "filter":
- case "display":
- break;
-
- default:
- cs[i] = this._styleProperties[i];
- es[i] = "";
- }
- }
-
- // [if] Fix for bug
- // 279800: Some focused widgets look strange in webkit
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=279800
- if( qx.core.Variant.isSet( "qx.client", "webkit" ) ) {
- es.outline = "none";
- }
-
- for (var i in this._htmlProperties)
- {
- switch(i)
- {
- case "unselectable":
- cl.unselectable = this._htmlProperties[i];
- }
+ prepareEnhancedBorder : function() {
+ var elem = this.getElement();
+ var targetNode = this._borderElement = document.createElement( "div" );
+ var es = elem.style;
+ var cs = this._innerStyle = targetNode.style;
+ if( !qx.core.Variant.isSet( "qx.client", "mshtml" ) ) {
+ cs.width = cs.height = "100%";
+ }
+ cs.position = "absolute";
+ for( var i in this._styleProperties ) {
+ switch( i ) {
+ case "zIndex":
+ case "filter":
+ case "opacity":
+ case "MozOpacity":
+ case "display":
+ case "cursor":
+ break;
+ default:
+ cs[i] = this._styleProperties[i];
+ es[i] = "";
}
-
- // Move existing children
- while (elem.firstChild) {
- cl.appendChild(elem.firstChild);
+ }
+ // [if] Fix for bug 279800: Some focused widgets look strange in webkit
+ es.outline = "none";
+ // The next line is needed for clipping in IE. Overflow is an
+ // "outerStyle" property, so this this css-value will never be set or
+ // reset. Therefore, this widget also no longer has the ability to
+ // show overflow:
+ es.overflow = "hidden";
+ for( var i in this._htmlProperties ) {
+ switch( i ) {
+ case "unselectable":
+ targetNode.unselectable = this._htmlProperties[ i ];
}
-
- elem.appendChild(cl);
}
- }),
-
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- PADDING SUPPORT
- ---------------------------------------------------------------------------
- */
+ while( elem.firstChild ) {
+ targetNode.appendChild( elem.firstChild );
+ }
+ elem.appendChild( targetNode );
+ if( this.isInDom() ) {
+ // TODO [tb] : check if this works for ProgressBar
+ this._afterRemoveDom();
+ this._afterInsertDom();
+ }
+ },
+ //////////////////
+ // PADDING SUPPORT
- /** apply routine for property {@link #paddingTop} */
- _applyPaddingTop : function(value, old)
- {
+ _applyPaddingTop : function(value, old) {
this.addToQueue("paddingTop");
this._invalidateFrameHeight();
},
-
- /** apply routine for property {@link #paddingRight} */
- _applyPaddingRight : function(value, old)
- {
+ _applyPaddingRight : function(value, old) {
this.addToQueue("paddingRight");
this._invalidateFrameWidth();
},
-
- /** apply routine for property {@link #paddingBottom} */
- _applyPaddingBottom : function(value, old)
- {
+ _applyPaddingBottom : function(value, old) {
this.addToQueue("paddingBottom");
this._invalidateFrameHeight();
},
-
- /** apply routine for property {@link #paddingLeft} */
- _applyPaddingLeft : function(value, old)
- {
+ _applyPaddingLeft : function(value, old) {
this.addToQueue("paddingLeft");
this._invalidateFrameWidth();
},
-
/**
* Renders padding to widget
* Callback from layout queue
- *
- * @internal
*/
renderPadding : function(changes) {
// empty
},
+ /////////////////
+ // MARGIN SUPPORT
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- MARGIN SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /** apply routine for property {@link #marginLeft} */
_applyMarginLeft : function(value, old) {
this.addToQueue("marginLeft");
},
- /** apply routine for property {@link #marginRight} */
_applyMarginRight : function(value, old) {
this.addToQueue("marginRight");
},
@@ -7055,230 +3833,88 @@ qx.Class.define("qx.ui.core.Widget",
this.addToQueue("marginBottom");
},
+ //////////////////
+ // COMMAND SUPPORT
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- COMMAND SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- */
- execute : function()
- {
+ execute : function() {
var cmd = this.getCommand();
-
if (cmd) {
cmd.execute(this);
}
-
- this.createDispatchEvent("execute");
+ this.createDispatchEvent( "execute" );
},
+ ///////////////////////////////
+ // DOM: OFFSET & SCROLL SUPPORT
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- DOM: OFFSET & SCROLL SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- * @return {void}
- * @throws TODOC
- */
- _visualPropertyCheck : function()
- {
+ _visualPropertyCheck : function() {
if (!this.isCreated()) {
throw new Error(this.classname + ": Element must be created previously!");
}
},
-
- /**
- * TODOC
- *
- * @type member
- * @param nScrollLeft {Number} TODOC
- * @return {void}
- */
- setScrollLeft : function(nScrollLeft)
- {
+ setScrollLeft : function(nScrollLeft) {
this._visualPropertyCheck();
this._getTargetNode().scrollLeft = nScrollLeft;
},
-
- /**
- * TODOC
- *
- * @type member
- * @param nScrollTop {Number} TODOC
- * @return {void}
- */
- setScrollTop : function(nScrollTop)
- {
+ setScrollTop : function(nScrollTop) {
this._visualPropertyCheck();
this._getTargetNode().scrollTop = nScrollTop;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getOffsetLeft : function()
- {
+ getOffsetLeft : function() {
this._visualPropertyCheck();
return qx.html.Offset.getLeft(this.getElement());
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getOffsetTop : function()
- {
+ getOffsetTop : function() {
this._visualPropertyCheck();
return qx.html.Offset.getTop(this.getElement());
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getScrollLeft : function()
- {
+ getScrollLeft : function() {
this._visualPropertyCheck();
return this._getTargetNode().scrollLeft;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getScrollTop : function()
- {
+ getScrollTop : function() {
this._visualPropertyCheck();
return this._getTargetNode().scrollTop;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getClientWidth : function()
- {
+ getClientWidth : function() {
this._visualPropertyCheck();
return this._getTargetNode().clientWidth;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getClientHeight : function()
- {
+ getClientHeight : function() {
this._visualPropertyCheck();
return this._getTargetNode().clientHeight;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getOffsetWidth : function()
- {
+ getOffsetWidth : function() {
this._visualPropertyCheck();
return this.getElement().offsetWidth;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getOffsetHeight : function()
- {
+ getOffsetHeight : function() {
this._visualPropertyCheck();
return this.getElement().offsetHeight;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getScrollWidth : function()
- {
+ getScrollWidth : function() {
this._visualPropertyCheck();
return this._getTargetNode().scrollWidth;
},
-
- /**
- * TODOC
- *
- * @type member
- * @return {var} TODOC
- */
- getScrollHeight : function()
- {
+ getScrollHeight : function() {
this._visualPropertyCheck();
return this._getTargetNode().scrollHeight;
},
-
-
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- DOM: SCROLL INTO VIEW SUPPORT
- ---------------------------------------------------------------------------
- */
+ ////////////////////////////////
+ // DOM: SCROLL INTO VIEW SUPPORT
/**
* Scroll the widget into the view.
@@ -7289,85 +3925,28 @@ qx.Class.define("qx.ui.core.Widget",
* @type member
* @param alignTopLeft {Boolean} Set the alignment. "True" means top left align, "False" means bottom right.
*/
- scrollIntoView : function(alignTopLeft)
- {
+ scrollIntoView : function(alignTopLeft) {
this.scrollIntoViewX(alignTopLeft);
this.scrollIntoViewY(alignTopLeft);
},
-
- /**
- * Scroll the widget horizontally into the view.
- *
- * This function works on DOM level and needs the widget to be already rendered.
- * This is true for example in the "appear" event handler of a widget.
- *
- * @type member
- * @param alignLeft {Boolean} whether the element should be left aligned
- * @return {Boolean} Whether the element could be scrolled into the view
- */
- scrollIntoViewX : function(alignLeft)
- {
+ scrollIntoViewX : function(alignLeft) {
if (!this._isCreated || !this._isDisplayable) {
return false;
}
-
return qx.html.ScrollIntoView.scrollX(this.getElement(), alignLeft);
},
-
- /**
- * Scroll the widget vertically into the view.
- *
- * This function works on DOM level and needs the widget to be already rendered.
- * This is true for example in the "appear" event handler of a widget.
-
- * @type member
- * @param alignTop {Boolean} whether the element should be top aligned
- * @return {Boolean} Whether the element could be scrolled into the view
- */
- scrollIntoViewY : function(alignTop)
- {
+ scrollIntoViewY : function(alignTop) {
if (!this._isCreated || !this._isDisplayable) {
return false;
}
-
return qx.html.ScrollIntoView.scrollY(this.getElement(), alignTop);
},
+ ////////////////////////
+ // DRAG AND DROP SUPPORT
-
-
-
-
- /*
- ---------------------------------------------------------------------------
- DRAG AND DROP SUPPORT
- ---------------------------------------------------------------------------
- */
-
- /**
- * TODOC
- *
- * @type member
- *
- * @param dragCache {var}
- * An object describing the event, containing at least these members:
- * <ul>
- * <li>startScreenX</li>
- * <li>startScreenY</li>
- * <li>pageX</li>
- * <li>pageY</li>
- * <li>sourceWidget</li>
- * <li>sourceTopLevel</li>
- * <li>dragHandlerActive</li>
- * <li>hasFiredDragStart</li>
- * </ul>
- *
- * @return {Boolean}
- * <i>true</i> if the widget can accept this drop operation;
- * <i>false</i> otherwise.
- */
supportsDrop : function(dragCache) {
// Is there a user-supplied supportsDropMethod?
var supportsDropMethod = this.getSupportsDropMethod();
@@ -7375,41 +3954,24 @@ qx.Class.define("qx.ui.core.Widget",
// Yup. Let it determine whether a drop is allowed.
return supportsDropMethod.call(this, dragCache);
}
-
// Default behavior is to allow drop only if not dropping onto self
return (this != dragCache.sourceWidget);
}
},
-
-
-
- /*
- *****************************************************************************
- SETTINGS
- *****************************************************************************
- */
+ ///////////
+ // SETTINGS
settings : {
"qx.widgetQueueDebugging" : false,
"qx.widgetDebugId" : false // true: auto-generate HTML id's
},
+ ////////
+ // DEFER
-
-
-
-
- /*
- *****************************************************************************
- DEFER
- *****************************************************************************
- */
-
- defer : function(statics, members)
- {
+ defer : function(statics, members) {
statics.__initApplyMethods(members);
-
// In MSHTML we rewrite these runtime setters to improve the
// performance when using enhanced borders (2px complex borders)
// The problem are percentage width used by other browsers, too, to
@@ -7418,49 +3980,35 @@ qx.Class.define("qx.ui.core.Widget",
// calculate the inner size in IE. This is faster than the old
// much simpler solution with applying 100% width and height
// See also bug http://bugzilla.qooxdoo.org/show_bug.cgi?id=487
-
// See also: global cursor handling in ClientDocument
-
// Regarding innerStyle:
// Enhanced border are always 2px width, we need
// to substract the two border pixels assigned to
// the outer element from the outer width to get
// the inner width
- if (qx.core.Variant.isSet("qx.client", "mshtml"))
- {
- members._renderRuntimeWidth = function(v)
- {
+ if (qx.core.Variant.isSet("qx.client", "mshtml")) {
+ members._renderRuntimeWidth = function(v) {
this._style.pixelWidth = (v==null)?0:v;
-
if (this._innerStyle) {
var innerValue = this._usesComplexBorder && v != null ? v - 2 : v;
this._innerStyle.pixelWidth = innerValue == null ? 0 : innerValue;
}
};
-
- members._renderRuntimeHeight = function(v)
- {
+ members._renderRuntimeHeight = function(v) {
this._style.pixelHeight = (v==null)?0:v;
-
if (this._innerStyle) {
var innerValue = this._usesComplexBorder && v != null ? v - 2 : v;
this._innerStyle.pixelHeight = innerValue == null ? 0 : innerValue;
}
};
-
- members._resetRuntimeWidth = function()
- {
+ members._resetRuntimeWidth = function() {
this._style.width = "";
-
if (this._innerStyle) {
this._innerStyle.width = "";
}
};
-
- members._resetRuntimeHeight = function()
- {
+ members._resetRuntimeHeight = function() {
this._style.height = "";
-
if (this._innerStyle) {
this._innerStyle.height = "";
}
@@ -7469,29 +4017,17 @@ qx.Class.define("qx.ui.core.Widget",
statics.__initLayoutProperties(statics);
},
+ /////////////
+ // DESTRUCTOR
-
-
-
-
-
- /*
- *****************************************************************************
- DESTRUCTOR
- *****************************************************************************
- */
-
- destruct : function()
- {
+ destruct : function() {
var elem = this.getElement();
-
if (elem) {
elem.qx_Widget = null;
}
-
this._disposeFields("_isCreated", "_inlineEvents", "_element", "_style",
"_borderElement", "_innerStyle", "_oldParent", "_styleProperties",
"_htmlProperties", "_htmlAttributes", "__states", "_jobQueue",
"_layoutChanges", "__borderObject");
}
-});
+} ); \ No newline at end of file
diff --git a/bundles/org.eclipse.rap.rwt.q07/resources/client.js b/bundles/org.eclipse.rap.rwt.q07/resources/client.js
index cfe36a6014..917872a1f9 100644
--- a/bundles/org.eclipse.rap.rwt.q07/resources/client.js
+++ b/bundles/org.eclipse.rap.rwt.q07/resources/client.js
@@ -1,220 +1,220 @@
(function($){if(typeof qxsettings===$[8]){qxsettings={};qxsettings["qx.theme"]="org.eclipse.swt.theme.Default";qxvariants={};qxvariants[$[7]]="off"};
qx={Class:{createNamespace:function(d,c){var g=d.split(".");var f=window;var b=g[0];for(var e=0,a=g.length-1;e<a;e++,b=g[e]){if(!f[b]){f=f[b]={}}else{f=f[b]}}f[b]=c;return b},define:function(b,a){if(!a){var a={statics:{}}}this.createNamespace(b,a.statics);if(a.defer){a.defer(a.statics)}qx.core.Bootstrap.__registry[b]=a.statics}}};qx.Class.define("qx.core.Bootstrap",{statics:{LOADSTART:new Date,time:function(){return new Date().getTime()},since:function(){return this.time()-this.LOADSTART},__registry:{}}});
qx.Class.define("qx.lang.Core");if(!Error.prototype.toString||Error.prototype.toString()=="[object Error]"){Error.prototype.toString=function(){return this.message}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(a,c){if(c==null){c=0}else{if(c<0){c=Math.max(0,this.length+c)}}for(var b=c;b<this.length;b++){if(this[b]===a){return b}}return -1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(a,c){if(c==null){c=this.length-1}else{if(c<0){c=Math.max(0,this.length+c)}}for(var b=c;b>=0;b--){if(this[b]===a){return b}}return -1}}if(!Array.prototype.forEach){Array.prototype.forEach=function(d,c){var a=this.length;for(var b=0;b<a;b++){d.call(c,this[b],b,this)}}}if(!Array.prototype.filter){Array.prototype.filter=function(e,d){var a=this.length;var c=[];for(var b=0;b<a;b++){if(e.call(d,this[b],b,this)){c.push(this[b])}}return c}}if(!Array.prototype.map){Array.prototype.map=function(e,d){var a=this.length;var c=[];for(var b=0;b<a;b++){c.push(e.call(d,this[b],b,this))}return c}}if(!Array.prototype.some){Array.prototype.some=function(d,c){var a=this.length;for(var b=0;b<a;b++){if(d.call(c,this[b],b,this)){return true}}return false}}if(!Array.prototype.every){Array.prototype.every=function(d,c){var a=this.length;for(var b=0;b<a;b++){if(!d.call(c,this[b],b,this)){return false}}return true}}if(!String.prototype.quote){String.prototype.quote=function(){return'"'+this.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"'}};
-qx.Class.define("qx.core.Setting",{statics:{__settings:{},define:function(b,a){if(a===undefined){throw new Error('Default value of setting "'+b+$[343])}if(!this.__settings[b]){this.__settings[b]={}}else{if(this.__settings[b].defaultValue!==undefined){throw new Error('Setting "'+b+$[419])}}this.__settings[b].defaultValue=a},get:function(b){var a=this.__settings[b];if(a===undefined){throw new Error('Setting "'+b+$[443])}if(a.value!==undefined){return a.value}return a.defaultValue},isSet:function(a){return this.__settings[a]!==undefined},__init:function(){if(window.qxsettings){for(var b in qxsettings){if((b.split(".")).length<2){throw new Error($[442]+b+$[496])}if(!this.__settings[b]){this.__settings[b]={}}this.__settings[b].value=qxsettings[b]}window.qxsettings=undefined;try{delete window.qxsettings}catch(a){}this.__loadUrlSettings()}},__loadUrlSettings:function(){if(this.get($[524])!=true){return}var d=document.location.search.slice(1).split("&");for(var b=0;b<d.length;b++){var c=d[b].split(":");if(c.length!=3||c[0]!="qxsetting"){continue}var a=c[1];if(!this.__settings[a]){this.__settings[a]={}}this.__settings[a].value=decodeURIComponent(c[2])}}},defer:function(a){a.define($[524],false);a.define($[526],false);a.define($[554],"./resource");a.define($[520],true);a.__init()}});
+qx.Class.define("qx.core.Setting",{statics:{__settings:{},define:function(b,a){if(a===undefined){throw new Error('Default value of setting "'+b+$[341])}if(!this.__settings[b]){this.__settings[b]={}}else{if(this.__settings[b].defaultValue!==undefined){throw new Error('Setting "'+b+$[418])}}this.__settings[b].defaultValue=a},get:function(b){var a=this.__settings[b];if(a===undefined){throw new Error('Setting "'+b+$[442])}if(a.value!==undefined){return a.value}return a.defaultValue},isSet:function(a){return this.__settings[a]!==undefined},__init:function(){if(window.qxsettings){for(var b in qxsettings){if((b.split(".")).length<2){throw new Error($[441]+b+$[494])}if(!this.__settings[b]){this.__settings[b]={}}this.__settings[b].value=qxsettings[b]}window.qxsettings=undefined;try{delete window.qxsettings}catch(a){}this.__loadUrlSettings()}},__loadUrlSettings:function(){if(this.get($[522])!=true){return}var d=document.location.search.slice(1).split("&");for(var b=0;b<d.length;b++){var c=d[b].split(":");if(c.length!=3||c[0]!="qxsetting"){continue}var a=c[1];if(!this.__settings[a]){this.__settings[a]={}}this.__settings[a].value=decodeURIComponent(c[2])}}},defer:function(a){a.define($[522],false);a.define($[524],false);a.define($[552],"./resource");a.define($[518],true);a.__init()}});
qx.Class.define("qx.lang.Array",{statics:{fromArguments:function(a){return Array.prototype.slice.call(a,0)},fromShortHand:function(c){var b=c.length;if(b>4||b==0){throw new Error("Invalid number of arguments!")}var a=qx.lang.Array.copy(c);switch(b){case 1:a[1]=a[2]=a[3]=a[0];break;case 2:a[2]=a[0];case 3:a[3]=a[1]}return a},copy:function(a){return a.concat()},getLast:function(a){return a[a.length-1]},getFirst:function(a){return a[0]},insertAt:function(a,c,b){a.splice(b,0,c);return a},removeAt:function(a,b){return a.splice(b,1)[0]},remove:function(a,c){var b=a.indexOf(c);if(b!=-1){a.splice(b,1);return c}},contains:function(a,b){return a.indexOf(b)!=-1}}});
-qx.Class.define("qx.core.Variant",{statics:{__variants:{},__cache:{},compilerIsSet:function(){return true},define:function(b,c,a){if(qx.core.Variant.compilerIsSet($[7],"on")){if(!this.__isValidArray(c)){throw new Error('Allowed values of variant "'+b+$[343])}if(a===undefined){throw new Error('Default value of variant "'+b+$[343])}}if(!this.__variants[b]){this.__variants[b]={}}else{if(qx.core.Variant.compilerIsSet($[7],"on")){if(this.__variants[b].defaultValue!==undefined){throw new Error($[384]+b+$[419])}}}this.__variants[b].allowedValues=c;this.__variants[b].defaultValue=a},get:function(a){var b=this.__variants[a];if(qx.core.Variant.compilerIsSet($[7],"on")){if(b===undefined){throw new Error($[384]+a+$[443])}}if(b.value!==undefined){return b.value}return b.defaultValue},__init:function(){if(window.qxvariants){for(var b in qxvariants){if(qx.core.Variant.compilerIsSet($[7],"on")){if((b.split(".")).length<2){throw new Error($[442]+b+$[496])}}if(!this.__variants[b]){this.__variants[b]={}}this.__variants[b].value=qxvariants[b]}window.qxvariants=undefined;try{delete window.qxvariants}catch(a){}this.__loadUrlVariants(this.__variants)}},__loadUrlVariants:function(){if(qx.core.Setting.get($[526])!=true){return}var d=document.location.search.slice(1).split("&");for(var c=0;c<d.length;c++){var b=d[c].split(":");if(b.length!=3||b[0]!="qxvariant"){continue}var a=b[1];if(!this.__variants[a]){this.__variants[a]={}}this.__variants[a].value=decodeURIComponent(b[2])}},select:function(c,a){if(qx.core.Variant.compilerIsSet($[7],"on")){if(!this.__isValidObject(this.__variants[c])){throw new Error($[384]+c+'" is not defined')}if(!this.__isValidObject(a)){throw new Error("the second parameter must be a map!")}}for(var b in a){if(this.isSet(c,b)){return a[b]}}if(a[$[36]]!==undefined){return a[$[36]]}if(qx.core.Variant.compilerIsSet($[7],"on")){throw new Error('No match for variant "'+c+'" in variants ['+qx.lang.Object.getKeysAsString(a)+'] found, and no default ("default") given')}},isSet:function(f,d){var a=f+"$"+d;if(this.__cache[a]!==undefined){return this.__cache[a]}var c=false;if(d.indexOf("|")<0){c=this.get(f)===d}else{var g=d.split("|");for(var e=0,b=g.length;e<b;e++){if(this.get(f)===g[e]){c=true;break}}}this.__cache[a]=c;return c},__isValidArray:function(a){return typeof a===$[11]&&a!==null&&a instanceof Array},__isValidObject:function(a){return typeof a===$[11]&&a!==null&&!(a instanceof Array)},__arrayContains:function(a,d){for(var c=0,b=a.length;c<b;c++){if(a[c]==d){return true}}return false}},defer:function(a){a.define($[7],["on","off"],"on");a.define($[318],["on","off"],"on");a.define("qx.eventMonitorNoListeners",["on","off"],"off");a.define("qx.aspects",["on","off"],"off");a.define("qx.deprecationWarnings",["on","off"],"on");a.__init()}});
-qx.Class.define("org.eclipse.rwt.Client",{statics:{__init:function(){this._engineName=null;this._browserName=null;this._engineVersion=null;this._engineVersionMajor=0;this._engineVersionMinor=0;this._engineVersionRevision=0;this._engineVersionBuild=0;this._browserPlatform=null;this._runsLocally=window.location.protocol==="file:";this._engineQuirksMode=document.compatMode!==$[114];this._defaultLocale="en";this._initOpera();this._initKonqueror();this._initWebkit();this._initGecko();this._initMshtml();this._initBoxSizing();this._initLocale();this._initPlatform()},getRunsLocally:function(){return this._runsLocally},getEngine:function(){return this._engineName},getBrowser:function(){return this._browserName},getVersion:function(){return this._engineVersion},getMajor:function(){return this._engineVersionMajor},getMinor:function(){return this._engineVersionMinor},getRevision:function(){return this._engineVersionRevision},getBuild:function(){return this._engineVersionBuild},isMshtml:function(){return this._engineName===$[19]},isGecko:function(){return this._engineName===$[43]},isOpera:function(){return this._engineName===$[150]},isWebkit:function(){return this._engineName===$[71]},isInQuirksMode:function(){return this._engineQuirksMode},getLocale:function(){return this._browserLocale},getLanguage:function(){var a=this.getLocale();var c;var b=a.indexOf("_");if(b==-1){c=a}else{c=a.substring(0,b)}return c},getTerritory:function(){return this.getLocale().split("_")[1]||""},getDefaultLocale:function(){return this._defaultLocale},usesDefaultLocale:function(){return this._browserLocale===this._defaultLocale},getEngineBoxSizingAttributes:function(){return this._engineBoxSizingAttributes},getPlatform:function(){return this._browserPlatform},isMobileSafari:function(){return this.getPlatform()==="ios"&&this.getBrowser()==="safari"},isAndroidBrowser:function(){return this.getPlatform()==="android"&&this.getBrowser()==="chrome"},supportsVml:function(){return(this.getEngine()===$[19])&&(this.getVersion()>=5.5)},supportsSvg:function(){var c=org.eclipse.rwt.Client.getEngine();var b=org.eclipse.rwt.Client.getVersion();var a=c===$[43]&&b>=1.8||c===$[71]&&b>=523||c===$[150]&&b>=9;if(this.isAndroidBrowser()){a=false}return a},supportsCss3:function(){var c=org.eclipse.rwt.Client.getEngine();var b=org.eclipse.rwt.Client.getVersion();var a=c===$[71]&&b>=522||c===$[43]&&b>=1.9;return a},_initOpera:function(){if(this._engineName===null){var b=window.opera&&/Opera[\s\/]([0-9\.]*)/.test(navigator.userAgent);if(b){this._browserName=$[150];this._engineName=$[150];var a=RegExp.$1;a=a.substring(0,3)+"."+a.substring(3);this._parseVersion(a)}}},_initKonqueror:function(){if(this._engineName===null){var b=navigator.vendor;var a=typeof b===$[14]&&b==="KDE"&&/KHTML\/([0-9-\.]*)/.test(navigator.userAgent);if(a){this._engineName=$[71];this._browserName="konqueror";this._parseVersion("420")}}},_initWebkit:function(){if(this._engineName===null){var d=navigator.userAgent;var a=d.indexOf("AppleWebKit")!=-1&&/AppleWebKit\/([^ ]+)/.test(d);if(a){this._engineName=$[71];var b=RegExp.$1;var c=RegExp("[^\\.0-9]").exec(b);if(c){b=b.slice(0,c.index)}this._parseVersion(b);if(d.indexOf("Chrome")!=-1){this._browserName="chrome"}else{if(d.indexOf("Safari")!=-1){if(d.indexOf("Android")!=-1){this._browserName="chrome"}else{this._browserName="safari"}}else{if(d.indexOf("OmniWeb")!=-1){this._browserName="omniweb"}else{if(d.indexOf("Shiira")!=-1){this._browserName="shiira"}else{if(d.indexOf("NetNewsWire")!=-1){this._browserName="netnewswire"}else{if(d.indexOf("RealPlayer")!=-1){this._browserName="realplayer"}else{this._browserName="other webkit"}}}}}}}}},_initGecko:function(){if(this._engineName===null){var c=navigator.product;var b=navigator.userAgent;var a=window.controllers&&typeof c===$[14]&&c==="Gecko"&&/rv\:([^\);]+)(\)|;)/.test(b);if(a){this._engineName=$[43];this._parseVersion(RegExp.$1);if(b.indexOf("Firefox")!=-1){this._browserName="firefox"}else{if(b.indexOf("Camino")!=-1){this._browserName="camino"}else{if(b.indexOf("Galeon")!=-1){this._browserName="galeon"}else{this._browserName="other gecko"}}}}}},_initMshtml:function(){if(this._engineName===null){var a=/MSIE\s+([^\);]+)(\)|;)/.test(navigator.userAgent);if(a){this._engineName=$[19];this._parseVersion(RegExp.$1);this._browserName="explorer"}}},_parseVersion:function(a){if(typeof a===$[14]){versionArr=a.split(".");this._engineVersion=parseFloat(a);this._engineVersionMajor=parseInt(versionArr[0]||0);this._engineVersionMinor=parseFloat(versionArr[1]||0);this._engineVersionRevision=parseFloat(versionArr[2]||0);this._engineVersionBuild=parseInt(versionArr[3]||0)}},_initBoxSizing:function(){var a=[];switch(this._engineName){case $[43]:a.push("-moz-box-sizing");break;case $[71]:a.push("-khtml-box-sizing");a.push("-webkit-box-sizing");break;default:a.push("box-sizing")}this._engineBoxSizingAttributes=a},_initLocale:function(){var c=this._engineName==$[19]?navigator.userLanguage:navigator.language;var b=c.toLowerCase();var a=b.indexOf("-");if(a!=-1){b=b.substr(0,a)}this._browserLocale=b},_initPlatform:function(){var a=navigator.platform;if(a.indexOf("Windows")!=-1||a.indexOf("Win32")!=-1||a.indexOf("Win64")!=-1){this._browserPlatform="win"}else{if(a.indexOf("Macintosh")!=-1||a.indexOf("MacPPC")!=-1||a.indexOf("MacIntel")!=-1){this._browserPlatform="mac"}else{if(a.indexOf("X11")!=-1||a.indexOf("Linux")!=-1||a.indexOf("BSD")!=-1){if(navigator.userAgent.indexOf("Android")!=-1){this._browserPlatform="android"}else{this._browserPlatform="unix"}}else{if(a.indexOf("iPhone")!=-1||a.indexOf("iPod")!=-1||a.indexOf("iPad")!=-1){this._browserPlatform="ios"}else{this._browserPlatform="other"}}}}}},defer:function(c,a,b){c.__init();qx.core.Variant.define($[0],[$[43],$[19],$[150],$[71]],org.eclipse.rwt.Client.getEngine())}});
+qx.Class.define("qx.core.Variant",{statics:{__variants:{},__cache:{},compilerIsSet:function(){return true},define:function(b,c,a){if(qx.core.Variant.compilerIsSet($[7],"on")){if(!this.__isValidArray(c)){throw new Error('Allowed values of variant "'+b+$[341])}if(a===undefined){throw new Error('Default value of variant "'+b+$[341])}}if(!this.__variants[b]){this.__variants[b]={}}else{if(qx.core.Variant.compilerIsSet($[7],"on")){if(this.__variants[b].defaultValue!==undefined){throw new Error($[382]+b+$[418])}}}this.__variants[b].allowedValues=c;this.__variants[b].defaultValue=a},get:function(a){var b=this.__variants[a];if(qx.core.Variant.compilerIsSet($[7],"on")){if(b===undefined){throw new Error($[382]+a+$[442])}}if(b.value!==undefined){return b.value}return b.defaultValue},__init:function(){if(window.qxvariants){for(var b in qxvariants){if(qx.core.Variant.compilerIsSet($[7],"on")){if((b.split(".")).length<2){throw new Error($[441]+b+$[494])}}if(!this.__variants[b]){this.__variants[b]={}}this.__variants[b].value=qxvariants[b]}window.qxvariants=undefined;try{delete window.qxvariants}catch(a){}this.__loadUrlVariants(this.__variants)}},__loadUrlVariants:function(){if(qx.core.Setting.get($[524])!=true){return}var d=document.location.search.slice(1).split("&");for(var c=0;c<d.length;c++){var b=d[c].split(":");if(b.length!=3||b[0]!="qxvariant"){continue}var a=b[1];if(!this.__variants[a]){this.__variants[a]={}}this.__variants[a].value=decodeURIComponent(b[2])}},select:function(c,a){if(qx.core.Variant.compilerIsSet($[7],"on")){if(!this.__isValidObject(this.__variants[c])){throw new Error($[382]+c+'" is not defined')}if(!this.__isValidObject(a)){throw new Error("the second parameter must be a map!")}}for(var b in a){if(this.isSet(c,b)){return a[b]}}if(a[$[36]]!==undefined){return a[$[36]]}if(qx.core.Variant.compilerIsSet($[7],"on")){throw new Error('No match for variant "'+c+'" in variants ['+qx.lang.Object.getKeysAsString(a)+'] found, and no default ("default") given')}},isSet:function(f,d){var a=f+"$"+d;if(this.__cache[a]!==undefined){return this.__cache[a]}var c=false;if(d.indexOf("|")<0){c=this.get(f)===d}else{var g=d.split("|");for(var e=0,b=g.length;e<b;e++){if(this.get(f)===g[e]){c=true;break}}}this.__cache[a]=c;return c},__isValidArray:function(a){return typeof a===$[11]&&a!==null&&a instanceof Array},__isValidObject:function(a){return typeof a===$[11]&&a!==null&&!(a instanceof Array)},__arrayContains:function(a,d){for(var c=0,b=a.length;c<b;c++){if(a[c]==d){return true}}return false}},defer:function(a){a.define($[7],["on","off"],"on");a.define($[318],["on","off"],"on");a.define("qx.eventMonitorNoListeners",["on","off"],"off");a.define("qx.aspects",["on","off"],"off");a.define("qx.deprecationWarnings",["on","off"],"on");a.__init()}});
+qx.Class.define("org.eclipse.rwt.Client",{statics:{__init:function(){this._engineName=null;this._browserName=null;this._engineVersion=null;this._engineVersionMajor=0;this._engineVersionMinor=0;this._engineVersionRevision=0;this._engineVersionBuild=0;this._browserPlatform=null;this._runsLocally=window.location.protocol==="file:";this._engineQuirksMode=document.compatMode!==$[114];this._defaultLocale="en";this._initOpera();this._initKonqueror();this._initWebkit();this._initGecko();this._initMshtml();this._initBoxSizing();this._initLocale();this._initPlatform()},getRunsLocally:function(){return this._runsLocally},getEngine:function(){return this._engineName},getBrowser:function(){return this._browserName},getVersion:function(){return this._engineVersion},getMajor:function(){return this._engineVersionMajor},getMinor:function(){return this._engineVersionMinor},getRevision:function(){return this._engineVersionRevision},getBuild:function(){return this._engineVersionBuild},isMshtml:function(){return this._engineName===$[20]},isGecko:function(){return this._engineName===$[43]},isOpera:function(){return this._engineName===$[148]},isWebkit:function(){return this._engineName===$[76]},isInQuirksMode:function(){return this._engineQuirksMode},getLocale:function(){return this._browserLocale},getLanguage:function(){var a=this.getLocale();var c;var b=a.indexOf("_");if(b==-1){c=a}else{c=a.substring(0,b)}return c},getTerritory:function(){return this.getLocale().split("_")[1]||""},getDefaultLocale:function(){return this._defaultLocale},usesDefaultLocale:function(){return this._browserLocale===this._defaultLocale},getEngineBoxSizingAttributes:function(){return this._engineBoxSizingAttributes},getPlatform:function(){return this._browserPlatform},isMobileSafari:function(){return this.getPlatform()==="ios"&&this.getBrowser()==="safari"},isAndroidBrowser:function(){return this.getPlatform()==="android"&&this.getBrowser()==="chrome"},supportsVml:function(){return(this.getEngine()===$[20])&&(this.getVersion()>=5.5)},supportsSvg:function(){var c=org.eclipse.rwt.Client.getEngine();var b=org.eclipse.rwt.Client.getVersion();var a=c===$[43]&&b>=1.8||c===$[76]&&b>=523||c===$[148]&&b>=9;if(this.isAndroidBrowser()){a=false}return a},supportsCss3:function(){var c=org.eclipse.rwt.Client.getEngine();var b=org.eclipse.rwt.Client.getVersion();var a=c===$[76]&&b>=522||c===$[43]&&b>=1.9;return a},_initOpera:function(){if(this._engineName===null){var b=window.opera&&/Opera[\s\/]([0-9\.]*)/.test(navigator.userAgent);if(b){this._browserName=$[148];this._engineName=$[148];var a=RegExp.$1;a=a.substring(0,3)+"."+a.substring(3);this._parseVersion(a)}}},_initKonqueror:function(){if(this._engineName===null){var b=navigator.vendor;var a=typeof b===$[13]&&b==="KDE"&&/KHTML\/([0-9-\.]*)/.test(navigator.userAgent);if(a){this._engineName=$[76];this._browserName="konqueror";this._parseVersion("420")}}},_initWebkit:function(){if(this._engineName===null){var d=navigator.userAgent;var a=d.indexOf("AppleWebKit")!=-1&&/AppleWebKit\/([^ ]+)/.test(d);if(a){this._engineName=$[76];var b=RegExp.$1;var c=RegExp("[^\\.0-9]").exec(b);if(c){b=b.slice(0,c.index)}this._parseVersion(b);if(d.indexOf("Chrome")!=-1){this._browserName="chrome"}else{if(d.indexOf("Safari")!=-1){if(d.indexOf("Android")!=-1){this._browserName="chrome"}else{this._browserName="safari"}}else{if(d.indexOf("OmniWeb")!=-1){this._browserName="omniweb"}else{if(d.indexOf("Shiira")!=-1){this._browserName="shiira"}else{if(d.indexOf("NetNewsWire")!=-1){this._browserName="netnewswire"}else{if(d.indexOf("RealPlayer")!=-1){this._browserName="realplayer"}else{this._browserName="other webkit"}}}}}}}}},_initGecko:function(){if(this._engineName===null){var c=navigator.product;var b=navigator.userAgent;var a=window.controllers&&typeof c===$[13]&&c==="Gecko"&&/rv\:([^\);]+)(\)|;)/.test(b);if(a){this._engineName=$[43];this._parseVersion(RegExp.$1);if(b.indexOf("Firefox")!=-1){this._browserName="firefox"}else{if(b.indexOf("Camino")!=-1){this._browserName="camino"}else{if(b.indexOf("Galeon")!=-1){this._browserName="galeon"}else{this._browserName="other gecko"}}}}}},_initMshtml:function(){if(this._engineName===null){var a=/MSIE\s+([^\);]+)(\)|;)/.test(navigator.userAgent);if(a){this._engineName=$[20];this._parseVersion(RegExp.$1);this._browserName="explorer"}}},_parseVersion:function(a){if(typeof a===$[13]){versionArr=a.split(".");this._engineVersion=parseFloat(a);this._engineVersionMajor=parseInt(versionArr[0]||0);this._engineVersionMinor=parseFloat(versionArr[1]||0);this._engineVersionRevision=parseFloat(versionArr[2]||0);this._engineVersionBuild=parseInt(versionArr[3]||0)}},_initBoxSizing:function(){var a=[];switch(this._engineName){case $[43]:a.push("-moz-box-sizing");break;case $[76]:a.push("-khtml-box-sizing");a.push("-webkit-box-sizing");break;default:a.push("box-sizing")}this._engineBoxSizingAttributes=a},_initLocale:function(){var c=this._engineName==$[20]?navigator.userLanguage:navigator.language;var b=c.toLowerCase();var a=b.indexOf("-");if(a!=-1){b=b.substr(0,a)}this._browserLocale=b},_initPlatform:function(){var a=navigator.platform;if(a.indexOf("Windows")!=-1||a.indexOf("Win32")!=-1||a.indexOf("Win64")!=-1){this._browserPlatform="win"}else{if(a.indexOf("Macintosh")!=-1||a.indexOf("MacPPC")!=-1||a.indexOf("MacIntel")!=-1){this._browserPlatform="mac"}else{if(a.indexOf("X11")!=-1||a.indexOf("Linux")!=-1||a.indexOf("BSD")!=-1){if(navigator.userAgent.indexOf("Android")!=-1){this._browserPlatform="android"}else{this._browserPlatform="unix"}}else{if(a.indexOf("iPhone")!=-1||a.indexOf("iPod")!=-1||a.indexOf("iPad")!=-1){this._browserPlatform="ios"}else{this._browserPlatform="other"}}}}}},defer:function(c,a,b){c.__init();qx.core.Variant.define($[0],[$[43],$[20],$[148],$[76]],org.eclipse.rwt.Client.getEngine())}});
qx.Class.define("qx.lang.Object",{statics:{isEmpty:function(b){for(var a in b){return false}return true},hasMinLength:function(d,c){var b=0;for(var a in d){if((++b)>=c){return true}}return false},getLength:function(c){var b=0;for(var a in c){b++}return b},_shadowedKeys:["isPrototypeOf","hasOwnProperty","toLocaleString","toString","valueOf"],getKeys:qx.core.Variant.select($[0],{mshtml:function(g){var b=[];for(var f in g){b.push(f)}for(var e=0,d=this._shadowedKeys,c=d.length;e<c;e++){if(g.hasOwnProperty(d[e])){b.push(d[e])}}return b},"default":function(c){var a=[];for(var b in c){a.push(b)}return a}}),getKeysAsString:function(b){var a=qx.lang.Object.getKeys(b);if(a.length==0){return""}return'"'+a.join('", "')+'"'},getValues:function(c){var a=[];for(var b in c){a.push(c[b])}return a},mergeWith:function(d,c,a){if(a===undefined){a=true}for(var b in c){if(a||d[b]===undefined){d[b]=c[b]}}return d},carefullyMergeWith:function(b,a){return qx.lang.Object.mergeWith(b,a,false)},merge:function(d,b){var a=arguments.length;for(var c=1;c<a;c++){qx.lang.Object.mergeWith(d,arguments[c])}return d},copy:function(b){var c={};for(var a in b){c[a]=b[a]}return c},invert:function(c){var a={};for(var b in c){a[c[b].toString()]=b}return a},getKeyFromValue:function(c,b){for(var a in c){if(c[a]===b){return a}}return null},select:function(a,b){return b[a]},fromArray:function(d){var c={};for(var b=0,a=d.length;b<a;b++){if(qx.core.Variant.isSet($[7],"on")){switch(typeof d[b]){case $[11]:case $[45]:case $[8]:throw new Error("Could not convert complex objects like "+d[b]+" at array index "+b+" to map syntax")}}c[d[b].toString()]=true}return c}}});
-qx.Class.define("qx.Class",{statics:{define:function(d,c){if(!c){var c={}}if(c.include&&!(c.include instanceof Array)){c.include=[c.include]}if(c.implement&&!(c.implement instanceof Array)){c.implement=[c.implement]}if(!c.hasOwnProperty("extend")&&!c.type){c.type=$[129]}if(qx.core.Variant.isSet($[7],"on")){this.__validateConfig(d,c)}var b=this.__createClass(d,c.type,c.extend,c.statics,c.construct,c.destruct);if(c.extend){if(c.properties){this.__addProperties(b,c.properties,true)}if(c.members){this.__addMembers(b,c.members,true,true,false)}if(c.events){this.__addEvents(b,c.events,true)}if(c.include){for(var f=0,a=c.include.length;f<a;f++){this.__addMixin(b,c.include[f],false)}}}if(c.settings){for(var e in c.settings){qx.core.Setting.define(e,c.settings[e])}}if(c.variants){for(var e in c.variants){qx.core.Variant.define(e,c.variants[e].allowedValues,c.variants[e].defaultValue)}}if(c.defer){c.defer.self=b;c.defer(b,b.prototype,{add:function(h,g){var i={};i[h]=g;qx.Class.__addProperties(b,i,true)}})}},createNamespace:function(d,c){var g=d.split(".");var f=window;var b=g[0];for(var e=0,a=g.length-1;e<a;e++,b=g[e]){if(!f[b]){f=f[b]={}}else{f=f[b]}}if(qx.core.Variant.isSet($[7],"on")){if(f[b]!==undefined){throw new Error("An object of the name '"+d+"' already exists and overwriting is not allowed!")}}f[b]=c;return b},isDefined:function(a){return this.getByName(a)!==undefined},getTotalNumber:function(){return qx.lang.Object.getLength(this.__registry)},getByName:function(a){return this.__registry[a]},include:function(b,a){if(qx.core.Variant.isSet($[7],"on")){if(!a){throw new Error("Includes of mixins must be mixins. The mixin of class '"+b.classname+"' is undefined/null!")}qx.Mixin.isCompatible(a,b)}qx.Class.__addMixin(b,a,false)},patch:function(b,a){if(qx.core.Variant.isSet($[7],"on")){qx.Mixin.isCompatible(a,b)}qx.Class.__addMixin(b,a,true)},isSubClassOf:function(a,b){if(!a){return false}if(a==b){return true}if(a.prototype instanceof b){return true}return false},getPropertyDefinition:function(b,a){while(b){if(b.$$properties&&b.$$properties[a]){return b.$$properties[a]}b=b.superclass}return null},getByProperty:function(b,a){while(b){if(b.$$properties&&b.$$properties[a]){return b}b=b.superclass}return null},hasProperty:function(b,a){return !!this.getPropertyDefinition(b,a)},getEventType:function(b,a){var b=b.constructor;while(b.superclass){if(b.$$events&&b.$$events[a]!==undefined){return b.$$events[a]}b=b.superclass}return null},supportsEvent:function(b,a){return !!this.getEventType(b,a)},hasOwnMixin:function(b,a){return b.$$includes&&b.$$includes.indexOf(a)!==-1},getByMixin:function(c,b){var e,d,a;while(c){if(c.$$includes){e=c.$$flatIncludes;for(d=0,a=e.length;d<a;d++){if(e[d]===b){return c}}}c=c.superclass}return null},getMixins:function(a){var b=[];while(a){if(a.$$includes){b.push.apply(b,a.$$flatIncludes)}a=a.superclass}return b},hasMixin:function(b,a){return !!this.getByMixin(b,a)},hasOwnInterface:function(a,b){return a.$$implements&&a.$$implements.indexOf(b)!==-1},getByInterface:function(b,e){var d,c,a;while(b){if(b.$$implements){d=b.$$flatImplements;for(c=0,a=d.length;c<a;c++){if(d[c]===e){return b}}}b=b.superclass}return null},getInterfaces:function(a){var b=[];while(a){if(a.$$implements){b.push.apply(b,a.$$flatImplements)}a=a.superclass}return b},hasInterface:function(a,b){return !!this.getByInterface(a,b)},implementsInterface:function(a,b){return false},getInstance:function(){if(!this.$$instance){this.$$allowconstruct=true;this.$$instance=new this;delete this.$$allowconstruct}return this.$$instance},genericToString:function(){return"[Class "+this.classname+"]"},__registry:qx.core.Bootstrap.__registry,__allowedKeys:qx.core.Variant.select($[7],{on:{type:$[14],extend:$[45],implement:$[11],include:$[11],construct:$[45],statics:$[11],properties:$[11],members:$[11],settings:$[11],variants:$[11],events:$[11],defer:$[45],destruct:$[45]},"default":null}),__staticAllowedKeys:qx.core.Variant.select($[7],{on:{type:$[14],statics:$[11],settings:$[11],variants:$[11],defer:$[45]},"default":null}),__validateConfig:qx.core.Variant.select($[7],{on:function(b,c){if(c.type&&!(c.type===$[129]||c.type===$[102]||c.type===$[30])){throw new Error('Invalid type "'+c.type+'" definition for class "'+b+'"!')}var h=c.type===$[129]?this.__staticAllowedKeys:this.__allowedKeys;for(var k in c){if(!h[k]){throw new Error($[285]+k+$[123]+b+$[191])}if(c[k]==null){throw new Error($[164]+k+$[123]+b+$[391])}if(typeof c[k]!==h[k]){throw new Error($[272]+k+$[123]+b+$[286]+h[k]+'"!')}}var g=["statics","properties","members","settings","variants","events"];for(var e=0,d=g.length;e<d;e++){var k=g[e];if(c[k]!==undefined&&(c[k] instanceof Array||c[k] instanceof RegExp||c[k] instanceof Date||c[k].classname!==undefined)){throw new Error($[164]+k+$[123]+b+$[386])}}if(c.include){if(c.include instanceof Array){for(var e=0,j=c.include,d=j.length;e<d;e++){if(j[e]==null||j[e].$$type!=="Mixin"){throw new Error('The include definition in class "'+b+'" contains an invalid mixin at position '+e+": "+j[e])}}}else{throw new Error('Invalid include definition in class "'+b+'"! Only mixins and arrays of mixins are allowed!')}}if(c.implement){if(c.implement instanceof Array){for(var e=0,j=c.implement,d=j.length;e<d;e++){if(j[e]==null||j[e].$$type!=="Interface"){throw new Error('The implement definition in class "'+b+'" contains an invalid interface at position '+e+": "+j[e])}}}else{throw new Error('Invalid implement definition in class "'+b+'"! Only interfaces and arrays of interfaces are allowed!')}}if(c.include){try{qx.Mixin.checkCompatibility(c.include)}catch(f){throw new Error('Error in include definition of class "'+b+'"! '+f.message)}}if(c.variants){for(var k in c.variants){if(k.substr(0,k.indexOf("."))!=b.substr(0,b.indexOf("."))){throw new Error('Forbidden variant "'+k+'" found in "'+b+'". It is forbidden to define a variant for an external namespace!')}}}},"default":function(){}}),__createClass:function(c,n,k,p,r,e){var j;if(!k){j=p||{}}else{j={};if(k){if(!r){r=this.__createDefaultConstructor()}j=this.__wrapConstructor(r,c,n)}if(p){var q;for(var g=0,o=qx.lang.Object.getKeys(p),f=o.length;g<f;g++){q=o[g];j[q]=p[q]}}}var m=this.createNamespace(c,j,false);j.name=j.classname=c;j.basename=m;if(!j.hasOwnProperty("toString")){j.toString=this.genericToString}if(k){var b=k.prototype;var d=this.__createEmptyFunction();d.prototype=b;var h=new d;j.prototype=h;h.name=h.classname=c;h.basename=m;r.base=j.superclass=k;r.self=j.constructor=h.constructor=j;if(e){j.$$destructor=e}}if(qx.core.Variant.isSet($[318],"on")){qx.Clazz=j;qx.Proto=h||null;qx.Super=k||null}this.__registry[c]=j;return j},__addEvents:function(a,c,d){if(qx.core.Variant.isSet($[7],"on")){if(!qx.core.Target){throw new Error(a.classname+": the class 'qx.core.Target' must be availabe to use events!")}if(typeof c!==$[11]||c instanceof Array){throw new Error(a.classname+": the events must be defined as map!")}for(var b in c){if(typeof c[b]!==$[14]){throw new Error(a.classname+"/"+b+": the event value needs to be a string with the class name of the event object which will be fired.")}}if(a.$$events&&d!==true){for(var b in c){if(a.$$events[b]!==undefined&&a.$$events[b]!==c[b]){throw new Error(a.classname+"/"+b+": the event value/type cannot be changed from "+a.$$events[b]+" to "+c[b])}}}}if(a.$$events){for(var b in c){a.$$events[b]=c[b]}}else{a.$$events=c}},__addProperties:function(d,e,g){var c;if(g===undefined){g=false}var a=!!d.$$propertiesAttached;for(var b in e){c=e[b];if(qx.core.Variant.isSet($[7],"on")){this.__validateProperty(d,b,c,g)}c.name=b;if(!c.refine){if(d.$$properties===undefined){d.$$properties={}}d.$$properties[b]=c}if(c.init!==undefined){d.prototype["__init$"+b]=c.init}if(c.event!==undefined){var f={};f[c.event]=$[359];this.__addEvents(d,f,g)}if(c.inheritable){qx.core.Property.$$inheritable[b]=true}if(a){qx.core.Property.attachMethods(d,b,c)}if(c._fast){qx.core.LegacyProperty.addFastProperty(c,d.prototype)}else{if(c._cached){qx.core.LegacyProperty.addCachedProperty(c,d.prototype)}else{if(c._legacy){qx.core.LegacyProperty.addProperty(c,d.prototype)}}}}},__validateProperty:qx.core.Variant.select($[7],{on:function(d,a,c,b){var g=this.hasProperty(d,a);var h=c._legacy||c._fast||c._cached;if(g){var i=this.getPropertyDefinition(d,a);var j=i._legacy||i._fast||i._cached;if(h!=j){throw new Error("Could not redefine existing property '"+a+$[511]+d.classname+"'.")}if(c.refine&&i.init===undefined){throw new Error("Could not refine a init value if there was previously no init value defined. Property '"+a+$[511]+d.classname+"'.")}}if(!g&&c.refine){throw new Error("Could not refine non-existent property: "+a+"!")}if(g&&!b){throw new Error("Class "+d.classname+" already has a property: "+a+"!")}if(g&&b&&!h){if(!c.refine){throw new Error('Could not refine property "'+a+'" without a "refine" flag in the property definition! This class: '+d.classname+", original class: "+this.getByProperty(d,a).classname+".")}for(var f in c){if(f!=="init"&&f!=="refine"){throw new Error("Class "+d.classname+" could not refine property: "+a+"! Key: "+f+" could not be refined!")}}}if(h){return}var e=c.group?qx.core.Property.$$allowedGroupKeys:qx.core.Property.$$allowedKeys;for(var f in c){if(e[f]===undefined){throw new Error($[285]+f+$[379]+a+$[123]+d.classname+$[191])}if(c[f]===undefined){throw new Error($[164]+f+$[379]+a+$[123]+d.classname+'"! The value is undefined: '+c[f])}if(e[f]!==null&&typeof c[f]!==e[f]){throw new Error($[272]+f+$[379]+a+$[123]+d.classname+$[286]+e[f]+'"!')}}if(c.transform!=null){if(!(typeof c.transform==$[14])){throw new Error('Invalid transform definition of property "'+a+$[123]+d.classname+'"! Needs to be a String.')}}if(c.check!=null){if(!(typeof c.check==$[14]||c.check instanceof Array||c.check instanceof Function)){throw new Error('Invalid check definition of property "'+a+$[123]+d.classname+'"! Needs to be a String, Array or Function.')}}if(c.event!=null&&!this.isSubClassOf(d,qx.core.Target)){throw new Error("Invalid property '"+a+"' in class '"+d.classname+"': Properties defining an event can only be defined in sub classes of 'qx.core.Target'!")}},"default":null}),__addMembers:function(k,f,d,b,c){var j=k.prototype;var n,h;for(var g=0,m=qx.lang.Object.getKeys(f),e=m.length;g<e;g++){n=m[g];h=f[n];if(qx.core.Variant.isSet($[7],"on")){if(j[n]!==undefined&&n.charAt(0)=="_"&&n.charAt(1)=="_"){throw new Error('Overwriting private member "'+n+$[515]+k.classname+$[191])}if(d!==true&&j[n]!==undefined){throw new Error('Overwriting member "'+n+$[515]+k.classname+$[191])}}if(b!==false&&h instanceof Function){if(c==true){h=this.__mixinMemberWrapper(h,j[n])}else{if(j[n]){h.base=j[n]}h.self=k}}j[n]=h}},__mixinMemberWrapper:function(b,a){if(a){return function(){var d=b.base;b.base=a;var c=b.apply(this,arguments);b.base=d;return c}}else{return b}},__addMixin:function(c,b,g){if(qx.core.Variant.isSet($[7],"on")){if(!c||!b){throw new Error("Incomplete parameters!")}if(this.hasMixin(c,b)){throw new Error('Mixin "'+b.name+'" is already included into Class "'+c.classname+'" by class: '+this.getByMixin(c,b).classname+"!")}}var f=qx.Mixin.flatten([b]);var e;for(var d=0,a=f.length;d<a;d++){e=f[d];if(e.$$events){this.__addEvents(c,e.$$events,g)}if(e.$$properties){this.__addProperties(c,e.$$properties,g)}if(e.$$members){this.__addMembers(c,e.$$members,g,g,g)}}if(c.$$includes){c.$$includes.push(b);c.$$flatIncludes.push.apply(c.$$flatIncludes,f)}else{c.$$includes=[b];c.$$flatIncludes=f}},__createDefaultConstructor:function(){function a(){arguments.callee.base.apply(this,arguments)}return a},__createEmptyFunction:function(){return function(){}},__wrapConstructor:function(a,b,c){var d=function(){var h=arguments.callee.constructor;if(qx.core.Variant.isSet($[7],"on")){if(!(this instanceof h)){throw new Error("Please initialize "+b+" objects using the new keyword!")}if(c===$[102]){if(this.classname===b){throw new Error("The class "+b+" is abstract! It is not possible to instantiate it.")}}else{if(c===$[30]){if(!h.$$allowconstruct){throw new Error("The class "+b+" is a singleton! It is not possible to instantiate it directly. Use the static getInstance() method instead.")}}}}if(!h.$$propertiesAttached){qx.core.Property.attach(h)}var g=h.$$original.apply(this,arguments);if(h.$$includes){var f=h.$$flatIncludes;for(var j=0,e=f.length;j<e;j++){if(f[j].$$constructor){f[j].$$constructor.apply(this,arguments)}}}if(this.classname===", name, ".classname){this.$$initialized=true}return g};if(c===$[30]){d.getInstance=this.getInstance}d.$$original=a;a.wrapper=d;return d}}});
-qx.Class.define("qx.Mixin",{statics:{define:function(c,b){if(b){if(b.include&&!(b.include instanceof Array)){b.include=[b.include]}if(qx.core.Variant.isSet($[7],"on")){this.__validateConfig(c,b)}var a=b.statics?b.statics:{};for(var d in a){a[d].mixin=a}if(b.construct){a.$$constructor=b.construct}if(b.include){a.$$includes=b.include}if(b.properties){a.$$properties=b.properties}if(b.members){a.$$members=b.members}for(var d in a.$$members){if(a.$$members[d] instanceof Function){a.$$members[d].mixin=a}}if(b.events){a.$$events=b.events}if(b.destruct){a.$$destructor=b.destruct}}else{var a={}}a.$$type="Mixin";a.name=c;a.toString=this.genericToString;a.basename=qx.Class.createNamespace(c,a);this.__registry[c]=a;return a},checkCompatibility:function(c){var e=this.flatten(c);var d=e.length;if(d<2){return true}var f={};var a={};var j={};var h;for(var b=0;b<d;b++){h=e[b];for(var g in h.events){if(j[g]){throw new Error($[356]+h.name+'" and "'+j[g]+$[446]+g+'"!')}j[g]=h.name}for(var g in h.properties){if(f[g]){throw new Error($[356]+h.name+'" and "'+f[g]+'" in property "'+g+'"!')}f[g]=h.name}for(var g in h.members){if(a[g]){throw new Error($[356]+h.name+'" and "'+a[g]+$[446]+g+'"!')}a[g]=h.name}}return true},isCompatible:function(a,b){var c=qx.Class.getMixins(b);c.push(a);return qx.Mixin.checkCompatibility(c)},getByName:function(a){return this.__registry[a]},isDefined:function(a){return this.getByName(a)!==undefined},getTotalNumber:function(){return qx.lang.Object.getLength(this.__registry)},flatten:function(b){if(!b){return[]}var d=b.concat();for(var c=0,a=b.length;c<a;c++){if(b[c].$$includes){d.push.apply(d,this.flatten(b[c].$$includes))}}return d},genericToString:function(){return"[Mixin "+this.name+"]"},__registry:{},__allowedKeys:qx.core.Variant.select($[7],{on:{include:$[11],statics:$[11],members:$[11],properties:$[11],events:$[11],destruct:$[45],construct:$[45]},"default":null}),__validateConfig:qx.core.Variant.select($[7],{on:function(e,d){var j=this.__allowedKeys;for(var g in d){if(!j[g]){throw new Error($[285]+g+$[298]+e+$[191])}if(d[g]==null){throw new Error($[164]+g+$[298]+e+$[391])}if(j[g]!==null&&typeof d[g]!==j[g]){throw new Error($[272]+g+$[298]+e+$[286]+j[g]+'"!')}}var h=["statics","members","properties","events"];for(var f=0,c=h.length;f<c;f++){var g=h[f];if(d[g]!==undefined&&(d[g] instanceof Array||d[g] instanceof RegExp||d[g] instanceof Date||d[g].classname!==undefined)){throw new Error($[164]+g+$[298]+e+$[386])}}if(d.include){for(var f=0,b=d.include,c=b.length;f<c;f++){if(b[f]==null){throw new Error($[469]+(f+1)+$[481]+e+"'is undefined/null!")}if(b[f].$$type!=="Mixin"){throw new Error($[469]+(f+1)+$[481]+e+"'is not a mixin!")}}this.checkCompatibility(d.include)}},"default":function(){}})}});
+qx.Class.define("qx.Class",{statics:{define:function(d,c){if(!c){var c={}}if(c.include&&!(c.include instanceof Array)){c.include=[c.include]}if(c.implement&&!(c.implement instanceof Array)){c.implement=[c.implement]}if(!c.hasOwnProperty("extend")&&!c.type){c.type=$[129]}if(qx.core.Variant.isSet($[7],"on")){this.__validateConfig(d,c)}var b=this.__createClass(d,c.type,c.extend,c.statics,c.construct,c.destruct);if(c.extend){if(c.properties){this.__addProperties(b,c.properties,true)}if(c.members){this.__addMembers(b,c.members,true,true,false)}if(c.events){this.__addEvents(b,c.events,true)}if(c.include){for(var f=0,a=c.include.length;f<a;f++){this.__addMixin(b,c.include[f],false)}}}if(c.settings){for(var e in c.settings){qx.core.Setting.define(e,c.settings[e])}}if(c.variants){for(var e in c.variants){qx.core.Variant.define(e,c.variants[e].allowedValues,c.variants[e].defaultValue)}}if(c.defer){c.defer.self=b;c.defer(b,b.prototype,{add:function(h,g){var i={};i[h]=g;qx.Class.__addProperties(b,i,true)}})}},createNamespace:function(d,c){var g=d.split(".");var f=window;var b=g[0];for(var e=0,a=g.length-1;e<a;e++,b=g[e]){if(!f[b]){f=f[b]={}}else{f=f[b]}}if(qx.core.Variant.isSet($[7],"on")){if(f[b]!==undefined){throw new Error("An object of the name '"+d+"' already exists and overwriting is not allowed!")}}f[b]=c;return b},isDefined:function(a){return this.getByName(a)!==undefined},getTotalNumber:function(){return qx.lang.Object.getLength(this.__registry)},getByName:function(a){return this.__registry[a]},include:function(b,a){if(qx.core.Variant.isSet($[7],"on")){if(!a){throw new Error("Includes of mixins must be mixins. The mixin of class '"+b.classname+"' is undefined/null!")}qx.Mixin.isCompatible(a,b)}qx.Class.__addMixin(b,a,false)},patch:function(b,a){if(qx.core.Variant.isSet($[7],"on")){qx.Mixin.isCompatible(a,b)}qx.Class.__addMixin(b,a,true)},isSubClassOf:function(a,b){if(!a){return false}if(a==b){return true}if(a.prototype instanceof b){return true}return false},getPropertyDefinition:function(b,a){while(b){if(b.$$properties&&b.$$properties[a]){return b.$$properties[a]}b=b.superclass}return null},getByProperty:function(b,a){while(b){if(b.$$properties&&b.$$properties[a]){return b}b=b.superclass}return null},hasProperty:function(b,a){return !!this.getPropertyDefinition(b,a)},getEventType:function(b,a){var b=b.constructor;while(b.superclass){if(b.$$events&&b.$$events[a]!==undefined){return b.$$events[a]}b=b.superclass}return null},supportsEvent:function(b,a){return !!this.getEventType(b,a)},hasOwnMixin:function(b,a){return b.$$includes&&b.$$includes.indexOf(a)!==-1},getByMixin:function(c,b){var e,d,a;while(c){if(c.$$includes){e=c.$$flatIncludes;for(d=0,a=e.length;d<a;d++){if(e[d]===b){return c}}}c=c.superclass}return null},getMixins:function(a){var b=[];while(a){if(a.$$includes){b.push.apply(b,a.$$flatIncludes)}a=a.superclass}return b},hasMixin:function(b,a){return !!this.getByMixin(b,a)},hasOwnInterface:function(a,b){return a.$$implements&&a.$$implements.indexOf(b)!==-1},getByInterface:function(b,e){var d,c,a;while(b){if(b.$$implements){d=b.$$flatImplements;for(c=0,a=d.length;c<a;c++){if(d[c]===e){return b}}}b=b.superclass}return null},getInterfaces:function(a){var b=[];while(a){if(a.$$implements){b.push.apply(b,a.$$flatImplements)}a=a.superclass}return b},hasInterface:function(a,b){return !!this.getByInterface(a,b)},implementsInterface:function(a,b){return false},getInstance:function(){if(!this.$$instance){this.$$allowconstruct=true;this.$$instance=new this;delete this.$$allowconstruct}return this.$$instance},genericToString:function(){return"[Class "+this.classname+"]"},__registry:qx.core.Bootstrap.__registry,__allowedKeys:qx.core.Variant.select($[7],{on:{type:$[13],extend:$[45],implement:$[11],include:$[11],construct:$[45],statics:$[11],properties:$[11],members:$[11],settings:$[11],variants:$[11],events:$[11],defer:$[45],destruct:$[45]},"default":null}),__staticAllowedKeys:qx.core.Variant.select($[7],{on:{type:$[13],statics:$[11],settings:$[11],variants:$[11],defer:$[45]},"default":null}),__validateConfig:qx.core.Variant.select($[7],{on:function(b,c){if(c.type&&!(c.type===$[129]||c.type===$[102]||c.type===$[29])){throw new Error('Invalid type "'+c.type+'" definition for class "'+b+'"!')}var h=c.type===$[129]?this.__staticAllowedKeys:this.__allowedKeys;for(var k in c){if(!h[k]){throw new Error($[284]+k+$[123]+b+$[191])}if(c[k]==null){throw new Error($[162]+k+$[123]+b+$[389])}if(typeof c[k]!==h[k]){throw new Error($[271]+k+$[123]+b+$[285]+h[k]+'"!')}}var g=["statics","properties","members","settings","variants","events"];for(var e=0,d=g.length;e<d;e++){var k=g[e];if(c[k]!==undefined&&(c[k] instanceof Array||c[k] instanceof RegExp||c[k] instanceof Date||c[k].classname!==undefined)){throw new Error($[162]+k+$[123]+b+$[384])}}if(c.include){if(c.include instanceof Array){for(var e=0,j=c.include,d=j.length;e<d;e++){if(j[e]==null||j[e].$$type!=="Mixin"){throw new Error('The include definition in class "'+b+'" contains an invalid mixin at position '+e+": "+j[e])}}}else{throw new Error('Invalid include definition in class "'+b+'"! Only mixins and arrays of mixins are allowed!')}}if(c.implement){if(c.implement instanceof Array){for(var e=0,j=c.implement,d=j.length;e<d;e++){if(j[e]==null||j[e].$$type!=="Interface"){throw new Error('The implement definition in class "'+b+'" contains an invalid interface at position '+e+": "+j[e])}}}else{throw new Error('Invalid implement definition in class "'+b+'"! Only interfaces and arrays of interfaces are allowed!')}}if(c.include){try{qx.Mixin.checkCompatibility(c.include)}catch(f){throw new Error('Error in include definition of class "'+b+'"! '+f.message)}}if(c.variants){for(var k in c.variants){if(k.substr(0,k.indexOf("."))!=b.substr(0,b.indexOf("."))){throw new Error('Forbidden variant "'+k+'" found in "'+b+'". It is forbidden to define a variant for an external namespace!')}}}},"default":function(){}}),__createClass:function(c,n,k,p,r,e){var j;if(!k){j=p||{}}else{j={};if(k){if(!r){r=this.__createDefaultConstructor()}j=this.__wrapConstructor(r,c,n)}if(p){var q;for(var g=0,o=qx.lang.Object.getKeys(p),f=o.length;g<f;g++){q=o[g];j[q]=p[q]}}}var m=this.createNamespace(c,j,false);j.name=j.classname=c;j.basename=m;if(!j.hasOwnProperty("toString")){j.toString=this.genericToString}if(k){var b=k.prototype;var d=this.__createEmptyFunction();d.prototype=b;var h=new d;j.prototype=h;h.name=h.classname=c;h.basename=m;r.base=j.superclass=k;r.self=j.constructor=h.constructor=j;if(e){j.$$destructor=e}}if(qx.core.Variant.isSet($[318],"on")){qx.Clazz=j;qx.Proto=h||null;qx.Super=k||null}this.__registry[c]=j;return j},__addEvents:function(a,c,d){if(qx.core.Variant.isSet($[7],"on")){if(!qx.core.Target){throw new Error(a.classname+": the class 'qx.core.Target' must be availabe to use events!")}if(typeof c!==$[11]||c instanceof Array){throw new Error(a.classname+": the events must be defined as map!")}for(var b in c){if(typeof c[b]!==$[13]){throw new Error(a.classname+"/"+b+": the event value needs to be a string with the class name of the event object which will be fired.")}}if(a.$$events&&d!==true){for(var b in c){if(a.$$events[b]!==undefined&&a.$$events[b]!==c[b]){throw new Error(a.classname+"/"+b+": the event value/type cannot be changed from "+a.$$events[b]+" to "+c[b])}}}}if(a.$$events){for(var b in c){a.$$events[b]=c[b]}}else{a.$$events=c}},__addProperties:function(d,e,g){var c;if(g===undefined){g=false}var a=!!d.$$propertiesAttached;for(var b in e){c=e[b];if(qx.core.Variant.isSet($[7],"on")){this.__validateProperty(d,b,c,g)}c.name=b;if(!c.refine){if(d.$$properties===undefined){d.$$properties={}}d.$$properties[b]=c}if(c.init!==undefined){d.prototype["__init$"+b]=c.init}if(c.event!==undefined){var f={};f[c.event]=$[357];this.__addEvents(d,f,g)}if(c.inheritable){qx.core.Property.$$inheritable[b]=true}if(a){qx.core.Property.attachMethods(d,b,c)}if(c._fast){qx.core.LegacyProperty.addFastProperty(c,d.prototype)}else{if(c._cached){qx.core.LegacyProperty.addCachedProperty(c,d.prototype)}else{if(c._legacy){qx.core.LegacyProperty.addProperty(c,d.prototype)}}}}},__validateProperty:qx.core.Variant.select($[7],{on:function(d,a,c,b){var g=this.hasProperty(d,a);var h=c._legacy||c._fast||c._cached;if(g){var i=this.getPropertyDefinition(d,a);var j=i._legacy||i._fast||i._cached;if(h!=j){throw new Error("Could not redefine existing property '"+a+$[509]+d.classname+"'.")}if(c.refine&&i.init===undefined){throw new Error("Could not refine a init value if there was previously no init value defined. Property '"+a+$[509]+d.classname+"'.")}}if(!g&&c.refine){throw new Error("Could not refine non-existent property: "+a+"!")}if(g&&!b){throw new Error("Class "+d.classname+" already has a property: "+a+"!")}if(g&&b&&!h){if(!c.refine){throw new Error('Could not refine property "'+a+'" without a "refine" flag in the property definition! This class: '+d.classname+", original class: "+this.getByProperty(d,a).classname+".")}for(var f in c){if(f!=="init"&&f!=="refine"){throw new Error("Class "+d.classname+" could not refine property: "+a+"! Key: "+f+" could not be refined!")}}}if(h){return}var e=c.group?qx.core.Property.$$allowedGroupKeys:qx.core.Property.$$allowedKeys;for(var f in c){if(e[f]===undefined){throw new Error($[284]+f+$[377]+a+$[123]+d.classname+$[191])}if(c[f]===undefined){throw new Error($[162]+f+$[377]+a+$[123]+d.classname+'"! The value is undefined: '+c[f])}if(e[f]!==null&&typeof c[f]!==e[f]){throw new Error($[271]+f+$[377]+a+$[123]+d.classname+$[285]+e[f]+'"!')}}if(c.transform!=null){if(!(typeof c.transform==$[13])){throw new Error('Invalid transform definition of property "'+a+$[123]+d.classname+'"! Needs to be a String.')}}if(c.check!=null){if(!(typeof c.check==$[13]||c.check instanceof Array||c.check instanceof Function)){throw new Error('Invalid check definition of property "'+a+$[123]+d.classname+'"! Needs to be a String, Array or Function.')}}if(c.event!=null&&!this.isSubClassOf(d,qx.core.Target)){throw new Error("Invalid property '"+a+"' in class '"+d.classname+"': Properties defining an event can only be defined in sub classes of 'qx.core.Target'!")}},"default":null}),__addMembers:function(k,f,d,b,c){var j=k.prototype;var n,h;for(var g=0,m=qx.lang.Object.getKeys(f),e=m.length;g<e;g++){n=m[g];h=f[n];if(qx.core.Variant.isSet($[7],"on")){if(j[n]!==undefined&&n.charAt(0)=="_"&&n.charAt(1)=="_"){throw new Error('Overwriting private member "'+n+$[513]+k.classname+$[191])}if(d!==true&&j[n]!==undefined){throw new Error('Overwriting member "'+n+$[513]+k.classname+$[191])}}if(b!==false&&h instanceof Function){if(c==true){h=this.__mixinMemberWrapper(h,j[n])}else{if(j[n]){h.base=j[n]}h.self=k}}j[n]=h}},__mixinMemberWrapper:function(b,a){if(a){return function(){var d=b.base;b.base=a;var c=b.apply(this,arguments);b.base=d;return c}}else{return b}},__addMixin:function(c,b,g){if(qx.core.Variant.isSet($[7],"on")){if(!c||!b){throw new Error("Incomplete parameters!")}if(this.hasMixin(c,b)){throw new Error('Mixin "'+b.name+'" is already included into Class "'+c.classname+'" by class: '+this.getByMixin(c,b).classname+"!")}}var f=qx.Mixin.flatten([b]);var e;for(var d=0,a=f.length;d<a;d++){e=f[d];if(e.$$events){this.__addEvents(c,e.$$events,g)}if(e.$$properties){this.__addProperties(c,e.$$properties,g)}if(e.$$members){this.__addMembers(c,e.$$members,g,g,g)}}if(c.$$includes){c.$$includes.push(b);c.$$flatIncludes.push.apply(c.$$flatIncludes,f)}else{c.$$includes=[b];c.$$flatIncludes=f}},__createDefaultConstructor:function(){function a(){arguments.callee.base.apply(this,arguments)}return a},__createEmptyFunction:function(){return function(){}},__wrapConstructor:function(a,b,c){var d=function(){var h=arguments.callee.constructor;if(qx.core.Variant.isSet($[7],"on")){if(!(this instanceof h)){throw new Error("Please initialize "+b+" objects using the new keyword!")}if(c===$[102]){if(this.classname===b){throw new Error("The class "+b+" is abstract! It is not possible to instantiate it.")}}else{if(c===$[29]){if(!h.$$allowconstruct){throw new Error("The class "+b+" is a singleton! It is not possible to instantiate it directly. Use the static getInstance() method instead.")}}}}if(!h.$$propertiesAttached){qx.core.Property.attach(h)}var g=h.$$original.apply(this,arguments);if(h.$$includes){var f=h.$$flatIncludes;for(var j=0,e=f.length;j<e;j++){if(f[j].$$constructor){f[j].$$constructor.apply(this,arguments)}}}if(this.classname===", name, ".classname){this.$$initialized=true}return g};if(c===$[29]){d.getInstance=this.getInstance}d.$$original=a;a.wrapper=d;return d}}});
+qx.Class.define("qx.Mixin",{statics:{define:function(c,b){if(b){if(b.include&&!(b.include instanceof Array)){b.include=[b.include]}if(qx.core.Variant.isSet($[7],"on")){this.__validateConfig(c,b)}var a=b.statics?b.statics:{};for(var d in a){a[d].mixin=a}if(b.construct){a.$$constructor=b.construct}if(b.include){a.$$includes=b.include}if(b.properties){a.$$properties=b.properties}if(b.members){a.$$members=b.members}for(var d in a.$$members){if(a.$$members[d] instanceof Function){a.$$members[d].mixin=a}}if(b.events){a.$$events=b.events}if(b.destruct){a.$$destructor=b.destruct}}else{var a={}}a.$$type="Mixin";a.name=c;a.toString=this.genericToString;a.basename=qx.Class.createNamespace(c,a);this.__registry[c]=a;return a},checkCompatibility:function(c){var e=this.flatten(c);var d=e.length;if(d<2){return true}var f={};var a={};var j={};var h;for(var b=0;b<d;b++){h=e[b];for(var g in h.events){if(j[g]){throw new Error($[354]+h.name+'" and "'+j[g]+$[445]+g+'"!')}j[g]=h.name}for(var g in h.properties){if(f[g]){throw new Error($[354]+h.name+'" and "'+f[g]+'" in property "'+g+'"!')}f[g]=h.name}for(var g in h.members){if(a[g]){throw new Error($[354]+h.name+'" and "'+a[g]+$[445]+g+'"!')}a[g]=h.name}}return true},isCompatible:function(a,b){var c=qx.Class.getMixins(b);c.push(a);return qx.Mixin.checkCompatibility(c)},getByName:function(a){return this.__registry[a]},isDefined:function(a){return this.getByName(a)!==undefined},getTotalNumber:function(){return qx.lang.Object.getLength(this.__registry)},flatten:function(b){if(!b){return[]}var d=b.concat();for(var c=0,a=b.length;c<a;c++){if(b[c].$$includes){d.push.apply(d,this.flatten(b[c].$$includes))}}return d},genericToString:function(){return"[Mixin "+this.name+"]"},__registry:{},__allowedKeys:qx.core.Variant.select($[7],{on:{include:$[11],statics:$[11],members:$[11],properties:$[11],events:$[11],destruct:$[45],construct:$[45]},"default":null}),__validateConfig:qx.core.Variant.select($[7],{on:function(e,d){var j=this.__allowedKeys;for(var g in d){if(!j[g]){throw new Error($[284]+g+$[297]+e+$[191])}if(d[g]==null){throw new Error($[162]+g+$[297]+e+$[389])}if(j[g]!==null&&typeof d[g]!==j[g]){throw new Error($[271]+g+$[297]+e+$[285]+j[g]+'"!')}}var h=["statics","members","properties","events"];for(var f=0,c=h.length;f<c;f++){var g=h[f];if(d[g]!==undefined&&(d[g] instanceof Array||d[g] instanceof RegExp||d[g] instanceof Date||d[g].classname!==undefined)){throw new Error($[162]+g+$[297]+e+$[384])}}if(d.include){for(var f=0,b=d.include,c=b.length;f<c;f++){if(b[f]==null){throw new Error($[467]+(f+1)+$[479]+e+"'is undefined/null!")}if(b[f].$$type!=="Mixin"){throw new Error($[467]+(f+1)+$[479]+e+"'is not a mixin!")}}this.checkCompatibility(d.include)}},"default":function(){}})}});
qx.Mixin.define("qx.core.MUserData",{members:{setUserData:function(a,b){if(!this.__userData){this.__userData={}}this.__userData[a]=b},getUserData:function(a){if(!this.__userData){return null}var b=this.__userData[a];return b===undefined?null:b}},destruct:function(){this._disposeFields("__userData")}});
-qx.Class.define("qx.core.LegacyProperty",{statics:{getSetterName:function(a){return qx.core.Property.$$method.set[a]},getGetterName:function(a){return qx.core.Property.$$method.get[a]},getResetterName:function(a){return qx.core.Property.$$method.reset[a]},addFastProperty:function(b,d){var c=b.name;var g=qx.lang.String.toFirstUp(c);var h="_value"+g;var f="get"+g;var e="set"+g;var a="_compute"+g;d[h]=typeof b.defaultValue!==$[8]?b.defaultValue:null;if(b.noCompute){d[f]=function(){return this[h]}}else{d[f]=function(){return this[h]==null?this[h]=this[a]():this[h]}}d[f].self=d.constructor;if(b.setOnlyOnce){d[e]=function(i){this[h]=i;this[e]=null;return i}}else{d[e]=function(i){return this[h]=i}}d[e].self=d.constructor;if(!b.noCompute){d[a]=function(){return null};d[a].self=d.constructor}},addCachedProperty:function(c,e){var d=c.name;var f=qx.lang.String.toFirstUp(d);var g="_cached"+f;var a="_compute"+f;var b="_change"+f;if(typeof c.defaultValue!==$[8]){e[g]=c.defaultValue}e["get"+f]=function(){if(this[g]==null){this[g]=this[a]()}return this[g]};e[$[544]+f]=function(){if(this[g]!=null){this[g]=null;if(c.addToQueueRuntime){this.addToQueueRuntime(c.name)}}};e["_recompute"+f]=function(){var h=this[g];var i=this[a]();if(i!=h){this[g]=i;this[b](i,h);return true}return false};e[b]=function(i,h){};e[a]=function(){return null};e["get"+f].self=e.constructor;e[$[544]+f].self=e.constructor;e["_recompute"+f].self=e.constructor},addProperty:function(c,f){if(typeof c!==$[11]){throw new Error("AddProperty: Param should be an object!")}if(typeof c.name!==$[14]){throw new Error("AddProperty: Malformed input parameters: name needed!")}if(c.dispose===undefined&&(c.type==$[45]||c.type==$[11])){c.dispose=true}c.method=qx.lang.String.toFirstUp(c.name);c.implMethod=c.impl?qx.lang.String.toFirstUp(c.impl):c.method;if(c.defaultValue==undefined){c.defaultValue=null}c.allowNull=c.allowNull!==false;c.allowMultipleArguments=c.allowMultipleArguments===true;if(typeof c.type===$[14]){c.hasType=true}else{if(typeof c.type!==$[8]){throw new Error("AddProperty: Invalid type definition for property "+c.name+": "+c.type)}else{c.hasType=false}}if(typeof c.instance===$[14]){c.hasInstance=true}else{if(typeof c.instance!==$[8]){throw new Error("AddProperty: Invalid instance definition for property "+c.name+": "+c.instance)}else{c.hasInstance=false}}if(typeof c.classname===$[14]){c.hasClassName=true}else{if(typeof c.classname!==$[8]){throw new Error("AddProperty: Invalid classname definition for property "+c.name+": "+c.classname)}else{c.hasClassName=false}}c.hasConvert=c.convert!=null;c.hasPossibleValues=c.possibleValues!=null;c.addToQueue=c.addToQueue||false;c.addToQueueRuntime=c.addToQueueRuntime||false;c.up=c.name.toUpperCase();var e=qx.core.Property.$$store.user[c.name]="__user$"+c.name;var a=$[76]+c.method;var d="_modify"+c.implMethod;var b="_check"+c.implMethod;var g=qx.core.Property.$$method;if(!g.set[c.name]){g.set[c.name]="set"+c.method;g.get[c.name]="get"+c.method;g.reset[c.name]=$[137]+c.method}f[e]=c.defaultValue;f["get"+c.method]=function(){return this[e]};f["force"+c.method]=function(h){return this[e]=h};f[$[137]+c.method]=function(){return this["set"+c.method](c.defaultValue)};if(c.type===$[121]){f["toggle"+c.method]=function(h){return this["set"+c.method](!this[e])}}if(c.allowMultipleArguments||c.hasConvert||c.hasInstance||c.hasClassName||c.hasPossibleValues||c.hasUnitDetection||c.addToQueue||c.addToQueueRuntime||c.addToStateQueue){f["set"+c.method]=function(j){if(c.allowMultipleArguments&&arguments.length>1){j=qx.lang.Array.fromArguments(arguments)}if(c.hasConvert){try{j=c.convert.call(this,j,c)}catch(i){throw new Error("Attention! Could not convert new value for "+c.name+": "+j+": "+i)}}var h=this[e];if(j===h){return j}if(!(c.allowNull&&j==null)){if(c.hasType&&typeof j!==c.type){throw new Error($[246]+j+$[223]+c.name+$[428]+c.type+$[538]+typeof j+'"!')}if(qx.Class.getByName(c.instance)){if(c.hasInstance&&!(j instanceof qx.Class.getByName(c.instance))){throw new Error($[246]+j+$[223]+c.name+$[528]+c.instance+'"!')}}else{if(qx.core.Variant.isSet($[318],"on")){if(c.hasInstance&&!(j instanceof qx.OO.classes[c.instance])){throw new Error($[246]+j+$[223]+c.name+$[528]+c.instance+'"!')}}}if(c.hasClassName&&j.classname!=c.classname){throw new Error($[246]+j+$[223]+c.name+'" which must be an object with the classname "'+c.classname+'"!')}if(c.hasPossibleValues&&j!=null&&!qx.lang.Array.contains(c.possibleValues,j)){throw new Error("Failed to save value for "+c.name+". '"+j+"' is not a possible value!")}}if(this[b]){try{j=this[b](j,c);if(j===h){return j}}catch(i){throw new Error($[558]+c.name+" "+i)}}this[e]=j;if(this[d]){try{this[d](j,h,c)}catch(i){throw new Error('Modification of property "'+c.name+$[519]+i)}}if(c.addToQueue){this.addToQueue(c.name)}if(c.addToQueueRuntime){this.addToQueueRuntime(c.name)}if(c.addToStateQueue){this.addToStateQueue()}if(this.hasEventListeners&&this.hasEventListeners(a)){try{this.createDispatchDataEvent(a,j)}catch(i){throw new Error("Property "+c.name+$[521]+i)}}return j}}else{f["set"+c.method]=function(l){var i=this[e];if(l===i){return l}if(!(c.allowNull&&l==null)){if(c.hasType&&typeof l!==c.type){throw new Error($[246]+l+$[223]+c.name+$[428]+c.type+$[538]+typeof l+'"!')}}if(this[b]){try{l=this[b](l,c);if(l===i){return l}}catch(j){throw new Error($[558]+c.name+" "+j)}}this[e]=l;if(this[d]){try{this[d](l,i,c)}catch(j){var h=new String(l).substring(0,50);throw new Error('Setting property "'+c.name+'" to "'+h+$[519]+j)}}if(this.hasEventListeners&&this.hasEventListeners(a)){var k=new qx.event.type.DataEvent(a,l,i,false);k.setTarget(this);try{this.dispatchEvent(k,true)}catch(j){throw new Error("Property "+c.name+$[521]+j)}}return l}}f["set"+c.method].self=f.constructor;if(typeof c.getAlias===$[14]){f[c.getAlias]=f["get"+c.method]}if(typeof c.setAlias===$[14]){f[c.setAlias]=f["set"+c.method]}}}});
-qx.Class.define("qx.core.Property",{statics:{__checks:{Boolean:'typeof value === "boolean"',String:'typeof value === "string"',NonEmptyString:'typeof value === "string" && value.length > 0',Number:$[337],Integer:'typeof value === "number" && isFinite(value) && value%1 === 0',Float:$[337],Double:$[337],Error:"value instanceof Error",RegExp:"value instanceof RegExp",Object:'value !== null && typeof value === "object"',Array:"value instanceof Array",Map:'value !== null && typeof value === "object" && !(value instanceof Array) && !(value instanceof qx.core.Object)',Function:"value instanceof Function",Date:"value instanceof Date",Node:"value !== null && value.nodeType !== undefined",Element:"value !== null && value.nodeType === 1 && value.attributes",Document:"value !== null && value.nodeType === 9 && value.documentElement",Window:"value !== null && window.document",Event:"value !== null && value.type !== undefined",Class:'value !== null && value.$$type === "Class"',Mixin:'value !== null && value.$$type === "Mixin"',Interface:'value !== null && value.$$type === "Interface"',Theme:'value !== null && value.$$type === "Theme"',Color:'typeof value === "string" && qx.util.ColorUtil.isValid(value)',Border:"value !== null && qx.theme.manager.Border.getInstance().isDynamic(value)",Font:"value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)",Label:'value !== null && typeof value === "string"'},__dispose:{Object:true,Array:true,Map:true,Function:true,Date:true,Node:true,Element:true,Document:true,Window:true,Event:true,Class:true,Mixin:true,Interface:true,Theme:true,Border:true,Font:true},$$inherit:$[153],$$idcounter:0,$$store:{user:{},theme:{},inherit:{},init:{},useinit:{}},$$method:{get:{},set:{},reset:{},init:{},refresh:{},style:{},unstyle:{}},$$allowedKeys:{name:$[14],dispose:$[121],inheritable:$[121],nullable:$[121],themeable:$[121],refine:$[121],init:null,apply:$[14],event:$[14],check:null,transform:$[14],deferredInit:$[121]},$$allowedGroupKeys:{name:$[14],group:$[11],mode:$[14],themeable:$[121]},$$inheritable:{},refresh:function(g){var f=g.getParent();if(f){var c=g.constructor;var b=this.$$store.inherit;var e=this.$$method.refresh;var d;if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){g.debug("Update widget: "+g)}}while(c){d=c.$$properties;if(d){for(var a in this.$$inheritable){if(d[a]&&g[e[a]]){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>2){g.debug("Updating property: "+a+" to '"+f[b[a]]+"'")}}g[e[a]](f[b[a]])}}}c=c.superclass}}},attach:function(b){var c=b.$$properties;if(c){for(var a in c){this.attachMethods(b,a,c[a])}}b.$$propertiesAttached=true},attachMethods:function(c,b,a){if(a._legacy||a._fast||a._cached){return}var d,e;if(b.charAt(0)==="_"){if(b.charAt(1)==="_"){d="__";e=qx.lang.String.toFirstUp(b.substring(2))}else{d="_";e=qx.lang.String.toFirstUp(b.substring(1))}}else{d="";e=qx.lang.String.toFirstUp(b)}a.group?this.__attachGroupMethods(c,a,d,e):this.__attachPropertyMethods(c,a,d,e)},__attachGroupMethods:function(n,e,k,r){var h=n.prototype;var b=e.name;var d=e.themeable===true;if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){console.debug("Generating property group: "+b)}}var g=[];var o=[];if(d){var s=[];var m=[]}var c="var a=arguments[0] instanceof Array?arguments[0]:arguments;";g.push(c);if(d){s.push(c)}if(e.mode==$[132]){var p="a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));";g.push(p);if(d){s.push(p)}}for(var j=0,q=e.group,f=q.length;j<f;j++){if(qx.core.Variant.isSet($[7],"on")){if(!this.$$method.set[q[j]]||!this.$$method.reset[q[j]]){throw new Error("Cannot create property group '"+b+"' including non-existing property '"+q[j]+"'!")}}g.push($[70],this.$$method.set[q[j]],"(a[",j,"]);");o.push($[70],this.$$method.reset[q[j]],"();");if(d){if(qx.core.Variant.isSet($[7],"on")){if(!this.$$method.style[q[j]]){throw new Error("Cannot add the non themable property '"+q[j]+"' to the themable property group '"+b+"'")}}s.push($[70],this.$$method.style[q[j]],"(a[",j,"]);");m.push($[70],this.$$method.unstyle[q[j]],"();")}}this.$$method.set[b]=k+"set"+r;h[this.$$method.set[b]]=new Function(g.join(""));this.$$method.reset[b]=k+$[137]+r;h[this.$$method.reset[b]]=new Function(o.join(""));if(d){this.$$method.style[b]=k+$[81]+r;h[this.$$method.style[b]]=new Function(s.join(""));this.$$method.unstyle[b]=k+$[149]+r;h[this.$$method.unstyle[b]]=new Function(m.join(""))}},__attachPropertyMethods:function(e,d,f,h){var b=e.prototype;var c=d.name;if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){console.debug("Generating property wrappers: "+c)}}if(d.dispose===undefined&&typeof d.check===$[14]){d.dispose=this.__dispose[d.check]||qx.Class.isDefined(d.check)}var g=this.$$method;var a=this.$$store;a.user[c]="__user$"+c;a.theme[c]="__theme$"+c;a.init[c]="__init$"+c;a.inherit[c]="__inherit$"+c;a.useinit[c]="__useinit$"+c;g.get[c]=f+"get"+h;b[g.get[c]]=function(){return qx.core.Property.executeOptimizedGetter(this,e,c,"get")};g.set[c]=f+"set"+h;b[g.set[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,"set",arguments)};g.reset[c]=f+$[137]+h;b[g.reset[c]]=function(){return qx.core.Property.executeOptimizedSetter(this,e,c,$[137])};if(d.inheritable||d.apply||d.event||d.deferredInit){g.init[c]=f+"init"+h;b[g.init[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,"init",arguments)}}if(d.inheritable){g.refresh[c]=f+$[171]+h;b[g.refresh[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,$[171],arguments)}}if(d.themeable){g.style[c]=f+$[81]+h;b[g.style[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,$[81],arguments)};g.unstyle[c]=f+$[149]+h;b[g.unstyle[c]]=function(){return qx.core.Property.executeOptimizedSetter(this,e,c,$[149])}}if(d.check===$[3]){b[f+"toggle"+h]=new Function($[166]+g.set[c]+"(!this."+g.get[c]+"())");b[f+"is"+h]=new Function($[166]+g.get[c]+"()")}},__errors:{0:"Could not change or apply init value after constructing phase!",1:"Requires exactly one argument!",2:"Undefined value is not allowed!",3:"Does not allow any arguments!",4:"Null value is not allowed!",5:"Is invalid!"},error:function(e,g,c,a,b){var d=e.constructor.classname;var f="Error in property "+c+" of class "+d+" in method "+this.$$method[a][c]+" with incoming value '"+b+"': ";e.error(f+(this.__errors[g]||$[454]+g));throw new Error(f+(this.__errors[g]||$[454]+g))},__unwrapFunctionFromCode:function(a,c,e,g,h,d){var b=this.$$method[g][e];if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){console.debug("Code["+this.$$method[g][e]+"]: "+h.join(""))}try{c[b]=new Function("value",h.join(""))}catch(f){alert("Malformed generated code to unwrap method: "+this.$$method[g][e]+"\n"+h.join(""))}}else{c[b]=new Function("value",h.join(""))}if(d===undefined){return a[b]()}else{if(qx.core.Variant.isSet($[7],"on")){return a[b].apply(a,d)}else{return a[b](d[0])}}},executeOptimizedGetter:function(a,e,d,f){var c=e.$$properties[d];var b=e.prototype;var g=[];if(c.inheritable){g.push($[126],this.$$store.inherit[d],$[160]);g.push($[166],this.$$store.inherit[d],";");g.push("else ")}g.push($[126],this.$$store.user[d],$[160]);g.push($[166],this.$$store.user[d],";");if(c.themeable){g.push($[240],this.$$store.theme[d],$[160]);g.push($[166],this.$$store.theme[d],";")}if(c.deferredInit&&c.init===undefined){g.push($[240],this.$$store.init[d],$[160]);g.push($[166],this.$$store.init[d],";")}g.push("else ");if(c.init!==undefined){g.push($[166],this.$$store.init[d],";")}else{if(c.inheritable||c.nullable){g.push("return null;")}else{g.push('throw new Error("Property ',d," of an instance of ",e.classname,' is not (yet) ready!");')}}return this.__unwrapFunctionFromCode(a,b,d,f,g)},executeOptimizedSetter:function(k,g,a,e,h){var d=g.$$properties[a];var f=g.prototype;var b=[];var i=e==="set"||e===$[81]||(e==="init"&&d.init===undefined);var l=e===$[137]||e===$[149];var c=d.apply||d.event||d.inheritable;if(e===$[81]||e===$[149]){var j=this.$$store.theme[a]}else{if(e==="init"){var j=this.$$store.init[a]}else{var j=this.$$store.user[a]}}if(qx.core.Variant.isSet($[7],"on")){b.push($[455]);if(e==="init"){b.push('if(this.$$initialized)prop.error(this,0,"'+a+'","'+e+$[180])}if(e===$[171]){}else{if(i){b.push('if(arguments.length!==1)prop.error(this,1,"'+a+'","'+e+$[180]);b.push($[464]+a+'","'+e+$[180])}else{b.push('if(arguments.length!==0)prop.error(this,3,"'+a+'","'+e+$[180])}}}else{if(!d.nullable||d.check||d.inheritable){b.push($[455])}if(qx.core.Variant.isSet($[7],"on")&&e==="set"){b.push($[464]+a+'","'+e+$[180])}}if(i){if(d.transform){b.push("value=this.",d.transform,"(value);")}}if(c){if(i){b.push($[126],j,"===value)return value;")}else{if(l){b.push($[126],j,"===undefined)return;")}}}if(d.inheritable){b.push("var inherit=prop.$$inherit;")}if(i&&qx.core.Variant.isSet($[7],"on")){if(!d.nullable){b.push('if(value===null)prop.error(this,4,"'+a+'","'+e+$[180])}if(d.check!==undefined){if(d.nullable){b.push("if(value!==null)")}if(d.inheritable){b.push("if(value!==inherit)")}b.push("if(");if(this.__checks[d.check]!==undefined){b.push("!(",this.__checks[d.check],")")}else{if(qx.Class.isDefined(d.check)){b.push("!(value instanceof ",d.check,")")}else{if(typeof d.check===$[45]){b.push("!",g.classname,$[490],a);b.push(".check.call(this, value)")}else{if(typeof d.check===$[14]){b.push("!(",d.check,")")}else{if(d.check instanceof Array){d.checkMap=qx.lang.Object.fromArray(d.check);b.push(g.classname,$[490],a);b.push(".checkMap[value]===undefined")}else{throw new Error("Could not add check to property "+a+" of class "+g.classname)}}}}}b.push(')prop.error(this,5,"'+a+'","'+e+$[180])}}if(!c){if(e==="set"){b.push($[70],this.$$store.user[a],$[79])}else{if(e===$[137]){b.push($[126],this.$$store.user[a],$[160]);b.push($[147],this.$$store.user[a],";")}else{if(e===$[81]){b.push($[70],this.$$store.theme[a],$[79])}else{if(e===$[149]){b.push($[126],this.$$store.theme[a],$[160]);b.push($[147],this.$$store.theme[a],";")}else{if(e==="init"&&i){b.push($[70],this.$$store.init[a],$[79])}}}}}}else{if(d.inheritable){b.push("var computed, old=this.",this.$$store.inherit[a],";")}else{b.push("var computed, old;")}b.push($[126],this.$$store.user[a],$[292]);if(e==="set"){if(!d.inheritable){b.push($[271],this.$$store.user[a],";")}b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[137]){if(!d.inheritable){b.push($[271],this.$$store.user[a],";")}b.push($[147],this.$$store.user[a],";");b.push($[126],this.$$store.theme[a],$[160]);b.push($[60],this.$$store.theme[a],";");b.push($[240],this.$$store.init[a],$[292]);b.push($[60],this.$$store.init[a],";");b.push($[70],this.$$store.useinit[a],"=true;");b.push("}")}else{if(d.inheritable){b.push($[60],this.$$store.user[a],";")}else{b.push("old=computed=this.",this.$$store.user[a],";")}if(e===$[81]){b.push($[70],this.$$store.theme[a],$[79])}else{if(e===$[149]){b.push($[147],this.$$store.theme[a],";")}else{if(e==="init"&&i){b.push($[70],this.$$store.init[a],$[79])}}}}}b.push("}");if(d.themeable){b.push($[240],this.$$store.theme[a],$[292]);if(!d.inheritable){b.push($[271],this.$$store.theme[a],";")}if(e==="set"){b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[81]){b.push($[60],this.$$store.theme[a],$[79])}else{if(e===$[149]){b.push($[147],this.$$store.theme[a],";");b.push($[126],this.$$store.init[a],$[292]);b.push($[60],this.$$store.init[a],";");b.push($[70],this.$$store.useinit[a],"=true;");b.push("}")}else{if(e==="init"){if(i){b.push($[70],this.$$store.init[a],$[79])}b.push($[60],this.$$store.theme[a],";")}else{if(e===$[171]){b.push($[60],this.$$store.theme[a],";")}}}}}b.push("}")}b.push($[240],this.$$store.useinit[a],"){");if(!d.inheritable){b.push($[271],this.$$store.init[a],";")}if(e==="init"){if(i){b.push($[60],this.$$store.init[a],$[79])}else{b.push($[60],this.$$store.init[a],";")}}else{if(e==="set"||e===$[81]||e===$[171]){b.push($[147],this.$$store.useinit[a],";");if(e==="set"){b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[81]){b.push($[60],this.$$store.theme[a],$[79])}else{if(e===$[171]){b.push($[60],this.$$store.init[a],";")}}}}}b.push("}");if(e==="set"||e===$[81]||e==="init"){b.push("else{");if(e==="set"){b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[81]){b.push($[60],this.$$store.theme[a],$[79])}else{if(e==="init"){if(i){b.push($[60],this.$$store.init[a],$[79])}else{b.push($[60],this.$$store.init[a],";")}b.push($[70],this.$$store.useinit[a],"=true;")}}}b.push("}")}}if(d.inheritable){b.push("if(computed===undefined||computed===inherit){");if(e===$[171]){b.push("computed=value;")}else{b.push("var pa=this.getParent();if(pa)computed=pa.",this.$$store.inherit[a],";")}b.push("if((computed===undefined||computed===inherit)&&");b.push($[70],this.$$store.init[a],"!==undefined&&");b.push($[70],this.$$store.init[a],"!==inherit){");b.push($[60],this.$$store.init[a],";");b.push($[70],this.$$store.useinit[a],"=true;");b.push("}else{");b.push($[147],this.$$store.useinit[a],";}");b.push("}");b.push($[516]);b.push("if(computed===inherit){");b.push("computed=undefined;delete this.",this.$$store.inherit[a],";");b.push("}");b.push("else if(computed===undefined)");b.push($[147],this.$$store.inherit[a],";");b.push("else this.",this.$$store.inherit[a],"=computed;");b.push("var backup=computed;");b.push($[537]);b.push($[406])}else{if(c){if(e!=="set"&&e!==$[81]){b.push($[537])}b.push($[516]);b.push($[406])}}if(c){if(d.apply){b.push($[70],d.apply,"(computed, old);")}if(d.event){b.push('this.createDispatchChangeEvent("',d.event,'", computed, old);')}if(d.inheritable&&f.getChildren){b.push("var a=this.getChildren();if(a)for(var i=0,l=a.length;i<l;i++){");b.push("if(a[i].",this.$$method.refresh[a],")a[i].",this.$$method.refresh[a],"(backup);");b.push("}")}}if(i){b.push("return value;")}return this.__unwrapFunctionFromCode(k,f,a,e,b,h)}},settings:{"qx.propertyDebugLevel":0}});
+qx.Class.define("qx.core.LegacyProperty",{statics:{getSetterName:function(a){return qx.core.Property.$$method.set[a]},getGetterName:function(a){return qx.core.Property.$$method.get[a]},getResetterName:function(a){return qx.core.Property.$$method.reset[a]},addFastProperty:function(b,d){var c=b.name;var g=qx.lang.String.toFirstUp(c);var h="_value"+g;var f="get"+g;var e="set"+g;var a="_compute"+g;d[h]=typeof b.defaultValue!==$[8]?b.defaultValue:null;if(b.noCompute){d[f]=function(){return this[h]}}else{d[f]=function(){return this[h]==null?this[h]=this[a]():this[h]}}d[f].self=d.constructor;if(b.setOnlyOnce){d[e]=function(i){this[h]=i;this[e]=null;return i}}else{d[e]=function(i){return this[h]=i}}d[e].self=d.constructor;if(!b.noCompute){d[a]=function(){return null};d[a].self=d.constructor}},addCachedProperty:function(c,e){var d=c.name;var f=qx.lang.String.toFirstUp(d);var g="_cached"+f;var a="_compute"+f;var b="_change"+f;if(typeof c.defaultValue!==$[8]){e[g]=c.defaultValue}e["get"+f]=function(){if(this[g]==null){this[g]=this[a]()}return this[g]};e[$[542]+f]=function(){if(this[g]!=null){this[g]=null;if(c.addToQueueRuntime){this.addToQueueRuntime(c.name)}}};e["_recompute"+f]=function(){var h=this[g];var i=this[a]();if(i!=h){this[g]=i;this[b](i,h);return true}return false};e[b]=function(i,h){};e[a]=function(){return null};e["get"+f].self=e.constructor;e[$[542]+f].self=e.constructor;e["_recompute"+f].self=e.constructor},addProperty:function(c,f){if(typeof c!==$[11]){throw new Error("AddProperty: Param should be an object!")}if(typeof c.name!==$[13]){throw new Error("AddProperty: Malformed input parameters: name needed!")}if(c.dispose===undefined&&(c.type==$[45]||c.type==$[11])){c.dispose=true}c.method=qx.lang.String.toFirstUp(c.name);c.implMethod=c.impl?qx.lang.String.toFirstUp(c.impl):c.method;if(c.defaultValue==undefined){c.defaultValue=null}c.allowNull=c.allowNull!==false;c.allowMultipleArguments=c.allowMultipleArguments===true;if(typeof c.type===$[13]){c.hasType=true}else{if(typeof c.type!==$[8]){throw new Error("AddProperty: Invalid type definition for property "+c.name+": "+c.type)}else{c.hasType=false}}if(typeof c.instance===$[13]){c.hasInstance=true}else{if(typeof c.instance!==$[8]){throw new Error("AddProperty: Invalid instance definition for property "+c.name+": "+c.instance)}else{c.hasInstance=false}}if(typeof c.classname===$[13]){c.hasClassName=true}else{if(typeof c.classname!==$[8]){throw new Error("AddProperty: Invalid classname definition for property "+c.name+": "+c.classname)}else{c.hasClassName=false}}c.hasConvert=c.convert!=null;c.hasPossibleValues=c.possibleValues!=null;c.addToQueue=c.addToQueue||false;c.addToQueueRuntime=c.addToQueueRuntime||false;c.up=c.name.toUpperCase();var e=qx.core.Property.$$store.user[c.name]="__user$"+c.name;var a=$[77]+c.method;var d="_modify"+c.implMethod;var b="_check"+c.implMethod;var g=qx.core.Property.$$method;if(!g.set[c.name]){g.set[c.name]="set"+c.method;g.get[c.name]="get"+c.method;g.reset[c.name]=$[136]+c.method}f[e]=c.defaultValue;f["get"+c.method]=function(){return this[e]};f["force"+c.method]=function(h){return this[e]=h};f[$[136]+c.method]=function(){return this["set"+c.method](c.defaultValue)};if(c.type===$[121]){f["toggle"+c.method]=function(h){return this["set"+c.method](!this[e])}}if(c.allowMultipleArguments||c.hasConvert||c.hasInstance||c.hasClassName||c.hasPossibleValues||c.hasUnitDetection||c.addToQueue||c.addToQueueRuntime||c.addToStateQueue){f["set"+c.method]=function(j){if(c.allowMultipleArguments&&arguments.length>1){j=qx.lang.Array.fromArguments(arguments)}if(c.hasConvert){try{j=c.convert.call(this,j,c)}catch(i){throw new Error("Attention! Could not convert new value for "+c.name+": "+j+": "+i)}}var h=this[e];if(j===h){return j}if(!(c.allowNull&&j==null)){if(c.hasType&&typeof j!==c.type){throw new Error($[245]+j+$[223]+c.name+$[427]+c.type+$[536]+typeof j+'"!')}if(qx.Class.getByName(c.instance)){if(c.hasInstance&&!(j instanceof qx.Class.getByName(c.instance))){throw new Error($[245]+j+$[223]+c.name+$[526]+c.instance+'"!')}}else{if(qx.core.Variant.isSet($[318],"on")){if(c.hasInstance&&!(j instanceof qx.OO.classes[c.instance])){throw new Error($[245]+j+$[223]+c.name+$[526]+c.instance+'"!')}}}if(c.hasClassName&&j.classname!=c.classname){throw new Error($[245]+j+$[223]+c.name+'" which must be an object with the classname "'+c.classname+'"!')}if(c.hasPossibleValues&&j!=null&&!qx.lang.Array.contains(c.possibleValues,j)){throw new Error("Failed to save value for "+c.name+". '"+j+"' is not a possible value!")}}if(this[b]){try{j=this[b](j,c);if(j===h){return j}}catch(i){throw new Error($[556]+c.name+" "+i)}}this[e]=j;if(this[d]){try{this[d](j,h,c)}catch(i){throw new Error('Modification of property "'+c.name+$[517]+i)}}if(c.addToQueue){this.addToQueue(c.name)}if(c.addToQueueRuntime){this.addToQueueRuntime(c.name)}if(c.addToStateQueue){this.addToStateQueue()}if(this.hasEventListeners&&this.hasEventListeners(a)){try{this.createDispatchDataEvent(a,j)}catch(i){throw new Error("Property "+c.name+$[519]+i)}}return j}}else{f["set"+c.method]=function(l){var i=this[e];if(l===i){return l}if(!(c.allowNull&&l==null)){if(c.hasType&&typeof l!==c.type){throw new Error($[245]+l+$[223]+c.name+$[427]+c.type+$[536]+typeof l+'"!')}}if(this[b]){try{l=this[b](l,c);if(l===i){return l}}catch(j){throw new Error($[556]+c.name+" "+j)}}this[e]=l;if(this[d]){try{this[d](l,i,c)}catch(j){var h=new String(l).substring(0,50);throw new Error('Setting property "'+c.name+'" to "'+h+$[517]+j)}}if(this.hasEventListeners&&this.hasEventListeners(a)){var k=new qx.event.type.DataEvent(a,l,i,false);k.setTarget(this);try{this.dispatchEvent(k,true)}catch(j){throw new Error("Property "+c.name+$[519]+j)}}return l}}f["set"+c.method].self=f.constructor;if(typeof c.getAlias===$[13]){f[c.getAlias]=f["get"+c.method]}if(typeof c.setAlias===$[13]){f[c.setAlias]=f["set"+c.method]}}}});
+qx.Class.define("qx.core.Property",{statics:{__checks:{Boolean:'typeof value === "boolean"',String:'typeof value === "string"',NonEmptyString:'typeof value === "string" && value.length > 0',Number:$[335],Integer:'typeof value === "number" && isFinite(value) && value%1 === 0',Float:$[335],Double:$[335],Error:"value instanceof Error",RegExp:"value instanceof RegExp",Object:'value !== null && typeof value === "object"',Array:"value instanceof Array",Map:'value !== null && typeof value === "object" && !(value instanceof Array) && !(value instanceof qx.core.Object)',Function:"value instanceof Function",Date:"value instanceof Date",Node:"value !== null && value.nodeType !== undefined",Element:"value !== null && value.nodeType === 1 && value.attributes",Document:"value !== null && value.nodeType === 9 && value.documentElement",Window:"value !== null && window.document",Event:"value !== null && value.type !== undefined",Class:'value !== null && value.$$type === "Class"',Mixin:'value !== null && value.$$type === "Mixin"',Interface:'value !== null && value.$$type === "Interface"',Theme:'value !== null && value.$$type === "Theme"',Color:'typeof value === "string" && qx.util.ColorUtil.isValid(value)',Border:"value !== null && qx.theme.manager.Border.getInstance().isDynamic(value)",Font:"value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)",Label:'value !== null && typeof value === "string"'},__dispose:{Object:true,Array:true,Map:true,Function:true,Date:true,Node:true,Element:true,Document:true,Window:true,Event:true,Class:true,Mixin:true,Interface:true,Theme:true,Border:true,Font:true},$$inherit:$[151],$$idcounter:0,$$store:{user:{},theme:{},inherit:{},init:{},useinit:{}},$$method:{get:{},set:{},reset:{},init:{},refresh:{},style:{},unstyle:{}},$$allowedKeys:{name:$[13],dispose:$[121],inheritable:$[121],nullable:$[121],themeable:$[121],refine:$[121],init:null,apply:$[13],event:$[13],check:null,transform:$[13],deferredInit:$[121]},$$allowedGroupKeys:{name:$[13],group:$[11],mode:$[13],themeable:$[121]},$$inheritable:{},refresh:function(g){var f=g.getParent();if(f){var c=g.constructor;var b=this.$$store.inherit;var e=this.$$method.refresh;var d;if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){g.debug("Update widget: "+g)}}while(c){d=c.$$properties;if(d){for(var a in this.$$inheritable){if(d[a]&&g[e[a]]){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>2){g.debug("Updating property: "+a+" to '"+f[b[a]]+"'")}}g[e[a]](f[b[a]])}}}c=c.superclass}}},attach:function(b){var c=b.$$properties;if(c){for(var a in c){this.attachMethods(b,a,c[a])}}b.$$propertiesAttached=true},attachMethods:function(c,b,a){if(a._legacy||a._fast||a._cached){return}var d,e;if(b.charAt(0)==="_"){if(b.charAt(1)==="_"){d="__";e=qx.lang.String.toFirstUp(b.substring(2))}else{d="_";e=qx.lang.String.toFirstUp(b.substring(1))}}else{d="";e=qx.lang.String.toFirstUp(b)}a.group?this.__attachGroupMethods(c,a,d,e):this.__attachPropertyMethods(c,a,d,e)},__attachGroupMethods:function(n,e,k,r){var h=n.prototype;var b=e.name;var d=e.themeable===true;if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){console.debug("Generating property group: "+b)}}var g=[];var o=[];if(d){var s=[];var m=[]}var c="var a=arguments[0] instanceof Array?arguments[0]:arguments;";g.push(c);if(d){s.push(c)}if(e.mode==$[132]){var p="a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));";g.push(p);if(d){s.push(p)}}for(var j=0,q=e.group,f=q.length;j<f;j++){if(qx.core.Variant.isSet($[7],"on")){if(!this.$$method.set[q[j]]||!this.$$method.reset[q[j]]){throw new Error("Cannot create property group '"+b+"' including non-existing property '"+q[j]+"'!")}}g.push($[70],this.$$method.set[q[j]],"(a[",j,"]);");o.push($[70],this.$$method.reset[q[j]],"();");if(d){if(qx.core.Variant.isSet($[7],"on")){if(!this.$$method.style[q[j]]){throw new Error("Cannot add the non themable property '"+q[j]+"' to the themable property group '"+b+"'")}}s.push($[70],this.$$method.style[q[j]],"(a[",j,"]);");m.push($[70],this.$$method.unstyle[q[j]],"();")}}this.$$method.set[b]=k+"set"+r;h[this.$$method.set[b]]=new Function(g.join(""));this.$$method.reset[b]=k+$[136]+r;h[this.$$method.reset[b]]=new Function(o.join(""));if(d){this.$$method.style[b]=k+$[81]+r;h[this.$$method.style[b]]=new Function(s.join(""));this.$$method.unstyle[b]=k+$[147]+r;h[this.$$method.unstyle[b]]=new Function(m.join(""))}},__attachPropertyMethods:function(e,d,f,h){var b=e.prototype;var c=d.name;if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){console.debug("Generating property wrappers: "+c)}}if(d.dispose===undefined&&typeof d.check===$[13]){d.dispose=this.__dispose[d.check]||qx.Class.isDefined(d.check)}var g=this.$$method;var a=this.$$store;a.user[c]="__user$"+c;a.theme[c]="__theme$"+c;a.init[c]="__init$"+c;a.inherit[c]="__inherit$"+c;a.useinit[c]="__useinit$"+c;g.get[c]=f+"get"+h;b[g.get[c]]=function(){return qx.core.Property.executeOptimizedGetter(this,e,c,"get")};g.set[c]=f+"set"+h;b[g.set[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,"set",arguments)};g.reset[c]=f+$[136]+h;b[g.reset[c]]=function(){return qx.core.Property.executeOptimizedSetter(this,e,c,$[136])};if(d.inheritable||d.apply||d.event||d.deferredInit){g.init[c]=f+"init"+h;b[g.init[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,"init",arguments)}}if(d.inheritable){g.refresh[c]=f+$[170]+h;b[g.refresh[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,$[170],arguments)}}if(d.themeable){g.style[c]=f+$[81]+h;b[g.style[c]]=function(i){return qx.core.Property.executeOptimizedSetter(this,e,c,$[81],arguments)};g.unstyle[c]=f+$[147]+h;b[g.unstyle[c]]=function(){return qx.core.Property.executeOptimizedSetter(this,e,c,$[147])}}if(d.check===$[3]){b[f+"toggle"+h]=new Function($[164]+g.set[c]+"(!this."+g.get[c]+"())");b[f+"is"+h]=new Function($[164]+g.get[c]+"()")}},__errors:{0:"Could not change or apply init value after constructing phase!",1:"Requires exactly one argument!",2:"Undefined value is not allowed!",3:"Does not allow any arguments!",4:"Null value is not allowed!",5:"Is invalid!"},error:function(e,g,c,a,b){var d=e.constructor.classname;var f="Error in property "+c+" of class "+d+" in method "+this.$$method[a][c]+" with incoming value '"+b+"': ";throw new Error(f+(this.__errors[g]||"Unknown reason: "+g))},__unwrapFunctionFromCode:function(a,c,e,g,h,d){var b=this.$$method[g][e];if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[235])>1){console.debug("Code["+this.$$method[g][e]+"]: "+h.join(""))}try{c[b]=new Function("value",h.join(""))}catch(f){alert("Malformed generated code to unwrap method: "+this.$$method[g][e]+"\n"+h.join(""))}}else{c[b]=new Function("value",h.join(""))}if(d===undefined){return a[b]()}else{if(qx.core.Variant.isSet($[7],"on")){return a[b].apply(a,d)}else{return a[b](d[0])}}},executeOptimizedGetter:function(a,e,d,f){var c=e.$$properties[d];var b=e.prototype;var g=[];if(c.inheritable){g.push($[126],this.$$store.inherit[d],$[158]);g.push($[164],this.$$store.inherit[d],";");g.push("else ")}g.push($[126],this.$$store.user[d],$[158]);g.push($[164],this.$$store.user[d],";");if(c.themeable){g.push($[240],this.$$store.theme[d],$[158]);g.push($[164],this.$$store.theme[d],";")}if(c.deferredInit&&c.init===undefined){g.push($[240],this.$$store.init[d],$[158]);g.push($[164],this.$$store.init[d],";")}g.push("else ");if(c.init!==undefined){g.push($[164],this.$$store.init[d],";")}else{if(c.inheritable||c.nullable){g.push("return null;")}else{g.push('throw new Error("Property ',d," of an instance of ",e.classname,' is not (yet) ready!");')}}return this.__unwrapFunctionFromCode(a,b,d,f,g)},executeOptimizedSetter:function(k,g,a,e,h){var d=g.$$properties[a];var f=g.prototype;var b=[];var i=e==="set"||e===$[81]||(e==="init"&&d.init===undefined);var l=e===$[136]||e===$[147];var c=d.apply||d.event||d.inheritable;if(e===$[81]||e===$[147]){var j=this.$$store.theme[a]}else{if(e==="init"){var j=this.$$store.init[a]}else{var j=this.$$store.user[a]}}if(qx.core.Variant.isSet($[7],"on")){b.push($[453]);if(e==="init"){b.push('if(this.$$initialized)prop.error(this,0,"'+a+'","'+e+$[179])}if(e===$[170]){}else{if(i){b.push('if(arguments.length!==1)prop.error(this,1,"'+a+'","'+e+$[179]);b.push($[462]+a+'","'+e+$[179])}else{b.push('if(arguments.length!==0)prop.error(this,3,"'+a+'","'+e+$[179])}}}else{if(!d.nullable||d.check||d.inheritable){b.push($[453])}if(qx.core.Variant.isSet($[7],"on")&&e==="set"){b.push($[462]+a+'","'+e+$[179])}}if(i){if(d.transform){b.push("value=this.",d.transform,"(value);")}}if(c){if(i){b.push($[126],j,"===value)return value;")}else{if(l){b.push($[126],j,"===undefined)return;")}}}if(d.inheritable){b.push("var inherit=prop.$$inherit;")}if(i&&qx.core.Variant.isSet($[7],"on")){if(!d.nullable){b.push('if(value===null)prop.error(this,4,"'+a+'","'+e+$[179])}if(d.check!==undefined){if(d.nullable){b.push("if(value!==null)")}if(d.inheritable){b.push("if(value!==inherit)")}b.push("if(");if(this.__checks[d.check]!==undefined){b.push("!(",this.__checks[d.check],")")}else{if(qx.Class.isDefined(d.check)){b.push("!(value instanceof ",d.check,")")}else{if(typeof d.check===$[45]){b.push("!",g.classname,$[488],a);b.push(".check.call(this, value)")}else{if(typeof d.check===$[13]){b.push("!(",d.check,")")}else{if(d.check instanceof Array){d.checkMap=qx.lang.Object.fromArray(d.check);b.push(g.classname,$[488],a);b.push(".checkMap[value]===undefined")}else{throw new Error("Could not add check to property "+a+" of class "+g.classname)}}}}}b.push(')prop.error(this,5,"'+a+'","'+e+$[179])}}if(!c){if(e==="set"){b.push($[70],this.$$store.user[a],$[79])}else{if(e===$[136]){b.push($[126],this.$$store.user[a],$[158]);b.push($[145],this.$$store.user[a],";")}else{if(e===$[81]){b.push($[70],this.$$store.theme[a],$[79])}else{if(e===$[147]){b.push($[126],this.$$store.theme[a],$[158]);b.push($[145],this.$$store.theme[a],";")}else{if(e==="init"&&i){b.push($[70],this.$$store.init[a],$[79])}}}}}}else{if(d.inheritable){b.push("var computed, old=this.",this.$$store.inherit[a],";")}else{b.push("var computed, old;")}b.push($[126],this.$$store.user[a],$[291]);if(e==="set"){if(!d.inheritable){b.push($[270],this.$$store.user[a],";")}b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[136]){if(!d.inheritable){b.push($[270],this.$$store.user[a],";")}b.push($[145],this.$$store.user[a],";");b.push($[126],this.$$store.theme[a],$[158]);b.push($[60],this.$$store.theme[a],";");b.push($[240],this.$$store.init[a],$[291]);b.push($[60],this.$$store.init[a],";");b.push($[70],this.$$store.useinit[a],"=true;");b.push("}")}else{if(d.inheritable){b.push($[60],this.$$store.user[a],";")}else{b.push("old=computed=this.",this.$$store.user[a],";")}if(e===$[81]){b.push($[70],this.$$store.theme[a],$[79])}else{if(e===$[147]){b.push($[145],this.$$store.theme[a],";")}else{if(e==="init"&&i){b.push($[70],this.$$store.init[a],$[79])}}}}}b.push("}");if(d.themeable){b.push($[240],this.$$store.theme[a],$[291]);if(!d.inheritable){b.push($[270],this.$$store.theme[a],";")}if(e==="set"){b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[81]){b.push($[60],this.$$store.theme[a],$[79])}else{if(e===$[147]){b.push($[145],this.$$store.theme[a],";");b.push($[126],this.$$store.init[a],$[291]);b.push($[60],this.$$store.init[a],";");b.push($[70],this.$$store.useinit[a],"=true;");b.push("}")}else{if(e==="init"){if(i){b.push($[70],this.$$store.init[a],$[79])}b.push($[60],this.$$store.theme[a],";")}else{if(e===$[170]){b.push($[60],this.$$store.theme[a],";")}}}}}b.push("}")}b.push($[240],this.$$store.useinit[a],"){");if(!d.inheritable){b.push($[270],this.$$store.init[a],";")}if(e==="init"){if(i){b.push($[60],this.$$store.init[a],$[79])}else{b.push($[60],this.$$store.init[a],";")}}else{if(e==="set"||e===$[81]||e===$[170]){b.push($[145],this.$$store.useinit[a],";");if(e==="set"){b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[81]){b.push($[60],this.$$store.theme[a],$[79])}else{if(e===$[170]){b.push($[60],this.$$store.init[a],";")}}}}}b.push("}");if(e==="set"||e===$[81]||e==="init"){b.push("else{");if(e==="set"){b.push($[60],this.$$store.user[a],$[79])}else{if(e===$[81]){b.push($[60],this.$$store.theme[a],$[79])}else{if(e==="init"){if(i){b.push($[60],this.$$store.init[a],$[79])}else{b.push($[60],this.$$store.init[a],";")}b.push($[70],this.$$store.useinit[a],"=true;")}}}b.push("}")}}if(d.inheritable){b.push("if(computed===undefined||computed===inherit){");if(e===$[170]){b.push("computed=value;")}else{b.push("var pa=this.getParent();if(pa)computed=pa.",this.$$store.inherit[a],";")}b.push("if((computed===undefined||computed===inherit)&&");b.push($[70],this.$$store.init[a],"!==undefined&&");b.push($[70],this.$$store.init[a],"!==inherit){");b.push($[60],this.$$store.init[a],";");b.push($[70],this.$$store.useinit[a],"=true;");b.push("}else{");b.push($[145],this.$$store.useinit[a],";}");b.push("}");b.push($[514]);b.push("if(computed===inherit){");b.push("computed=undefined;delete this.",this.$$store.inherit[a],";");b.push("}");b.push("else if(computed===undefined)");b.push($[145],this.$$store.inherit[a],";");b.push("else this.",this.$$store.inherit[a],"=computed;");b.push("var backup=computed;");b.push($[535]);b.push($[404])}else{if(c){if(e!=="set"&&e!==$[81]){b.push($[535])}b.push($[514]);b.push($[404])}}if(c){if(d.apply){b.push($[70],d.apply,"(computed, old);")}if(d.event){b.push('this.createDispatchChangeEvent("',d.event,'", computed, old);')}if(d.inheritable&&f.getChildren){b.push("var a=this.getChildren();if(a)for(var i=0,l=a.length;i<l;i++){");b.push("if(a[i].",this.$$method.refresh[a],")a[i].",this.$$method.refresh[a],"(backup);");b.push("}")}}if(i){b.push("return value;")}return this.__unwrapFunctionFromCode(k,f,a,e,b,h)}},settings:{"qx.propertyDebugLevel":0}});
qx.Class.define("qx.lang.String",{statics:{trim:function(a){return a.replace(/^\s+|\s+$/g,"")},pad:function(f,e,d,c){if(typeof d===$[8]){d="0"}var a="";for(var b=f.length;b<e;b++){a+=d}if(c==true){return f+a}else{return a+f}},toFirstUp:function(a){return a.charAt(0).toUpperCase()+a.substr(1)},contains:function(b,a){return b.indexOf(a)!=-1},format:function(c,a){var d=c;for(var b=0;b<a.length;b++){d=d.replace(new RegExp("%"+(b+1),"g"),a[b])}return d},escapeRegexpChars:function(a){return a.replace(/([\\\.\(\)\[\]\{\}\^\$\?\+\*])/g,"\\$1")}}});
-qx.Class.define($[463],{extend:Object,include:[qx.core.MUserData],construct:function(){this._hashCode=qx.core.Object.__availableHashCode++;if(this._autoDispose){this.__dbKey=qx.core.Object.__freeAvailableDbKeys.pop();if(!this.__dbKey){this.__dbKey=qx.core.Object.__db.length;qx.core.Object.__db.push(this)}else{qx.core.Object.__db[this.__dbKey]=this}}},statics:{__availableHashCode:0,__freeAvailableDbKeys:[],__db:[],__disposeAll:false,$$type:$[108],toHashCode:function(a){if(a._hashCode!=null){return a._hashCode}return a._hashCode=this.__availableHashCode++},getDb:function(){return this.__db},dispose:function(a){if(this.__disposed){return}this.__disposed=true;this.__unload=a||false;var c,d=this.__db;for(var b=d.length-1;b>=0;b--){c=d[b];if(c&&c.__disposed===false){c.dispose()}}},inGlobalDispose:function(){return this.__disposed||false},isPageUnload:function(){return this.__unload||false}},members:{_autoDispose:true,toHashCode:function(){return this._hashCode},toString:function(){if(this.classname){return"[object "+this.classname+"]"}return"[object Object]"},base:function(b,a){if(arguments.length===1){return b.callee.base.call(this)}else{return b.callee.base.apply(this,Array.prototype.slice.call(arguments,1))}},self:function(a){return a.callee.self},getDbKey:function(){return this.__dbKey},set:function(b,a){var d=qx.core.Property.$$method.set;if(typeof b===$[14]){if(qx.core.Variant.isSet($[7],"on")){if(!this[d[b]]){throw new Error($[257]+b);return}}return this[d[b]](a)}else{for(var c in b){if(qx.core.Variant.isSet($[7],"on")){if(!this[d[c]]){throw new Error($[257]+c);continue}}this[d[c]](b[c])}return this}},get:function(b){var a=qx.core.Property.$$method.get;if(qx.core.Variant.isSet($[7],"on")){if(!this[a[b]]){throw new Error($[257]+b);return}}return this[a[b]]()},reset:function(b){var a=qx.core.Property.$$method.reset;if(qx.core.Variant.isSet($[7],"on")){if(!this[a[b]]){throw new Error($[257]+b);return}}this[a[b]]()},__disposed:false,getDisposed:function(){return this.__disposed},isDisposed:function(){return this.__disposed},dispose:function(){if(this.__disposed){return}this.__disposed=true;var c=this.constructor;var b;while(c.superclass){if(c.$$destructor){c.$$destructor.call(this)}if(c.$$includes){b=c.$$flatIncludes;for(var d=0,a=b.length;d<a;d++){if(b[d].$$destructor){b[d].$$destructor.call(this)}}}c=c.superclass}},debug:qx.core.Variant.select($[7],{on:function(a){if(typeof console.log===$[45]){console.log(a)}},off:function(a){}}),info:function(a){this.debug("INFO: "+a)},warn:function(){this.debug("WARN: "+msg)},error:function(){this.debug("ERROR: "+msg)},printStackTrace:qx.core.Variant.select($[7],{on:function(){if(typeof console.trace===$[45]){this.debug("Current stack trace:");console.trace()}},off:function(){}}),_disposeFields:function(b){var c;for(var d=0,a=arguments.length;d<a;d++){var c=arguments[d];if(this[c]==null){continue}if(!this.hasOwnProperty(c)){continue}this[c]=null}},_disposeObjects:function(b){var c;for(var d=0,a=arguments.length;d<a;d++){var c=arguments[d];if(this[c]==null){continue}if(!this.hasOwnProperty(c)){continue}if(!this[c].dispose){throw new Error(this.classname+"."+c+" is not a qooxdoo object. Use _disposeFields instead of _disposeObjects.")}this[c].dispose();this[c]=null}},_disposeObjectDeep:function(b,a){var b;if(this[b]==null){return}if(!this.hasOwnProperty(b)){return}this.__disposeObjectsDeepRecurser(this[b],a||0);this[b]=null},__disposeObjectsDeepRecurser:function(f,b){if(f instanceof qx.core.Object){f.dispose()}else{if(f instanceof Array){for(var d=0,a=f.length;d<a;d++){var e=f[d];if(e==null){continue}if(typeof e==$[11]){if(b>0){this.__disposeObjectsDeepRecurser(e,b-1)}f[d]=null}else{if(typeof e==$[45]){f[d]=null}}}}else{if(f instanceof Object){for(var c in f){if(f[c]==null||!f.hasOwnProperty(c)){continue}var e=f[c];if(typeof e==$[11]){if(b>0){this.__disposeObjectsDeepRecurser(e,b-1)}f[c]=null}else{if(typeof e==$[45]){f[c]=null}}}}}}}},destruct:function(){var d=this.constructor;var f;var h=qx.core.Property.$$store;var i=h.user;var e=h.theme;var b=h.inherit;var g=h.useinit;var c=h.init;while(d){f=d.$$properties;if(f){for(var a in f){if(f[a].dispose){this[i[a]]=this[e[a]]=this[b[a]]=this[g[a]]=this[c[a]]=undefined}}}d=d.superclass}if(this.__dbKey!=null){if(qx.core.Object.__disposeAll){qx.core.Object.__db[this.__dbKey]=null}else{delete qx.core.Object.__db[this.__dbKey]}qx.core.Object.__freeAvailableDbKeys.push(this.__dbKey)}}});
+qx.Class.define($[461],{extend:Object,include:[qx.core.MUserData],construct:function(){this._hashCode=qx.core.Object.__availableHashCode++;if(this._autoDispose){this.__dbKey=qx.core.Object.__freeAvailableDbKeys.pop();if(!this.__dbKey){this.__dbKey=qx.core.Object.__db.length;qx.core.Object.__db.push(this)}else{qx.core.Object.__db[this.__dbKey]=this}}},statics:{__availableHashCode:0,__freeAvailableDbKeys:[],__db:[],__disposeAll:false,$$type:$[108],toHashCode:function(a){if(a._hashCode!=null){return a._hashCode}return a._hashCode=this.__availableHashCode++},getDb:function(){return this.__db},dispose:function(a){if(this.__disposed){return}this.__disposed=true;this.__unload=a||false;var c,d=this.__db;for(var b=d.length-1;b>=0;b--){c=d[b];if(c&&c.__disposed===false){c.dispose()}}},inGlobalDispose:function(){return this.__disposed||false},isPageUnload:function(){return this.__unload||false}},members:{_autoDispose:true,toHashCode:function(){return this._hashCode},toString:function(){if(this.classname){return"[object "+this.classname+"]"}return"[object Object]"},base:function(b,a){if(arguments.length===1){return b.callee.base.call(this)}else{return b.callee.base.apply(this,Array.prototype.slice.call(arguments,1))}},self:function(a){return a.callee.self},getDbKey:function(){return this.__dbKey},set:function(b,a){var d=qx.core.Property.$$method.set;if(typeof b===$[13]){if(qx.core.Variant.isSet($[7],"on")){if(!this[d[b]]){throw new Error($[256]+b);return}}return this[d[b]](a)}else{for(var c in b){if(qx.core.Variant.isSet($[7],"on")){if(!this[d[c]]){throw new Error($[256]+c);continue}}this[d[c]](b[c])}return this}},get:function(b){var a=qx.core.Property.$$method.get;if(qx.core.Variant.isSet($[7],"on")){if(!this[a[b]]){throw new Error($[256]+b);return}}return this[a[b]]()},reset:function(b){var a=qx.core.Property.$$method.reset;if(qx.core.Variant.isSet($[7],"on")){if(!this[a[b]]){throw new Error($[256]+b);return}}this[a[b]]()},__disposed:false,getDisposed:function(){return this.__disposed},isDisposed:function(){return this.__disposed},dispose:function(){if(this.__disposed){return}this.__disposed=true;var c=this.constructor;var b;while(c.superclass){if(c.$$destructor){c.$$destructor.call(this)}if(c.$$includes){b=c.$$flatIncludes;for(var d=0,a=b.length;d<a;d++){if(b[d].$$destructor){b[d].$$destructor.call(this)}}}c=c.superclass}},debug:qx.core.Variant.select($[7],{on:function(a){if(typeof console.log===$[45]){console.log(a)}},off:function(a){}}),info:function(a){this.debug("INFO: "+a)},warn:function(a){this.debug("WARN: "+a)},error:function(a){this.debug("ERROR: "+a)},printStackTrace:qx.core.Variant.select($[7],{on:function(){if(typeof console.trace===$[45]){this.debug("Current stack trace:");console.trace()}},off:function(){}}),_disposeFields:function(b){var c;for(var d=0,a=arguments.length;d<a;d++){var c=arguments[d];if(this[c]==null){continue}if(!this.hasOwnProperty(c)){continue}this[c]=null}},_disposeObjects:function(b){var c;for(var d=0,a=arguments.length;d<a;d++){var c=arguments[d];if(this[c]==null){continue}if(!this.hasOwnProperty(c)){continue}if(!this[c].dispose){throw new Error(this.classname+"."+c+" is not a qooxdoo object. Use _disposeFields instead of _disposeObjects.")}this[c].dispose();this[c]=null}},_disposeObjectDeep:function(b,a){var b;if(this[b]==null){return}if(!this.hasOwnProperty(b)){return}this.__disposeObjectsDeepRecurser(this[b],a||0);this[b]=null},__disposeObjectsDeepRecurser:function(f,b){if(f instanceof qx.core.Object){f.dispose()}else{if(f instanceof Array){for(var d=0,a=f.length;d<a;d++){var e=f[d];if(e==null){continue}if(typeof e==$[11]){if(b>0){this.__disposeObjectsDeepRecurser(e,b-1)}f[d]=null}else{if(typeof e==$[45]){f[d]=null}}}}else{if(f instanceof Object){for(var c in f){if(f[c]==null||!f.hasOwnProperty(c)){continue}var e=f[c];if(typeof e==$[11]){if(b>0){this.__disposeObjectsDeepRecurser(e,b-1)}f[c]=null}else{if(typeof e==$[45]){f[c]=null}}}}}}}},destruct:function(){var d=this.constructor;var f;var h=qx.core.Property.$$store;var i=h.user;var e=h.theme;var b=h.inherit;var g=h.useinit;var c=h.init;while(d){f=d.$$properties;if(f){for(var a in f){if(f[a].dispose){this[i[a]]=this[e[a]]=this[b[a]]=this[g[a]]=this[c[a]]=undefined}}}d=d.superclass}if(this.__dbKey!=null){if(qx.core.Object.__disposeAll){qx.core.Object.__db[this.__dbKey]=null}else{delete qx.core.Object.__db[this.__dbKey]}qx.core.Object.__freeAvailableDbKeys.push(this.__dbKey)}}});
qx.Class.define("qx.lang.Function",{statics:{returnTrue:function(){return true},returnFalse:function(){return false},returnNull:function(){return null},returnThis:function(){return this},returnZero:function(){return 0},returnNegativeIndex:function(){return -1},bind:function(e,b,a){if(qx.core.Variant.isSet($[7],"on")){if(typeof e!==$[45]){throw new Error("First parameter to bind() needs to be of type function!")}if(typeof b!==$[11]){throw new Error("Second parameter to bind() needs to be of type object!")}}if(arguments.length>2){var c=Array.prototype.slice.call(arguments,2);var d=function(){e.context=b;var f=e.apply(b,c.concat(qx.lang.Array.fromArguments(arguments)));e.context=null;return f}}else{var d=function(){e.context=b;var f=e.apply(b,arguments);e.context=null;return f}}d.self=e.self?e.self.constructor:b;return d},bindEvent:function(c,a){if(qx.core.Variant.isSet($[7],"on")){if(typeof c!==$[45]){throw new Error("First parameter to bindEvent() needs to be of type function!")}if(typeof a!==$[11]){throw new Error("Second parameter to bindEvent() needs to be of type object!")}}var b=function(e){c.context=a;var d=c.call(a,e||window.event);c.context=null;return d};b.self=c.self?c.self.constructor:a;return b},getCaller:function(a){return a.caller?a.caller.callee:a.callee.caller}}});
qx.Class.define("qx.bom.Viewport",{statics:{getWidth:qx.core.Variant.select($[0],{opera:function(a){return(a||window).document.body.clientWidth},webkit:function(a){return(a||window).innerWidth},"default":function(b){var a=(b||window).document;return a.compatMode===$[114]?a.documentElement.clientWidth:a.body.clientWidth}}),getHeight:qx.core.Variant.select($[0],{opera:function(a){return(a||window).document.body.clientHeight},webkit:function(a){return(a||window).innerHeight},"default":function(b){var a=(b||window).document;return a.compatMode===$[114]?a.documentElement.clientHeight:a.body.clientHeight}}),getScrollLeft:qx.core.Variant.select($[0],{mshtml:function(b){var a=(b||window).document;return a.documentElement.scrollLeft||a.body.scrollLeft},"default":function(a){return(a||window).pageXOffset}}),getScrollTop:qx.core.Variant.select($[0],{mshtml:function(b){var a=(b||window).document;return a.documentElement.scrollTop||a.body.scrollTop},"default":function(a){return(a||window).pageYOffset}})}});
-qx.Class.define("qx.Theme",{statics:{define:function(e,d){if(!d){var d={}}if(d.include&&!(d.include instanceof Array)){d.include=[d.include]}if(qx.core.Variant.isSet($[7],"on")){this.__validateConfig(e,d)}var g={$$type:$[110],name:e,title:d.title,toString:this.genericToString};if(d.extend){g.supertheme=d.extend}g.basename=qx.Class.createNamespace(e,g);this.__convert(g,d);this.__registry[e]=g;if(d.include){for(var f=0,c=d.include,b=c.length;f<b;f++){this.include(g,c[f])}}},getAll:function(){return this.__registry},getByName:function(a){return this.__registry[a]},isDefined:function(a){return this.getByName(a)!==undefined},getTotalNumber:function(){return qx.lang.Object.getLength(this.__registry)},genericToString:function(){return"[Theme "+this.name+"]"},__extractType:function(b){for(var c=0,d=this.__inheritableKeys,a=d.length;c<a;c++){if(b[d[c]]){return d[c]}}},__convert:function(f,b){var c=this.__extractType(b);if(b.extend&&!c){c=b.extend.type}f.type=c||"other";if(!c){return}var a=function(){};if(b.extend){a.prototype=new b.extend.$$clazz}var e=a.prototype;var d=b[c];for(var g in d){e[g]=d[g];if(e[g].base){if(qx.core.Variant.isSet($[7],"on")){if(!b.extend){throw new Error("Found base flag in entry '"+g+$[497]+b.name+"'. Base flags are not allowed for themes without a valid super theme!")}}e[g].base=b.extend}}f.$$clazz=a;f[c]=new a},__registry:{},__inheritableKeys:["colors","borders","fonts","icons","widgets",$[369],"meta"],__allowedKeys:qx.core.Variant.select($[7],{on:{title:$[14],type:$[14],extend:$[11],colors:$[11],borders:$[11],fonts:$[11],icons:$[11],widgets:$[11],appearances:$[11],meta:$[11],include:$[11]},"default":null}),__metaKeys:qx.core.Variant.select($[7],{on:{color:$[11],border:$[11],font:$[11],widget:$[11],icon:$[11],appearance:$[11]},"default":null}),__validateConfig:qx.core.Variant.select($[7],{on:function(b,c){var g=this.__allowedKeys;for(var j in c){if(g[j]===undefined){throw new Error($[285]+j+$[241]+b+$[191])}if(c[j]==null){throw new Error($[164]+j+$[241]+b+$[391])}if(g[j]!==null&&typeof c[j]!==g[j]){throw new Error($[272]+j+$[241]+b+$[286]+g[j]+'"!')}}if(c.title===undefined){throw new Error("Missing title definition in theme: "+b)}var f=["colors","borders","fonts","icons","widgets",$[369],"meta"];for(var e=0,d=f.length;e<d;e++){var j=f[e];if(c[j]!==undefined&&(c[j] instanceof Array||c[j] instanceof RegExp||c[j] instanceof Date||c[j].classname!==undefined)){throw new Error($[164]+j+$[241]+b+$[386])}}var a=0;for(var e=0,d=f.length;e<d;e++){var j=f[e];if(c[j]){a++}if(a>1){throw new Error("You can only define one theme category per file! Invalid theme: "+b)}}if(!c.extend&&a===0){throw new Error("You must define at least one entry in your theme configuration :"+b)}if(c.meta){var h;for(var j in c.meta){h=c.meta[j];if(this.__metaKeys[j]===undefined){throw new Error('The key "'+j+'" is not allowed inside a meta theme block.')}if(typeof h!==this.__metaKeys[j]){throw new Error('The type of the key "'+j+'" inside the meta block is wrong.')}if(!(typeof h===$[11]&&h!==null&&h.$$type===$[110])){throw new Error('The content of a meta theme must reference to other themes. The value for "'+j+$[241]+b+'" is invalid: '+h)}}}if(c.extend&&c.extend.$$type!==$[110]){throw new Error('Invalid extend in theme "'+b+'": '+c.extend)}},"default":function(){}}),patch:function(e,f){var b=this.__extractType(f);if(b!==this.__extractType(e)){throw new Error($[493]+e.name+$[416]+f.name+"'!")}var c=f[b];var d=e[b];for(var a in c){d[a]=c[a]}},include:function(e,f){var b=f.type;if(b!==e.type){throw new Error($[493]+e.name+$[416]+f.name+"'!")}var c=f[b];var d=e[b];for(var a in c){if(d[a]!==undefined){throw new Error("It is not allowed to overwrite the key '"+a+$[497]+e.name+"' by mixin theme '"+f.name+"'.")}d[a]=c[a]}}}});
-qx.Class.define("qx.core.Target",{extend:qx.core.Object,construct:function(){arguments.callee.base.call(this)},members:{addEventListener:function(b,c,d){if(this.getDisposed()){return}if(qx.core.Variant.isSet($[7],"on")){if(typeof b!==$[14]){throw new Error($[476]+b+"): '"+b+"' is not a string!")}if(typeof c!==$[45]){throw new Error($[476]+b+"): '"+c+$[411])}if(this.constructor.classname&&!qx.Class.supportsEvent(this.constructor,b)){throw new Error("Objects of class '"+this.constructor.classname+"' does not support the event '"+b+"'",new Error())}}if(this.__listeners===undefined){this.__listeners={}}if(this.__listeners[b]===undefined){this.__listeners[b]={}}var a="event"+qx.core.Object.toHashCode(c)+(d?"$"+qx.core.Object.toHashCode(d):"");this.__listeners[b][a]={handler:c,object:d}},removeEventListener:function(c,d,e){if(this.getDisposed()){return}var b=this.__listeners;if(!b||b[c]===undefined){return}if(typeof d!==$[45]){throw new Error("qx.core.Target: removeEventListener("+c+"): '"+d+$[411])}var a="event"+qx.core.Object.toHashCode(d)+(e?"$"+qx.core.Object.toHashCode(e):"");delete this.__listeners[c][a]},hasEventListeners:function(a){return this.__listeners&&this.__listeners[a]!==undefined&&!qx.lang.Object.isEmpty(this.__listeners[a])},createDispatchEvent:function(a){if(this.hasEventListeners(a)){this.dispatchEvent(new qx.event.type.Event(a),true)}},createDispatchDataEvent:function(a,b){if(this.hasEventListeners(a)){this.dispatchEvent(new qx.event.type.DataEvent(a,b),true)}},createDispatchChangeEvent:function(b,c,a){if(this.hasEventListeners(b)){this.dispatchEvent(new qx.event.type.ChangeEvent(b,c,a),true)}},dispatchEvent:function(a,c){if(this.getDisposed()){return}if(a.getTarget()==null){a.setTarget(this)}if(a.getCurrentTarget()==null){a.setCurrentTarget(this)}this._dispatchEvent(a,c);var b=a.getDefaultPrevented();c&&a.dispose();return !b},_dispatchEvent:function(b){var d=this.__listeners;if(d){b.setCurrentTarget(this);var a=d[b.getType()];if(a){var e,f;for(var g in a){e=a[g].handler;f=a[g].object||this;e.call(f,b)}}}if(b.getBubbles()&&!b.getPropagationStopped()&&typeof(this.getParent)==$[45]){var c=this.getParent();if(c&&!c.getDisposed()&&c.getEnabled()){c._dispatchEvent(b)}}}},destruct:function(){this._disposeObjectDeep("__listeners",2)}});
-qx.Class.define($[9],{extend:qx.core.Object,construct:function(a){arguments.callee.base.call(this);this.setType(a)},properties:{type:{_fast:true,setOnlyOnce:true},originalTarget:{_fast:true,setOnlyOnce:true},target:{_fast:true,setOnlyOnce:true},relatedTarget:{_fast:true,setOnlyOnce:true},currentTarget:{_fast:true},bubbles:{_fast:true,defaultValue:false,noCompute:true},propagationStopped:{_fast:true,defaultValue:true,noCompute:true},defaultPrevented:{_fast:true,defaultValue:false,noCompute:true}},members:{_autoDispose:false,preventDefault:function(){this.setDefaultPrevented(true)},stopPropagation:function(){this.setPropagationStopped(true)}},destruct:function(){this._disposeFields("_valueOriginalTarget","_valueTarget","_valueRelatedTarget","_valueCurrentTarget")}});
-qx.Class.define($[78],{extend:qx.event.type.Event,construct:function(a,b){arguments.callee.base.call(this,a);this.setData(b)},properties:{propagationStopped:{_fast:true,defaultValue:false},data:{_fast:true}},destruct:function(){this._disposeFields("_valueData")}});
-qx.Class.define($[359],{extend:qx.event.type.Event,construct:function(b,c,a){arguments.callee.base.call(this,b);this.setValue(c);this.setOldValue(a)},properties:{value:{_fast:true},oldValue:{_fast:true}},members:{getData:function(){return this.getValue()}},destruct:function(){this._disposeFields("_valueValue","_valueOldValue")}});
-qx.Class.define("qx.client.Timer",{extend:qx.core.Target,construct:function(a){arguments.callee.base.call(this);this.setEnabled(false);if(a!=null){this.setInterval(a)}this.__oninterval=qx.lang.Function.bind(this._oninterval,this);this.__event=new qx.event.type.Event($[59])},events:{interval:$[9]},statics:{once:function(a,c,b){var d=new qx.client.Timer(b);d.addEventListener($[59],function(f){d.dispose();a.call(c,f);c=null},c);d.start()}},properties:{enabled:{init:true,check:$[3],apply:$[376]},interval:{check:$[22],init:1000,apply:"_applyInterval"}},members:{__intervalHandler:null,_applyInterval:function(b,a){if(this.getEnabled()){this.restart()}},_applyEnabled:function(b,a){if(a){window.clearInterval(this.__intervalHandler);this.__intervalHandler=null}else{if(b){this.__intervalHandler=window.setInterval(this.__oninterval,this.getInterval())}}},start:function(){this.setEnabled(true)},startWith:function(a){this.setInterval(a);this.start()},stop:function(){this.setEnabled(false)},restart:function(){this.stop();this.start()},restartWith:function(a){this.stop();this.startWith(a)},_oninterval:function(){if(this.getEnabled()&&this.hasEventListeners($[59])){this.dispatchEvent(this.__event,false)}}},destruct:function(){if(this.__intervalHandler){window.clearInterval(this.__intervalHandler)}this._disposeFields("__intervalHandler","__oninterval","__event")}});
+qx.Class.define("qx.Theme",{statics:{define:function(e,d){if(!d){var d={}}if(d.include&&!(d.include instanceof Array)){d.include=[d.include]}if(qx.core.Variant.isSet($[7],"on")){this.__validateConfig(e,d)}var g={$$type:$[110],name:e,title:d.title,toString:this.genericToString};if(d.extend){g.supertheme=d.extend}g.basename=qx.Class.createNamespace(e,g);this.__convert(g,d);this.__registry[e]=g;if(d.include){for(var f=0,c=d.include,b=c.length;f<b;f++){this.include(g,c[f])}}},getAll:function(){return this.__registry},getByName:function(a){return this.__registry[a]},isDefined:function(a){return this.getByName(a)!==undefined},getTotalNumber:function(){return qx.lang.Object.getLength(this.__registry)},genericToString:function(){return"[Theme "+this.name+"]"},__extractType:function(b){for(var c=0,d=this.__inheritableKeys,a=d.length;c<a;c++){if(b[d[c]]){return d[c]}}},__convert:function(f,b){var c=this.__extractType(b);if(b.extend&&!c){c=b.extend.type}f.type=c||"other";if(!c){return}var a=function(){};if(b.extend){a.prototype=new b.extend.$$clazz}var e=a.prototype;var d=b[c];for(var g in d){e[g]=d[g];if(e[g].base){if(qx.core.Variant.isSet($[7],"on")){if(!b.extend){throw new Error("Found base flag in entry '"+g+$[495]+b.name+"'. Base flags are not allowed for themes without a valid super theme!")}}e[g].base=b.extend}}f.$$clazz=a;f[c]=new a},__registry:{},__inheritableKeys:["colors","borders","fonts","icons","widgets",$[367],"meta"],__allowedKeys:qx.core.Variant.select($[7],{on:{title:$[13],type:$[13],extend:$[11],colors:$[11],borders:$[11],fonts:$[11],icons:$[11],widgets:$[11],appearances:$[11],meta:$[11],include:$[11]},"default":null}),__metaKeys:qx.core.Variant.select($[7],{on:{color:$[11],border:$[11],font:$[11],widget:$[11],icon:$[11],appearance:$[11]},"default":null}),__validateConfig:qx.core.Variant.select($[7],{on:function(b,c){var g=this.__allowedKeys;for(var j in c){if(g[j]===undefined){throw new Error($[284]+j+$[241]+b+$[191])}if(c[j]==null){throw new Error($[162]+j+$[241]+b+$[389])}if(g[j]!==null&&typeof c[j]!==g[j]){throw new Error($[271]+j+$[241]+b+$[285]+g[j]+'"!')}}if(c.title===undefined){throw new Error("Missing title definition in theme: "+b)}var f=["colors","borders","fonts","icons","widgets",$[367],"meta"];for(var e=0,d=f.length;e<d;e++){var j=f[e];if(c[j]!==undefined&&(c[j] instanceof Array||c[j] instanceof RegExp||c[j] instanceof Date||c[j].classname!==undefined)){throw new Error($[162]+j+$[241]+b+$[384])}}var a=0;for(var e=0,d=f.length;e<d;e++){var j=f[e];if(c[j]){a++}if(a>1){throw new Error("You can only define one theme category per file! Invalid theme: "+b)}}if(!c.extend&&a===0){throw new Error("You must define at least one entry in your theme configuration :"+b)}if(c.meta){var h;for(var j in c.meta){h=c.meta[j];if(this.__metaKeys[j]===undefined){throw new Error('The key "'+j+'" is not allowed inside a meta theme block.')}if(typeof h!==this.__metaKeys[j]){throw new Error('The type of the key "'+j+'" inside the meta block is wrong.')}if(!(typeof h===$[11]&&h!==null&&h.$$type===$[110])){throw new Error('The content of a meta theme must reference to other themes. The value for "'+j+$[241]+b+'" is invalid: '+h)}}}if(c.extend&&c.extend.$$type!==$[110]){throw new Error('Invalid extend in theme "'+b+'": '+c.extend)}},"default":function(){}}),patch:function(e,f){var b=this.__extractType(f);if(b!==this.__extractType(e)){throw new Error($[491]+e.name+$[415]+f.name+"'!")}var c=f[b];var d=e[b];for(var a in c){d[a]=c[a]}},include:function(e,f){var b=f.type;if(b!==e.type){throw new Error($[491]+e.name+$[415]+f.name+"'!")}var c=f[b];var d=e[b];for(var a in c){if(d[a]!==undefined){throw new Error("It is not allowed to overwrite the key '"+a+$[495]+e.name+"' by mixin theme '"+f.name+"'.")}d[a]=c[a]}}}});
+qx.Class.define("qx.core.Target",{extend:qx.core.Object,construct:function(){arguments.callee.base.call(this)},members:{addEventListener:function(b,c,d){if(this.getDisposed()){return}if(qx.core.Variant.isSet($[7],"on")){if(typeof b!==$[13]){throw new Error($[474]+b+"): '"+b+"' is not a string!")}if(typeof c!==$[45]){throw new Error($[474]+b+"): '"+c+$[410])}if(this.constructor.classname&&!qx.Class.supportsEvent(this.constructor,b)){throw new Error("Objects of class '"+this.constructor.classname+"' does not support the event '"+b+"'",new Error())}}if(this.__listeners===undefined){this.__listeners={}}if(this.__listeners[b]===undefined){this.__listeners[b]={}}var a="event"+qx.core.Object.toHashCode(c)+(d?"$"+qx.core.Object.toHashCode(d):"");this.__listeners[b][a]={handler:c,object:d}},removeEventListener:function(c,d,e){if(this.getDisposed()){return}var b=this.__listeners;if(!b||b[c]===undefined){return}if(typeof d!==$[45]){throw new Error("qx.core.Target: removeEventListener("+c+"): '"+d+$[410])}var a="event"+qx.core.Object.toHashCode(d)+(e?"$"+qx.core.Object.toHashCode(e):"");delete this.__listeners[c][a]},hasEventListeners:function(a){return this.__listeners&&this.__listeners[a]!==undefined&&!qx.lang.Object.isEmpty(this.__listeners[a])},createDispatchEvent:function(a){if(this.hasEventListeners(a)){this.dispatchEvent(new qx.event.type.Event(a),true)}},createDispatchDataEvent:function(a,b){if(this.hasEventListeners(a)){this.dispatchEvent(new qx.event.type.DataEvent(a,b),true)}},createDispatchChangeEvent:function(b,c,a){if(this.hasEventListeners(b)){this.dispatchEvent(new qx.event.type.ChangeEvent(b,c,a),true)}},dispatchEvent:function(a,c){if(this.getDisposed()){return}if(a.getTarget()==null){a.setTarget(this)}if(a.getCurrentTarget()==null){a.setCurrentTarget(this)}this._dispatchEvent(a,c);var b=a.getDefaultPrevented();c&&a.dispose();return !b},_dispatchEvent:function(b){var d=this.__listeners;if(d){b.setCurrentTarget(this);var a=d[b.getType()];if(a){var e,f;for(var g in a){e=a[g].handler;f=a[g].object||this;e.call(f,b)}}}if(b.getBubbles()&&!b.getPropagationStopped()&&typeof(this.getParent)==$[45]){var c=this.getParent();if(c&&!c.getDisposed()&&c.getEnabled()){c._dispatchEvent(b)}}}},destruct:function(){this._disposeObjectDeep("__listeners",2)}});
+qx.Class.define($[10],{extend:qx.core.Object,construct:function(a){arguments.callee.base.call(this);this.setType(a)},properties:{type:{_fast:true,setOnlyOnce:true},originalTarget:{_fast:true,setOnlyOnce:true},target:{_fast:true,setOnlyOnce:true},relatedTarget:{_fast:true,setOnlyOnce:true},currentTarget:{_fast:true},bubbles:{_fast:true,defaultValue:false,noCompute:true},propagationStopped:{_fast:true,defaultValue:true,noCompute:true},defaultPrevented:{_fast:true,defaultValue:false,noCompute:true}},members:{_autoDispose:false,preventDefault:function(){this.setDefaultPrevented(true)},stopPropagation:function(){this.setPropagationStopped(true)}},destruct:function(){this._disposeFields("_valueOriginalTarget","_valueTarget","_valueRelatedTarget","_valueCurrentTarget")}});
+qx.Class.define($[75],{extend:qx.event.type.Event,construct:function(a,b){arguments.callee.base.call(this,a);this.setData(b)},properties:{propagationStopped:{_fast:true,defaultValue:false},data:{_fast:true}},destruct:function(){this._disposeFields("_valueData")}});
+qx.Class.define($[357],{extend:qx.event.type.Event,construct:function(b,c,a){arguments.callee.base.call(this,b);this.setValue(c);this.setOldValue(a)},properties:{value:{_fast:true},oldValue:{_fast:true}},members:{getData:function(){return this.getValue()}},destruct:function(){this._disposeFields("_valueValue","_valueOldValue")}});
+qx.Class.define("qx.client.Timer",{extend:qx.core.Target,construct:function(a){arguments.callee.base.call(this);this.setEnabled(false);if(a!=null){this.setInterval(a)}this.__oninterval=qx.lang.Function.bind(this._oninterval,this);this.__event=new qx.event.type.Event($[59])},events:{interval:$[10]},statics:{once:function(a,c,b){var d=new qx.client.Timer(b);d.addEventListener($[59],function(f){d.dispose();a.call(c,f);c=null},c);d.start()}},properties:{enabled:{init:true,check:$[3],apply:$[374]},interval:{check:$[22],init:1000,apply:"_applyInterval"}},members:{__intervalHandler:null,_applyInterval:function(b,a){if(this.getEnabled()){this.restart()}},_applyEnabled:function(b,a){if(a){window.clearInterval(this.__intervalHandler);this.__intervalHandler=null}else{if(b){this.__intervalHandler=window.setInterval(this.__oninterval,this.getInterval())}}},start:function(){this.setEnabled(true)},startWith:function(a){this.setInterval(a);this.start()},stop:function(){this.setEnabled(false)},restart:function(){this.stop();this.start()},restartWith:function(a){this.stop();this.startWith(a)},_oninterval:function(){if(this.getEnabled()&&this.hasEventListeners($[59])){this.dispatchEvent(this.__event,false)}}},destruct:function(){if(this.__intervalHandler){window.clearInterval(this.__intervalHandler)}this._disposeFields("__intervalHandler","__oninterval","__event")}});
qx.Class.define("qx.html.String",{statics:{escape:function(a){return qx.dom.String.escapeEntities(a,qx.html.Entity.FROM_CHARCODE)},unescape:function(a){return qx.dom.String.unescapeEntities(a,qx.html.Entity.TO_CHARCODE)},fromText:function(a){return qx.html.String.escape(a).replace(/( |\n)/g,function(b){var c={" ":" &nbsp;","\n":"<br>"};return c[b]||b})},toText:function(a){return qx.html.String.unescape(a.replace(/\s+|<([^>])+>/gi,function(b){if(/\s+/.test(b)){return" "}else{if(/^<BR|^<br/gi.test(b)){return"\n"}else{return""}}}))}}});
qx.Class.define("qx.dom.String",{statics:{escapeEntities:qx.core.Variant.select($[0],{mshtml:function(h,d){var c,a=[];for(var e=0,b=h.length;e<b;e++){var f=h.charAt(e);var g=f.charCodeAt(0);if(d[g]){c="&"+d[g]+";"}else{if(g>127){c="&#"+g+";"}else{c=f}}a[a.length]=c}return a.join("")},"default":function(h,d){var c,a="";for(var e=0,b=h.length;e<b;e++){var f=h.charAt(e);var g=f.charCodeAt(0);if(d[g]){c="&"+d[g]+";"}else{if(g>127){c="&#"+g+";"}else{c=f}}a+=c}return a}}),unescapeEntities:function(b,a){return b.replace(/&[#\w]+;/gi,function(c){var d=c;var c=c.substring(1,c.length-1);var e=a[c];if(e){d=String.fromCharCode(e)}else{if(c.charAt(0)=="#"){if(c.charAt(1).toUpperCase()=="X"){e=c.substring(2);if(e.match(/^[0-9A-Fa-f]+$/gi)){d=String.fromCharCode(parseInt("0x"+e))}}else{e=c.substring(1);if(e.match(/^\d+$/gi)){d=String.fromCharCode(parseInt(e))}}}}return d})},stripTags:function(a){return a.replace(/<\/?[^>]+>/gi,"")}}});
qx.Class.define("qx.html.Entity",{statics:{TO_CHARCODE:{quot:34,amp:38,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,fnof:402,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,bull:8226,hellip:8230,prime:8242,Prime:8243,oline:8254,frasl:8260,weierp:8472,image:8465,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,"int":8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,circ:710,tilde:732,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,permil:8240,lsaquo:8249,rsaquo:8250,euro:8364}},defer:function(c,a,b){c.FROM_CHARCODE=qx.lang.Object.invert(c.TO_CHARCODE)}});
qx.Class.define("qx.html.EventRegistration",{statics:{addEventListener:qx.core.Variant.select($[0],{mshtml:function(a,b,c){a.attachEvent("on"+b,c)},"default":function(a,b,c){a.addEventListener(b,c,false)}}),removeEventListener:qx.core.Variant.select($[0],{mshtml:function(a,b,c){a.detachEvent("on"+b,c)},"default":function(a,b,c){a.removeEventListener(b,c,false)}})}});
-qx.Class.define("qx.core.Init",{type:$[30],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this._onloadWrapped=qx.lang.Function.bind(this._onload,this);this._onbeforeunloadWrapped=qx.lang.Function.bind(this._onbeforeunload,this);this._onunloadWrapped=qx.lang.Function.bind(this._onunload,this);qx.html.EventRegistration.addEventListener(window,"load",this._onloadWrapped);qx.html.EventRegistration.addEventListener(window,$[334],this._onbeforeunloadWrapped);qx.html.EventRegistration.addEventListener(window,"unload",this._onunloadWrapped)},events:{load:$[9],beforeunload:$[9],unload:$[9]},properties:{application:{nullable:true,check:function(a){if(typeof a==$[45]){throw new Error("The application property takes an application instance as parameter and no longer a class/constructor. You may have to fix your 'index.html'.")}return a instanceof qx.application.Gui}}},members:{_autoDispose:false,_onload:function(c){if(this._onloadDone){return}this._onloadDone=true;this.createDispatchEvent("load");if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Variant.isSet($[0],$[19])){var a=org.eclipse.rwt.Client;if(!a.isInQuirksMode()){throw new Error("Wrong box sizing: Please modify the document's DOCTYPE!")}}}if(!this.getApplication()){var b=qx.Class.getByName(qx.core.Setting.get("qx.application"));if(b){this.setApplication(new b(this))}}if(!this.getApplication()){return}var d=new Date;this.getApplication().main()},_onbeforeunload:function(b){this.createDispatchEvent($[334]);if(this.getApplication()){var a=this.getApplication().close();if(a!=null){b.returnValue=a;return a}}},_onunload:function(a){this.createDispatchEvent("unload");if(this.getApplication()){this.getApplication().terminate()}qx.core.Object.dispose(true)}},settings:{"qx.application":$[532]},destruct:function(){qx.html.EventRegistration.removeEventListener(window,"load",this._onloadWrapped);qx.html.EventRegistration.removeEventListener(window,$[334],this._onbeforeunloadWrapped);qx.html.EventRegistration.removeEventListener(window,"unload",this._onunloadWrapped)},defer:function(c,b,a){c.getInstance()}});
+qx.Class.define("qx.core.Init",{type:$[29],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this._onloadWrapped=qx.lang.Function.bind(this._onload,this);this._onbeforeunloadWrapped=qx.lang.Function.bind(this._onbeforeunload,this);this._onunloadWrapped=qx.lang.Function.bind(this._onunload,this);qx.html.EventRegistration.addEventListener(window,"load",this._onloadWrapped);qx.html.EventRegistration.addEventListener(window,$[332],this._onbeforeunloadWrapped);qx.html.EventRegistration.addEventListener(window,"unload",this._onunloadWrapped)},events:{load:$[10],beforeunload:$[10],unload:$[10]},properties:{application:{nullable:true,check:function(a){if(typeof a==$[45]){throw new Error("The application property takes an application instance as parameter and no longer a class/constructor. You may have to fix your 'index.html'.")}return a instanceof qx.application.Gui}}},members:{_autoDispose:false,_onload:function(c){if(this._onloadDone){return}this._onloadDone=true;this.createDispatchEvent("load");if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Variant.isSet($[0],$[20])){var a=org.eclipse.rwt.Client;if(!a.isInQuirksMode()){throw new Error("Wrong box sizing: Please modify the document's DOCTYPE!")}}}if(!this.getApplication()){var b=qx.Class.getByName(qx.core.Setting.get("qx.application"));if(b){this.setApplication(new b(this))}}if(!this.getApplication()){return}var d=new Date;this.getApplication().main()},_onbeforeunload:function(b){this.createDispatchEvent($[332]);if(this.getApplication()){var a=this.getApplication().close();if(a!=null){b.returnValue=a;return a}}},_onunload:function(a){this.createDispatchEvent("unload");if(this.getApplication()){this.getApplication().terminate()}qx.core.Object.dispose(true)}},settings:{"qx.application":$[530]},destruct:function(){qx.html.EventRegistration.removeEventListener(window,"load",this._onloadWrapped);qx.html.EventRegistration.removeEventListener(window,$[332],this._onbeforeunloadWrapped);qx.html.EventRegistration.removeEventListener(window,"unload",this._onunloadWrapped)},defer:function(c,b,a){c.getInstance()}});
qx.Mixin.define("qx.util.manager.MConnectedObject",{members:{hasConnectionTo:function(a){if(!this._valueManager){this._valueManager={}}this._valueManager[a.toHashCode()]=a}},destruct:function(){for(var a in this._valueManager){var b=this._valueManager[a];b.disconnect(this)}this._disposeFields("_valueManager")}});
-qx.Class.define("org.eclipse.rwt.HtmlUtil",{statics:{setOpacity:qx.core.Variant.select($[0],{mshtml:function(c,b){if(b==null||b>=1||b<0){this._removeCssFilter(c)}else{var a="Alpha(opacity="+Math.round(b*100)+")";this.setStyleProperty(c,$[251],a)}},"default":function(c,b){if(b==null||b>=1){if(qx.core.Variant.isSet($[0],$[43])){this.removeStyleProperty(c,$[320])}this.removeStyleProperty(c,$[42])}else{var a=qx.lang.Number.limit(b,0,1);if(qx.core.Variant.isSet($[0],$[43])){this.setStyleProperty(c,$[320],a)}this.setStyleProperty(c,$[42],a)}}}),setStyleProperty:function(c,b,a){if(c instanceof qx.ui.core.Widget){c.setStyleProperty(b,a)}else{c.style[b]=a}},removeStyleProperty:function(b,a){if(b instanceof qx.ui.core.Widget){b.removeStyleProperty(a)}else{b.style[a]=""}},_removeCssFilter:function(c){var a=null;if(c instanceof qx.ui.core.Widget){if(c.isCreated()){a=c.getElement()}else{c.removeStyleProperty($[251])}}else{a=c}if(a!==null){var b=a.style.cssText;b=b.replace(/FILTER:[^;]*(;|$)/,"");a.style.cssText=b}}}});
-qx.Class.define($[133],{extend:qx.core.Target,include:qx.util.manager.MConnectedObject,type:$[102],construct:function(){arguments.callee.base.call(this);this._layoutChanges={};if(qx.core.Setting.get("qx.widgetDebugId")){this._generateHtmlId()}this.initHideFocus();this._usesComplexBorder=false},events:{beforeAppear:$[9],appear:$[9],beforeDisappear:$[9],disappear:$[9],beforeInsertDom:$[9],insertDom:$[9],beforeRemoveDom:$[9],removeDom:$[9],create:$[9],execute:$[9],mouseover:$[88],mousemove:$[88],mouseout:$[88],mousedown:$[88],mouseup:$[88],mousewheel:$[88],click:$[88],dblclick:$[88],contextmenu:$[88],elementOver:$[88],elementOut:$[88],keydown:$[305],keypress:$[305],keyup:$[305],focusout:$[239],focusin:$[239],blur:$[239],focus:$[239],dragdrop:$[167],dragout:$[167],dragover:$[167],dragmove:$[167],dragstart:$[167],dragend:$[167]},statics:{create:function(b,a){b._appearance=a;return new b},_autoFlushTimeout:null,_flushGlobalQueuesPhase:0,_FLUSH_PHASE_IDLE:0,_FLUSH_PHASE_WIDGET:1,_FLUSH_PHASE_STATE:2,_FLUSH_PHASE_ELEMENT:3,_FLUSH_PHASE_JOB:4,_FLUSH_PHASE_LAYOUT:5,_FLUSH_PHASE_DISPLAY:6,_FLUSH_PHASE_DISPOSE:7,_initAutoFlush:function(a){if(qx.ui.core.Widget._autoFlushTimeout==null){if(!qx.ui.core.Widget._inFlushGlobalQueues||a<qx.ui.core.Widget._flushGlobalQueuesPhase){qx.ui.core.Widget._autoFlushTimeout=window.setTimeout(qx.ui.core.Widget._autoFlushHelper,0)}}},_removeAutoFlush:function(){if(qx.ui.core.Widget._autoFlushTimeout!=null){window.clearTimeout(qx.ui.core.Widget._autoFlushTimeout);qx.ui.core.Widget._autoFlushTimeout=null}},_autoFlushHelper:function(){qx.ui.core.Widget._autoFlushTimeout=null;if(!qx.core.Object.inGlobalDispose()){qx.ui.core.Widget.flushGlobalQueues()}},flushGlobalQueues:function(){if(qx.ui.core.Widget._autoFlushTimeout!=null){qx.ui.core.Widget._removeAutoFlush()}if(qx.ui.core.Widget._inFlushGlobalQueues){return}var a=qx.core.Init.getInstance().getApplication();if(a.getUiReady&&!a.getUiReady()){return}qx.ui.core.Widget._inFlushGlobalQueues=true;qx.ui.core.Widget.flushGlobalWidgetQueue();qx.ui.core.Widget.flushGlobalStateQueue();qx.ui.core.Widget.flushGlobalElementQueue();qx.ui.core.Widget.flushGlobalJobQueue();qx.ui.core.Widget.flushGlobalLayoutQueue();qx.ui.core.Widget.flushGlobalDisplayQueue();qx.ui.core.Widget.flushGlobalDisposeQueue();qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_IDLE;delete qx.ui.core.Widget._inFlushGlobalQueues},_globalWidgetQueue:[],addToGlobalWidgetQueue:function(a){if(!a._isInGlobalWidgetQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_WIDGET)}qx.ui.core.Widget._globalWidgetQueue.push(a);a._isInGlobalWidgetQueue=true}},removeFromGlobalWidgetQueue:function(a){if(a._isInGlobalWidgetQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalWidgetQueue,a);delete a._isInGlobalWidgetQueue}},flushGlobalWidgetQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_WIDGET;var a=qx.ui.core.Widget._globalWidgetQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d.flushWidgetQueue();delete d._isInGlobalWidgetQueue}a.splice(0,c)}qx.ui.core.Widget._globalWidgetQueue=[]},_globalElementQueue:[],addToGlobalElementQueue:function(a){if(!a._isInGlobalElementQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_ELEMENT)}qx.ui.core.Widget._globalElementQueue.push(a);a._isInGlobalElementQueue=true}},removeFromGlobalElementQueue:function(a){if(a._isInGlobalElementQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalElementQueue,a);delete a._isInGlobalElementQueue}},flushGlobalElementQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_ELEMENT;var a=qx.ui.core.Widget._globalElementQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d._createElementImpl();delete d._isInGlobalElementQueue}a.splice(0,c)}qx.ui.core.Widget._globalElementQueue=[]},_globalStateQueue:[],addToGlobalStateQueue:function(a){if(!a._isInGlobalStateQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_STATE)}qx.ui.core.Widget._globalStateQueue.push(a);a._isInGlobalStateQueue=true}},removeFromGlobalStateQueue:function(a){if(a._isInGlobalStateQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalStateQueue,a);delete a._isInGlobalStateQueue}},flushGlobalStateQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_STATE;var d=qx.ui.core.Widget;while(d._globalStateQueue.length>0){var a=qx.lang.Array.copy(d._globalStateQueue);d._globalStateQueue=[];for(var c=0,b=a.length;c<b;c++){var e=a[c];if(e._isInGlobalStateQueue){e._renderAppearance();delete e._isInGlobalStateQueue}}}},_globalJobQueue:[],addToGlobalJobQueue:function(a){if(!a._isInGlobalJobQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_JOB)}qx.ui.core.Widget._globalJobQueue.push(a);a._isInGlobalJobQueue=true}},removeFromGlobalJobQueue:function(a){if(a._isInGlobalJobQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalJobQueue,a);delete a._isInGlobalJobQueue}},flushGlobalJobQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_JOB;var a=qx.ui.core.Widget._globalJobQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d._flushJobQueue(d._jobQueue);delete d._isInGlobalJobQueue}a.splice(0,c)}qx.ui.core.Widget._globalJobQueue=[]},_globalLayoutQueue:[],addToGlobalLayoutQueue:function(a){if(!a._isInGlobalLayoutQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_LAYOUT)}qx.ui.core.Widget._globalLayoutQueue.push(a);a._isInGlobalLayoutQueue=true}},removeFromGlobalLayoutQueue:function(a){if(a._isInGlobalLayoutQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalLayoutQueue,a);delete a._isInGlobalLayoutQueue}},flushGlobalLayoutQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_LAYOUT;var a=qx.ui.core.Widget._globalLayoutQueue,d,c;while((d=a.length)>0){for(var b=0;b<d;b++){c=a[b];c._flushChildrenQueue();delete c._isInGlobalLayoutQueue}a.splice(0,d)}qx.ui.core.Widget._globalLayoutQueue=[]},_fastGlobalDisplayQueue:[],_lazyGlobalDisplayQueues:{},addToGlobalDisplayQueue:function(b){if(!b._isInGlobalDisplayQueue&&b._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_DISPLAY)}var a=b.getParent();if(a.isSeeable()){var c=a.toHashCode();if(qx.ui.core.Widget._lazyGlobalDisplayQueues[c]){qx.ui.core.Widget._lazyGlobalDisplayQueues[c].push(b)}else{qx.ui.core.Widget._lazyGlobalDisplayQueues[c]=[b]}}else{qx.ui.core.Widget._fastGlobalDisplayQueue.push(b)}b._isInGlobalDisplayQueue=true}},removeFromGlobalDisplayQueue:function(a){},flushGlobalDisplayQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_DISPLAY;var a,h,e,b;var j=qx.ui.core.Widget._fastGlobalDisplayQueue;var f=qx.ui.core.Widget._lazyGlobalDisplayQueues;for(var d=0,c=j.length;d<c;d++){e=j[d];e.getParent()._getTargetNode().appendChild(e.getElement())}if(qx.Class.isDefined("qx.ui.basic.Inline")){for(a in f){h=f[a];for(var d=0;d<h.length;d++){e=h[d];if(e instanceof qx.ui.basic.Inline){e._beforeInsertDom();try{document.getElementById(e.getInlineNodeId()).appendChild(e.getElement())}catch(g){e.debug("Could not append to inline id: "+e.getInlineNodeId(),g)}e._afterInsertDom();e._afterAppear();qx.lang.Array.remove(h,e);d--;delete e._isInGlobalDisplayQueue}}}}for(a in f){h=f[a];if(document.createDocumentFragment&&h.length>=3){b=document.createDocumentFragment();for(var d=0,c=h.length;d<c;d++){e=h[d];e._beforeInsertDom();b.appendChild(e.getElement())}h[0].getParent()._getTargetNode().appendChild(b);for(var d=0,c=h.length;d<c;d++){e=h[d];e._afterInsertDom()}}else{for(var d=0,c=h.length;d<c;d++){e=h[d];e._beforeInsertDom();e.getParent()._getTargetNode().appendChild(e.getElement());e._afterInsertDom()}}}for(a in f){h=f[a];for(var d=0,c=h.length;d<c;d++){e=h[d];if(e.getVisibility()){e._afterAppear()}delete e._isInGlobalDisplayQueue}delete f[a]}if(qx.lang.Object.isEmpty(f)){qx.ui.core.Widget._lazyGlobalDisplayQueues={}}for(var d=0,c=j.length;d<c;d++){delete j[d]._isInGlobalDisplayQueue}qx.ui.core.Widget._fastGlobalDisplayQueue=[]},_globalDisposeQueue:[],addToGlobalDisposeQueue:function(a){if(!a._isInGlobalDisposeQueue&&!a.isDisposed()){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_DISPOSE)}qx.ui.core.Widget._globalDisposeQueue.push(a);a._isInGlobalDisposeQueue=true}},removeFromGlobalDisposeQueue:function(a){if(a._isInGlobalDisposeQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalDisposeQueue,a);delete a._isInGlobalDisposeQueue}},flushGlobalDisposeQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_DISPOSE;var a=qx.ui.core.Widget._globalDisposeQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d.dispose();delete d._isInGlobalDisposeQueue}a.splice(0,c)}qx.ui.core.Widget._globalDisposeQueue=[]},getActiveSiblingHelperIgnore:function(b,c){for(var a=0;a<b.length;a++){if(c instanceof b[a]){return true}}return false},getActiveSiblingHelper:function(c,d,b,a,h){if(!a){a=[]}var f=d.getChildren();var g=h==null?f.indexOf(c)+b:h==="first"?0:f.length-1;var e=f[g];while(e&&(!e.getEnabled()||qx.ui.core.Widget.getActiveSiblingHelperIgnore(a,e))){g+=b;e=f[g];if(!e){return null}}return e},__initApplyMethods:function(d){var g="_renderRuntime";var k="_resetRuntime";var b="this._style.";var f="=((v==null)?0:v)+'px'";var m="v";var h=["left",$[21],"top",$[35],$[20],$[34],$[98],$[97],$[107],$[99]];var p=["Left",$[53],"Top","Bottom","Width","Height","MinWidth","MaxWidth","MinHeight","MaxHeight"];var n=g+"Margin";var j=k+"Margin";var l=b+$[96];for(var e=0;e<4;e++){d[n+p[e]]=new Function(m,l+p[e]+f);d[j+p[e]]=new Function(l+p[e]+"=''")}var o=g+"Padding";var a=k+"Padding";var c=b+$[33];if(qx.core.Variant.isSet($[0],$[43])){for(var e=0;e<4;e++){d[o+p[e]]=new Function(m,c+p[e]+f);d[a+p[e]]=new Function(c+p[e]+"=''")}}else{for(var e=0;e<4;e++){d[o+p[e]]=new Function(m,"this.setStyleProperty('padding"+p[e]+"', ((v==null)?0:v)+'px')");d[a+p[e]]=new Function("this.removeStyleProperty('padding"+p[e]+"')")}}for(var e=0;e<h.length;e++){d[g+p[e]]=new Function(m,b+h[e]+f);d[k+p[e]]=new Function(b+h[e]+"=''")}},TYPE_NULL:0,TYPE_PIXEL:1,TYPE_PERCENT:2,TYPE_AUTO:3,TYPE_FLEX:4,layoutPropertyTypes:{},__initLayoutProperties:function(j){var e=[$[20],$[34],$[98],$[97],$[107],$[99],"left",$[21],"top",$[35]];for(var g=0,d=e.length,h,c,f;g<d;g++){h=e[g];c="_computed"+qx.lang.String.toFirstUp(h);f=c+"Type";j.layoutPropertyTypes[h]={dataType:f,dataParsed:c+"Parsed",dataValue:c+"Value",typePixel:f+"Pixel",typePercent:f+"Percent",typeAuto:f+"Auto",typeFlex:f+"Flex",typeNull:f+"Null"}}},_idCounter:0,disableScrolling:function(b){var a=b._getTargetNode();if(a){qx.html.Scroll.disableScrolling(a)}else{b.addEventListener($[24],this._blockScrollingOnAppear,this)}},enableScrolling:function(b){var a=b._getTargetNode();if(a){qx.html.Scroll.enableScrolling(a)}else{b.removeEventListener($[24],this._blockScrollingOnAppear,this)}},_blockScrollingOnAppear:function(a){var b=a.getTarget();b.removeEventListener($[24],this._blockScrollingOnAppear,this);this.disableScrolling(b)}},properties:{enabled:{init:$[153],check:$[3],inheritable:true,apply:$[376],event:$[151]},parent:{check:$[470],nullable:true,event:$[288],apply:"_applyParent"},element:{check:"Element",nullable:true,apply:"_applyElement",event:$[387]},visibility:{check:$[3],init:true,apply:"_applyVisibility",event:$[204]},display:{check:$[3],init:true,apply:"_applyDisplay",event:"changeDisplay"},anonymous:{check:$[3],init:false,event:"changeAnonymous"},horizontalAlign:{check:["left",$[39],$[21]],themeable:true,nullable:true},verticalAlign:{check:["top",$[31],$[35]],themeable:true,nullable:true},allowStretchX:{check:$[3],init:true},allowStretchY:{check:$[3],init:true},zIndex:{check:$[57],apply:"_applyZIndex",event:$[501],themeable:true,nullable:true,init:null},backgroundColor:{nullable:true,init:null,check:$[105],apply:$[531],event:$[202],themeable:true},textColor:{nullable:true,init:$[153],check:$[105],apply:"_applyTextColor",event:$[280],themeable:true,inheritable:true},border:{nullable:true,init:null,apply:"_applyBorder",event:$[338],check:"Border",themeable:true},font:{nullable:true,init:$[153],apply:"_applyFont",check:"Font",event:$[92],themeable:true,inheritable:true},opacity:{check:$[57],apply:$[374],themeable:true,nullable:true,init:null},cursor:{check:$[27],apply:"_applyCursor",themeable:true,nullable:true,init:null},backgroundImage:{check:$[27],nullable:true,apply:"_applyBackgroundImage",themeable:true},backgroundRepeat:{check:$[27],nullable:true,apply:"_applyBackgroundRepeat",themeable:true},overflow:{check:[$[13],"auto",$[25],$[91],$[90]],nullable:true,apply:"_applyOverflow",event:"changeOverflow",themeable:true,init:null},clipLeft:{check:$[22],apply:$[297],themeable:true,nullable:true},clipTop:{check:$[22],apply:$[297],themeable:true,nullable:true},clipWidth:{check:$[22],apply:$[297],themeable:true,nullable:true},clipHeight:{check:$[22],apply:$[297],themeable:true,nullable:true},tabIndex:{check:$[22],nullable:true,init:null,apply:"_applyTabIndex",event:"changeTabIndex"},hideFocus:{check:$[3],init:true,apply:"_applyHideFocus",themeable:true},enableElementFocus:{check:$[3],init:true},focused:{check:$[3],init:false,apply:"_applyFocused",event:$[372]},selectable:{check:$[3],init:null,nullable:true,apply:"_applySelectable"},toolTip:{check:$[264],nullable:true},contextMenu:{nullable:true},capture:{check:$[3],init:false,apply:"_applyCapture",event:"changeCapture"},dropDataTypes:{nullable:true,dispose:true},command:{check:"qx.client.Command",nullable:true,apply:"_applyCommand"},appearance:{check:$[27],init:"widget",apply:"_applyAppearance",event:"changeAppearance"},supportsDropMethod:{check:"Function",nullable:true,init:null},marginTop:{check:$[57],apply:"_applyMarginTop",nullable:true,themeable:true},marginRight:{check:$[57],apply:"_applyMarginRight",nullable:true,themeable:true},marginBottom:{check:$[57],apply:"_applyMarginBottom",nullable:true,themeable:true},marginLeft:{check:$[57],apply:"_applyMarginLeft",nullable:true,themeable:true},paddingTop:{check:$[57],apply:"_applyPaddingTop",nullable:true,themeable:true},paddingRight:{check:$[57],apply:"_applyPaddingRight",nullable:true,themeable:true},paddingBottom:{check:$[57],apply:"_applyPaddingBottom",nullable:true,themeable:true},paddingLeft:{check:$[57],apply:"_applyPaddingLeft",nullable:true,themeable:true},left:{apply:"_applyLeft",event:$[143],nullable:true,themeable:true,init:null},right:{apply:"_applyRight",event:"changeRight",nullable:true,themeable:true,init:null},width:{apply:"_applyWidth",event:$[56],nullable:true,themeable:true,init:null},minWidth:{apply:"_applyMinWidth",event:"changeMinWidth",nullable:true,themeable:true,init:null},maxWidth:{apply:"_applyMaxWidth",event:"changeMaxWidth",nullable:true,themeable:true,init:null},top:{apply:"_applyTop",event:$[299],nullable:true,themeable:true,init:null},bottom:{apply:"_applyBottom",event:"changeBottom",nullable:true,themeable:true,init:null},height:{apply:$[444],event:$[67],nullable:true,themeable:true,init:null},minHeight:{apply:"_applyMinHeight",event:"changeMinHeight",nullable:true,themeable:true,init:null},maxHeight:{apply:"_applyMaxHeight",event:"changeMaxHeight",nullable:true,themeable:true,init:null},location:{group:["left","top"],themeable:true},dimension:{group:[$[20],$[34]],themeable:true},space:{group:["left",$[20],"top",$[34]],themeable:true},edge:{group:["top",$[21],$[35],"left"],themeable:true,mode:$[132]},padding:{group:[$[208],$[220],$[234],$[238]],mode:$[132],themeable:true},margin:{group:[$[206],$[260],$[312],$[207]],mode:$[132],themeable:true},heights:{group:[$[107],$[34],$[99]],themeable:true},widths:{group:[$[98],$[20],$[97]],themeable:true},align:{group:["horizontalAlign","verticalAlign"],themeable:true},clipLocation:{group:["clipLeft","clipTop"]},clipDimension:{group:["clipWidth","clipHeight"]},clip:{group:["clipLeft","clipTop","clipWidth","clipHeight"]},innerWidth:{_cached:true,defaultValue:null},innerHeight:{_cached:true,defaultValue:null},boxWidth:{_cached:true,defaultValue:null},boxHeight:{_cached:true,defaultValue:null},outerWidth:{_cached:true,defaultValue:null},outerHeight:{_cached:true,defaultValue:null},frameWidth:{_cached:true,defaultValue:null,addToQueueRuntime:true},frameHeight:{_cached:true,defaultValue:null,addToQueueRuntime:true},preferredInnerWidth:{_cached:true,defaultValue:null,addToQueueRuntime:true},preferredInnerHeight:{_cached:true,defaultValue:null,addToQueueRuntime:true},preferredBoxWidth:{_cached:true,defaultValue:null},preferredBoxHeight:{_cached:true,defaultValue:null},hasPercentX:{_cached:true,defaultValue:false},hasPercentY:{_cached:true,defaultValue:false},hasAutoX:{_cached:true,defaultValue:false},hasAutoY:{_cached:true,defaultValue:false},hasFlexX:{_cached:true,defaultValue:false},hasFlexY:{_cached:true,defaultValue:false}},members:{_computedLeftValue:null,_computedLeftParsed:null,_computedLeftType:null,_computedLeftTypeNull:true,_computedLeftTypePixel:false,_computedLeftTypePercent:false,_computedLeftTypeAuto:false,_computedLeftTypeFlex:false,_computedRightValue:null,_computedRightParsed:null,_computedRightType:null,_computedRightTypeNull:true,_computedRightTypePixel:false,_computedRightTypePercent:false,_computedRightTypeAuto:false,_computedRightTypeFlex:false,_computedTopValue:null,_computedTopParsed:null,_computedTopType:null,_computedTopTypeNull:true,_computedTopTypePixel:false,_computedTopTypePercent:false,_computedTopTypeAuto:false,_computedTopTypeFlex:false,_computedBottomValue:null,_computedBottomParsed:null,_computedBottomType:null,_computedBottomTypeNull:true,_computedBottomTypePixel:false,_computedBottomTypePercent:false,_computedBottomTypeAuto:false,_computedBottomTypeFlex:false,_computedWidthValue:null,_computedWidthParsed:null,_computedWidthType:null,_computedWidthTypeNull:true,_computedWidthTypePixel:false,_computedWidthTypePercent:false,_computedWidthTypeAuto:false,_computedWidthTypeFlex:false,_computedMinWidthValue:null,_computedMinWidthParsed:null,_computedMinWidthType:null,_computedMinWidthTypeNull:true,_computedMinWidthTypePixel:false,_computedMinWidthTypePercent:false,_computedMinWidthTypeAuto:false,_computedMinWidthTypeFlex:false,_computedMaxWidthValue:null,_computedMaxWidthParsed:null,_computedMaxWidthType:null,_computedMaxWidthTypeNull:true,_computedMaxWidthTypePixel:false,_computedMaxWidthTypePercent:false,_computedMaxWidthTypeAuto:false,_computedMaxWidthTypeFlex:false,_computedHeightValue:null,_computedHeightParsed:null,_computedHeightType:null,_computedHeightTypeNull:true,_computedHeightTypePixel:false,_computedHeightTypePercent:false,_computedHeightTypeAuto:false,_computedHeightTypeFlex:false,_computedMinHeightValue:null,_computedMinHeightParsed:null,_computedMinHeightType:null,_computedMinHeightTypeNull:true,_computedMinHeightTypePixel:false,_computedMinHeightTypePercent:false,_computedMinHeightTypeAuto:false,_computedMinHeightTypeFlex:false,_computedMaxHeightValue:null,_computedMaxHeightParsed:null,_computedMaxHeightType:null,_computedMaxHeightTypeNull:true,_computedMaxHeightTypePixel:false,_computedMaxHeightTypePercent:false,_computedMaxHeightTypeAuto:false,_computedMaxHeightTypeFlex:false,_applyLeft:function(b,a){this._unitDetectionPixelPercent("left",b);this.addToQueue("left")},_applyRight:function(b,a){this._unitDetectionPixelPercent($[21],b);this.addToQueue($[21])},_applyTop:function(b,a){this._unitDetectionPixelPercent("top",b);this.addToQueue("top")},_applyBottom:function(b,a){this._unitDetectionPixelPercent($[35],b);this.addToQueue($[35])},_applyWidth:function(b,a){this._unitDetectionPixelPercentAutoFlex($[20],b);this.addToQueue($[20])},_applyMinWidth:function(b,a){this._unitDetectionPixelPercentAuto($[98],b);this.addToQueue($[98])},_applyMaxWidth:function(b,a){this._unitDetectionPixelPercentAuto($[97],b);this.addToQueue($[97])},_applyHeight:function(b,a){this._unitDetectionPixelPercentAutoFlex($[34],b);this.addToQueue($[34])},_applyMinHeight:function(b,a){this._unitDetectionPixelPercentAuto($[107],b);this.addToQueue($[107])},_applyMaxHeight:function(b,a){this._unitDetectionPixelPercentAuto($[99],b);this.addToQueue($[99])},isMaterialized:function(){var a=this._element;return(this._initialLayoutDone&&this._isDisplayable&&qx.html.Style.getStyleProperty(a,$[135])!="none"&&qx.html.Style.getStyleProperty(a,$[145])!=$[13]&&a.offsetWidth>0&&a.offsetHeight>0)},pack:function(){this.setWidth(this.getPreferredBoxWidth());this.setHeight(this.getPreferredBoxHeight())},auto:function(){this.setWidth("auto");this.setHeight("auto")},getChildren:qx.lang.Function.returnNull,getChildrenLength:qx.lang.Function.returnZero,hasChildren:qx.lang.Function.returnFalse,isEmpty:qx.lang.Function.returnTrue,indexOf:qx.lang.Function.returnNegativeIndex,contains:qx.lang.Function.returnFalse,getVisibleChildren:qx.lang.Function.returnNull,getVisibleChildrenLength:qx.lang.Function.returnZero,hasVisibleChildren:qx.lang.Function.returnFalse,isVisibleEmpty:qx.lang.Function.returnTrue,_hasParent:false,_isDisplayable:false,isDisplayable:function(){return this._isDisplayable},_checkParent:function(b,a){if(this.contains(b)){throw new Error("Could not insert myself into a child "+b+"!")}return b},_applyParent:function(c,a){if(a){var b=a.getChildren().indexOf(this);this._computedWidthValue=this._computedMinWidthValue=this._computedMaxWidthValue=this._computedLeftValue=this._computedRightValue=null;this._computedHeightValue=this._computedMinHeightValue=this._computedMaxHeightValue=this._computedTopValue=this._computedBottomValue=null;this._cachedBoxWidth=this._cachedInnerWidth=this._cachedOuterWidth=null;this._cachedBoxHeight=this._cachedInnerHeight=this._cachedOuterHeight=null;qx.lang.Array.removeAt(a.getChildren(),b);a._invalidateVisibleChildren();a._removeChildFromChildrenQueue(this);a.getLayoutImpl().updateChildrenOnRemoveChild(this,b);a.addToJobQueue($[453]);a._invalidatePreferredInnerDimensions();this._oldParent=a}if(c){this._hasParent=true;if(typeof this._insertIndex==$[80]){qx.lang.Array.insertAt(c.getChildren(),this,this._insertIndex);delete this._insertIndex}else{c.getChildren().push(this)}}else{this._hasParent=false}qx.core.Property.refresh(this);return this._handleDisplayable("parent")},_applyDisplay:function(b,a){return this._handleDisplayable($[135])},_handleDisplayable:function(f){var e=this._computeDisplayable();if(this._isDisplayable==e&&!(e&&f=="parent")){return true}this._isDisplayable=e;var d=this.getParent();if(d){d._invalidateVisibleChildren();d._invalidatePreferredInnerDimensions()}if(f&&this._oldParent&&this._oldParent._initialLayoutDone){var c=this.getElement();if(c){if(this.getVisibility()){this._beforeDisappear()}this._beforeRemoveDom();try{this._oldParent._getTargetNode().removeChild(c)}catch(b){}this._afterRemoveDom();if(this.getVisibility()){this._afterDisappear()}}delete this._oldParent}if(e){if(d._initialLayoutDone){d.getLayoutImpl().updateChildrenOnAddChild(this,d.getChildren().indexOf(this));d.addToJobQueue("addChild")}this.addToLayoutChanges("initial");this.addToCustomQueues(f);if(this.getVisibility()){this._beforeAppear()}if(!this._isCreated){qx.ui.core.Widget.addToGlobalElementQueue(this)}qx.ui.core.Widget.addToGlobalStateQueue(this);if(!qx.lang.Object.isEmpty(this._jobQueue)){qx.ui.core.Widget.addToGlobalJobQueue(this)}if(!qx.lang.Object.isEmpty(this._childrenQueue)){qx.ui.core.Widget.addToGlobalLayoutQueue(this)}}else{qx.ui.core.Widget.removeFromGlobalElementQueue(this);qx.ui.core.Widget.removeFromGlobalStateQueue(this);qx.ui.core.Widget.removeFromGlobalJobQueue(this);qx.ui.core.Widget.removeFromGlobalLayoutQueue(this);this.removeFromCustomQueues(f);if(d&&f){if(this.getVisibility()){this._beforeDisappear()}if(d._initialLayoutDone&&this._initialLayoutDone){d.getLayoutImpl().updateChildrenOnRemoveChild(this,d.getChildren().indexOf(this));d.addToJobQueue($[453]);this._beforeRemoveDom();var a=this.getElement().parentNode;if(a){a.removeChild(this.getElement())}this._afterRemoveDom()}d._removeChildFromChildrenQueue(this);if(this.getVisibility()){this._afterDisappear()}}}this._handleDisplayableCustom(e,d,f);return true},addToCustomQueues:qx.lang.Function.returnTrue,removeFromCustomQueues:qx.lang.Function.returnTrue,_handleDisplayableCustom:qx.lang.Function.returnTrue,_computeDisplayable:function(){return this.getDisplay()&&this.getParent()&&this.getParent()._isDisplayable?true:false},_beforeAppear:function(){this.createDispatchEvent("beforeAppear")},_afterAppear:function(){this._isSeeable=true;this.createDispatchEvent($[24])},_beforeDisappear:function(){this.removeState("over");if(qx.Class.isDefined($[389])){this.removeState($[23]);this.removeState($[46])}this.createDispatchEvent("beforeDisappear")},_afterDisappear:function(){this._isSeeable=false;this.createDispatchEvent($[316])},_isSeeable:false,isSeeable:function(){return this._isSeeable},isAppearRelevant:function(){return this.getVisibility()&&this._isDisplayable},_beforeInsertDom:function(){this.createDispatchEvent("beforeInsertDom")},_afterInsertDom:function(){this.createDispatchEvent($[321])},_beforeRemoveDom:function(){this.createDispatchEvent("beforeRemoveDom")},_afterRemoveDom:function(){this.createDispatchEvent("removeDom")},_applyVisibility:function(b,a){if(b){if(this._isDisplayable&&this._isCreated){this._beforeAppear()}this.removeStyleProperty($[135]);if(this._isDisplayable&&this._isCreated){this._afterAppear()}}else{if(this._isDisplayable&&this._isCreated){this._beforeDisappear()}this.setStyleProperty($[135],"none");if(this._isDisplayable&&this._isCreated){this._afterDisappear()}}},show:function(){this.setVisibility(true);this.setDisplay(true)},hide:function(){this.setVisibility(false)},connect:function(){this.setDisplay(true)},disconnect:function(){this.setDisplay(false)},destroy:function(){this.setParent(null);qx.ui.core.Widget.addToGlobalDisposeQueue(this)},_isCreated:false,_getTargetNode:qx.core.Variant.select($[0],{gecko:function(){return this._element},"default":function(){return this._borderElement||this._element}}),addToDocument:function(){qx.ui.core.ClientDocument.getInstance().add(this)},isCreated:function(){return this._isCreated},_createElementImpl:function(){this.setElement(this.getTopLevelWidget().getDocumentElement().createElement("div"))},_applyElement:function(b,a){this._isCreated=b!=null;if(a){a.qx_Widget=null}if(b){b.qx_Widget=this;b.style.position=$[32];this._element=b;this._style=b.style;this._applyStyleProperties(b);this._applyHtmlProperties(b);this._applyHtmlAttributes(b);this._applyElementData(b);this.createDispatchEvent($[111]);this.addToStateQueue()}else{this._element=this._style=null}},addToJobQueue:function(a){if(this._hasParent){qx.ui.core.Widget.addToGlobalJobQueue(this)}if(!this._jobQueue){this._jobQueue={}}this._jobQueue[a]=true;return true},_flushJobQueue:function(e){try{var k=this._jobQueue;var r=this.getParent();if(!r||qx.lang.Object.isEmpty(k)){return}var n=this instanceof qx.ui.core.Parent?this.getLayoutImpl():null;if(n){n.updateSelfOnJobQueueFlush(k)}}catch(o){throw new Error("Flushing job queue (prechecks#1) failed "+o)}try{var c=false;var g=k.marginLeft||k.marginRight;var h=k.marginTop||k.marginBottom;var b=k.frameWidth;var l=k.frameHeight;var f=(k.frameWidth||k.preferredInnerWidth)&&this._recomputePreferredBoxWidth();var p=(k.frameHeight||k.preferredInnerHeight)&&this._recomputePreferredBoxHeight();if(f){var d=this.getPreferredBoxWidth();if(this._computedWidthTypeAuto){this._computedWidthValue=d;k.width=true}if(this._computedMinWidthTypeAuto){this._computedMinWidthValue=d;k.minWidth=true}if(this._computedMaxWidthTypeAuto){this._computedMaxWidthValue=d;k.maxWidth=true}}if(p){var d=this.getPreferredBoxHeight();if(this._computedHeightTypeAuto){this._computedHeightValue=d;k.height=true}if(this._computedMinHeightTypeAuto){this._computedMinHeightValue=d;k.minHeight=true}if(this._computedMaxHeightTypeAuto){this._computedMaxHeightValue=d;k.maxHeight=true}}if((k.width||k.minWidth||k.maxWidth||k.left||k.right)&&this._recomputeBoxWidth()){g=b=true}if((k.height||k.minHeight||k.maxHeight||k.top||k.bottom)&&this._recomputeBoxHeight()){h=l=true}}catch(o){throw new Error("Flushing job queue (recompute#2) failed "+o)}try{if((g&&this._recomputeOuterWidth())||f){r._invalidatePreferredInnerWidth();r.getLayoutImpl().updateSelfOnChildOuterWidthChange(this);c=true}if((h&&this._recomputeOuterHeight())||p){r._invalidatePreferredInnerHeight();r.getLayoutImpl().updateSelfOnChildOuterHeightChange(this);c=true}if(c){r._flushJobQueue()}}catch(o){throw new Error("Flushing job queue (parentsignals#3) failed "+o)}try{r._addChildToChildrenQueue(this);for(var j in k){this._layoutChanges[j]=true}}catch(o){throw new Error("Flushing job queue (addjobs#4) failed "+o)}try{if(this instanceof qx.ui.core.Parent&&(k.paddingLeft||k.paddingRight||k.paddingTop||k.paddingBottom)){var a=this.getChildren(),m=a.length;if(k.paddingLeft){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingLeft")}}if(k.paddingRight){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingRight")}}if(k.paddingTop){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingTop")}}if(k.paddingBottom){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingBottom")}}}if(b){this._recomputeInnerWidth()}if(l){this._recomputeInnerHeight()}if(this._initialLayoutDone){if(n){n.updateChildrenOnJobQueueFlush(k)}}}catch(o){throw new Error("Flushing job queue (childrensignals#5) failed "+o)}delete this._jobQueue},_isWidthEssential:qx.lang.Function.returnTrue,_isHeightEssential:qx.lang.Function.returnTrue,_computeBoxWidthFallback:function(){return 0},_computeBoxHeightFallback:function(){return 0},_computeBoxWidth:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,qx.lang.Number.limit(a.computeChildBoxWidth(this),this.getMinWidthValue(),this.getMaxWidthValue()))},_computeBoxHeight:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,qx.lang.Number.limit(a.computeChildBoxHeight(this),this.getMinHeightValue(),this.getMaxHeightValue()))},_computeOuterWidth:function(){return Math.max(0,(this.getMarginLeft()+this.getBoxWidth()+this.getMarginRight()))},_computeOuterHeight:function(){return Math.max(0,(this.getMarginTop()+this.getBoxHeight()+this.getMarginBottom()))},_computeInnerWidth:function(){return Math.max(0,this.getBoxWidth()-this.getFrameWidth())},_computeInnerHeight:function(){return Math.max(0,this.getBoxHeight()-this.getFrameHeight())},getNeededWidth:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,a.computeChildNeededWidth(this))},getNeededHeight:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,a.computeChildNeededHeight(this))},_recomputeFlexX:function(){if(!this.getHasFlexX()){return false}if(this._computedWidthTypeFlex){this._computedWidthValue=null;this.addToLayoutChanges($[20])}return true},_recomputeFlexY:function(){if(!this.getHasFlexY()){return false}if(this._computedHeightTypeFlex){this._computedHeightValue=null;this.addToLayoutChanges($[34])}return true},_recomputePercentX:function(){if(!this.getHasPercentX()){return false}if(this._computedWidthTypePercent){this._computedWidthValue=null;this.addToLayoutChanges($[20])}if(this._computedMinWidthTypePercent){this._computedMinWidthValue=null;this.addToLayoutChanges($[98])}if(this._computedMaxWidthTypePercent){this._computedMaxWidthValue=null;this.addToLayoutChanges($[97])}if(this._computedLeftTypePercent){this._computedLeftValue=null;this.addToLayoutChanges("left")}if(this._computedRightTypePercent){this._computedRightValue=null;this.addToLayoutChanges($[21])}return true},_recomputePercentY:function(){if(!this.getHasPercentY()){return false}if(this._computedHeightTypePercent){this._computedHeightValue=null;this.addToLayoutChanges($[34])}if(this._computedMinHeightTypePercent){this._computedMinHeightValue=null;this.addToLayoutChanges($[107])}if(this._computedMaxHeightTypePercent){this._computedMaxHeightValue=null;this.addToLayoutChanges($[99])}if(this._computedTopTypePercent){this._computedTopValue=null;this.addToLayoutChanges("top")}if(this._computedBottomTypePercent){this._computedBottomValue=null;this.addToLayoutChanges($[35])}return true},_recomputeRangeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this._computedLeftTypeNull||this._computedRightTypeNull){return false}this.addToLayoutChanges($[20]);return true},"default":function(){return !(this._computedLeftTypeNull||this._computedRightTypeNull)}}),_recomputeRangeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this._computedTopTypeNull||this._computedBottomTypeNull){return false}this.addToLayoutChanges($[34]);return true},"default":function(){return !(this._computedTopTypeNull||this._computedBottomTypeNull)}}),_recomputeStretchingX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this.getAllowStretchX()&&this._computedWidthTypeNull){this._computedWidthValue=null;this.addToLayoutChanges($[20]);return true}return false},"default":function(){if(this.getAllowStretchX()&&this._computedWidthTypeNull){return true}return false}}),_recomputeStretchingY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this.getAllowStretchY()&&this._computedHeightTypeNull){this._computedHeightValue=null;this.addToLayoutChanges($[34]);return true}return false},"default":function(){if(this.getAllowStretchY()&&this._computedHeightTypeNull){return true}return false}}),_computeValuePixel:function(a){return Math.round(a)},_computeValuePixelLimit:function(a){return Math.max(0,this._computeValuePixel(a))},_computeValuePercentX:function(a){return Math.round(this.getParent().getInnerWidthForChild(this)*a*0.01)},_computeValuePercentXLimit:function(a){return Math.max(0,this._computeValuePercentX(a))},_computeValuePercentY:function(a){return Math.round(this.getParent().getInnerHeightForChild(this)*a*0.01)},_computeValuePercentYLimit:function(a){return Math.max(0,this._computeValuePercentY(a))},getWidthValue:function(){if(this._computedWidthValue!=null){return this._computedWidthValue}switch(this._computedWidthType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedWidthValue=this._computeValuePixelLimit(this._computedWidthParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedWidthValue=this._computeValuePercentXLimit(this._computedWidthParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedWidthValue=this.getPreferredBoxWidth();case qx.ui.core.Widget.TYPE_FLEX:if(this.getParent().getLayoutImpl().computeChildrenFlexWidth===undefined){throw new Error("Widget "+this+": having horizontal flex size (width="+this.getWidth()+$[539]+this.getParent()+$[420])}this.getParent().getLayoutImpl().computeChildrenFlexWidth();return this._computedWidthValue=this._computedWidthFlexValue}return null},getMinWidthValue:function(){if(this._computedMinWidthValue!=null){return this._computedMinWidthValue}switch(this._computedMinWidthType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedWidthValue=this._computeValuePixelLimit(this._computedMinWidthParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedWidthValue=this._computeValuePercentXLimit(this._computedMinWidthParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMinWidthValue=this.getPreferredBoxWidth()}return null},getMaxWidthValue:function(){if(this._computedMaxWidthValue!=null){return this._computedMaxWidthValue}switch(this._computedMaxWidthType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedWidthValue=this._computeValuePixelLimit(this._computedMaxWidthParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedWidthValue=this._computeValuePercentXLimit(this._computedMaxWidthParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMaxWidthValue=this.getPreferredBoxWidth()}return null},getLeftValue:function(){if(this._computedLeftValue!=null){return this._computedLeftValue}switch(this._computedLeftType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedLeftValue=this._computeValuePixel(this._computedLeftParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedLeftValue=this._computeValuePercentX(this._computedLeftParsed)}return null},getRightValue:function(){if(this._computedRightValue!=null){return this._computedRightValue}switch(this._computedRightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedRightValue=this._computeValuePixel(this._computedRightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedRightValue=this._computeValuePercentX(this._computedRightParsed)}return null},getHeightValue:function(){if(this._computedHeightValue!=null){return this._computedHeightValue}switch(this._computedHeightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedHeightValue=this._computeValuePixelLimit(this._computedHeightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedHeightValue=this._computeValuePercentYLimit(this._computedHeightParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedHeightValue=this.getPreferredBoxHeight();case qx.ui.core.Widget.TYPE_FLEX:if(this.getParent().getLayoutImpl().computeChildrenFlexHeight===undefined){throw new Error("Widget "+this+": having vertical flex size (height="+this.getHeight()+$[539]+this.getParent()+$[420])}this.getParent().getLayoutImpl().computeChildrenFlexHeight();return this._computedHeightValue=this._computedHeightFlexValue}return null},getMinHeightValue:function(){if(this._computedMinHeightValue!=null){return this._computedMinHeightValue}switch(this._computedMinHeightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedMinHeightValue=this._computeValuePixelLimit(this._computedMinHeightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedMinHeightValue=this._computeValuePercentYLimit(this._computedMinHeightParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMinHeightValue=this.getPreferredBoxHeight()}return null},getMaxHeightValue:function(){if(this._computedMaxHeightValue!=null){return this._computedMaxHeightValue}switch(this._computedMaxHeightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedMaxHeightValue=this._computeValuePixelLimit(this._computedMaxHeightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedMaxHeightValue=this._computeValuePercentYLimit(this._computedMaxHeightParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMaxHeightValue=this.getPreferredBoxHeight()}return null},getTopValue:function(){if(this._computedTopValue!=null){return this._computedTopValue}switch(this._computedTopType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedTopValue=this._computeValuePixel(this._computedTopParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedTopValue=this._computeValuePercentY(this._computedTopParsed)}return null},getBottomValue:function(){if(this._computedBottomValue!=null){return this._computedBottomValue}switch(this._computedBottomType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedBottomValue=this._computeValuePixel(this._computedBottomParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedBottomValue=this._computeValuePercentY(this._computedBottomParsed)}return null},_computeFrameWidth:function(){var a=this._cachedBorderLeft+this.getPaddingLeft()+this.getPaddingRight()+this._cachedBorderRight;switch(this.getOverflow()){case $[25]:case $[90]:a+=qx.ui.core.Widget.SCROLLBAR_SIZE;break;case"auto":break}return a},_computeFrameHeight:function(){var a=this._cachedBorderTop+this.getPaddingTop()+this.getPaddingBottom()+this._cachedBorderBottom;switch(this.getOverflow()){case $[25]:case $[91]:a+=qx.ui.core.Widget.SCROLLBAR_SIZE;break;case"auto":break}return a},_invalidateFrameDimensions:function(){this._invalidateFrameWidth();this._invalidateFrameHeight()},_invalidatePreferredInnerDimensions:function(){this._invalidatePreferredInnerWidth();this._invalidatePreferredInnerHeight()},_computePreferredBoxWidth:function(){try{return Math.max(0,this.getPreferredInnerWidth()+this.getFrameWidth())}catch(a){throw new Error("_computePreferredBoxWidth failed "+a)}},_computePreferredBoxHeight:function(){try{return Math.max(0,this.getPreferredInnerHeight()+this.getFrameHeight())}catch(a){throw new Error("_computePreferredBoxHeight failed "+a)}},_initialLayoutDone:false,addToLayoutChanges:function(a){if(this._isDisplayable){this.getParent()._addChildToChildrenQueue(this)}return this._layoutChanges[a]=true},addToQueue:function(a){this._initialLayoutDone?this.addToJobQueue(a):this.addToLayoutChanges(a)},addToQueueRuntime:function(a){return !this._initialLayoutDone||this.addToJobQueue(a)},_computeHasPercentX:function(){return(this._computedLeftTypePercent||this._computedWidthTypePercent||this._computedMinWidthTypePercent||this._computedMaxWidthTypePercent||this._computedRightTypePercent)},_computeHasPercentY:function(){return(this._computedTopTypePercent||this._computedHeightTypePercent||this._computedMinHeightTypePercent||this._computedMaxHeightTypePercent||this._computedBottomTypePercent)},_computeHasAutoX:function(){return(this._computedWidthTypeAuto||this._computedMinWidthTypeAuto||this._computedMaxWidthTypeAuto)},_computeHasAutoY:function(){return(this._computedHeightTypeAuto||this._computedMinHeightTypeAuto||this._computedMaxHeightTypeAuto)},_computeHasFlexX:function(){return this._computedWidthTypeFlex},_computeHasFlexY:function(){return this._computedHeightTypeFlex},_evalUnitsPixelPercentAutoFlex:function(a){switch(a){case"auto":return qx.ui.core.Widget.TYPE_AUTO;case Infinity:case -Infinity:return qx.ui.core.Widget.TYPE_NULL}switch(typeof a){case $[80]:return isNaN(a)?qx.ui.core.Widget.TYPE_NULL:qx.ui.core.Widget.TYPE_PIXEL;case $[14]:return a.indexOf("%")!=-1?qx.ui.core.Widget.TYPE_PERCENT:a.indexOf("*")!=-1?qx.ui.core.Widget.TYPE_FLEX:qx.ui.core.Widget.TYPE_NULL}return qx.ui.core.Widget.TYPE_NULL},_evalUnitsPixelPercentAuto:function(a){switch(a){case"auto":return qx.ui.core.Widget.TYPE_AUTO;case Infinity:case -Infinity:return qx.ui.core.Widget.TYPE_NULL}switch(typeof a){case $[80]:return isNaN(a)?qx.ui.core.Widget.TYPE_NULL:qx.ui.core.Widget.TYPE_PIXEL;case $[14]:return a.indexOf("%")!=-1?qx.ui.core.Widget.TYPE_PERCENT:qx.ui.core.Widget.TYPE_NULL}return qx.ui.core.Widget.TYPE_NULL},_evalUnitsPixelPercent:function(a){switch(a){case Infinity:case -Infinity:return qx.ui.core.Widget.TYPE_NULL}switch(typeof a){case $[80]:return isNaN(a)?qx.ui.core.Widget.TYPE_NULL:qx.ui.core.Widget.TYPE_PIXEL;case $[14]:return a.indexOf("%")!=-1?qx.ui.core.Widget.TYPE_PERCENT:qx.ui.core.Widget.TYPE_NULL}return qx.ui.core.Widget.TYPE_NULL},_unitDetectionPixelPercentAutoFlex:function(b,j){var a=qx.ui.core.Widget.layoutPropertyTypes[b];var n=a.dataType;var c=a.dataParsed;var m=a.dataValue;var l=a.typePixel;var k=a.typePercent;var i=a.typeAuto;var h=a.typeFlex;var g=a.typeNull;var e=this[k];var f=this[i];var d=this[h];switch(this[n]=this._evalUnitsPixelPercentAutoFlex(j)){case qx.ui.core.Widget.TYPE_PIXEL:this[l]=true;this[k]=this[i]=this[h]=this[g]=false;this[c]=this[m]=Math.round(j);break;case qx.ui.core.Widget.TYPE_PERCENT:this[k]=true;this[l]=this[i]=this[h]=this[g]=false;this[c]=parseFloat(j);this[m]=null;break;case qx.ui.core.Widget.TYPE_AUTO:this[i]=true;this[l]=this[k]=this[h]=this[g]=false;this[c]=this[m]=null;break;case qx.ui.core.Widget.TYPE_FLEX:this[h]=true;this[l]=this[k]=this[i]=this[g]=false;this[c]=parseFloat(j);this[m]=null;break;default:this[g]=true;this[l]=this[k]=this[i]=this[h]=false;this[c]=this[m]=null;break}if(e!=this[k]){switch(b){case $[98]:case $[97]:case $[20]:case"left":case $[21]:this._invalidateHasPercentX();break;case $[99]:case $[107]:case $[34]:case"top":case $[35]:this._invalidateHasPercentY();break}}if(f!=this[i]){switch(b){case $[98]:case $[97]:case $[20]:this._invalidateHasAutoX();break;case $[107]:case $[99]:case $[34]:this._invalidateHasAutoY();break}}if(d!=this[h]){switch(b){case $[20]:this._invalidateHasFlexX();break;case $[34]:this._invalidateHasFlexY();break}}},_unitDetectionPixelPercentAuto:function(b,h){var a=qx.ui.core.Widget.layoutPropertyTypes[b];var l=a.dataType;var c=a.dataParsed;var k=a.dataValue;var j=a.typePixel;var i=a.typePercent;var g=a.typeAuto;var f=a.typeNull;var d=this[i];var e=this[g];switch(this[l]=this._evalUnitsPixelPercentAuto(h)){case qx.ui.core.Widget.TYPE_PIXEL:this[j]=true;this[i]=this[g]=this[f]=false;this[c]=this[k]=Math.round(h);break;case qx.ui.core.Widget.TYPE_PERCENT:this[i]=true;this[j]=this[g]=this[f]=false;this[c]=parseFloat(h);this[k]=null;break;case qx.ui.core.Widget.TYPE_AUTO:this[g]=true;this[j]=this[i]=this[f]=false;this[c]=this[k]=null;break;default:this[f]=true;this[j]=this[i]=this[g]=false;this[c]=this[k]=null;break}if(d!=this[i]){switch(b){case $[98]:case $[97]:case $[20]:case"left":case $[21]:this._invalidateHasPercentX();break;case $[107]:case $[99]:case $[34]:case"top":case $[35]:this._invalidateHasPercentY();break}}if(e!=this[g]){switch(b){case $[98]:case $[97]:case $[20]:this._invalidateHasAutoX();break;case $[107]:case $[99]:case $[34]:this._invalidateHasAutoY();break}}},_unitDetectionPixelPercent:function(b,f){var a=qx.ui.core.Widget.layoutPropertyTypes[b];var j=a.dataType;var c=a.dataParsed;var i=a.dataValue;var h=a.typePixel;var g=a.typePercent;var e=a.typeNull;var d=this[g];switch(this[j]=this._evalUnitsPixelPercent(f)){case qx.ui.core.Widget.TYPE_PIXEL:this[h]=true;this[g]=this[e]=false;this[c]=this[i]=Math.round(f);break;case qx.ui.core.Widget.TYPE_PERCENT:this[g]=true;this[h]=this[e]=false;this[c]=parseFloat(f);this[i]=null;break;default:this[e]=true;this[h]=this[g]=false;this[c]=this[i]=null;break}if(d!=this[g]){switch(b){case $[98]:case $[97]:case $[20]:case"left":case $[21]:this._invalidateHasPercentX();break;case $[107]:case $[99]:case $[34]:case"top":case $[35]:this._invalidateHasPercentY();break}}},getTopLevelWidget:function(){return this._hasParent?this.getParent().getTopLevelWidget():null},moveSelfBefore:function(a){this.getParent().addBefore(this,a)},moveSelfAfter:function(a){this.getParent().addAfter(this,a)},moveSelfToBegin:function(){this.getParent().addAtBegin(this)},moveSelfToEnd:function(){this.getParent().addAtEnd(this)},getPreviousSibling:function(){var b=this.getParent();if(b==null){return null}var a=b.getChildren();return a[a.indexOf(this)-1]},getNextSibling:function(){var b=this.getParent();if(b==null){return null}var a=b.getChildren();return a[a.indexOf(this)+1]},getPreviousVisibleSibling:function(){if(!this._hasParent){return null}var a=this.getParent().getVisibleChildren();return a[a.indexOf(this)-1]},getNextVisibleSibling:function(){if(!this._hasParent){return null}var a=this.getParent().getVisibleChildren();return a[a.indexOf(this)+1]},getPreviousActiveSibling:function(a){var b=qx.ui.core.Widget.getActiveSiblingHelper(this,this.getParent(),-1,a,null);return b?b:this.getParent().getLastActiveChild()},getNextActiveSibling:function(a){var b=qx.ui.core.Widget.getActiveSiblingHelper(this,this.getParent(),1,a,null);return b?b:this.getParent().getFirstActiveChild()},isFirstChild:function(){return this._hasParent&&this.getParent().getFirstChild()==this},isLastChild:function(){return this._hasParent&&this.getParent().getLastChild()==this},isFirstVisibleChild:function(){return this._hasParent&&this.getParent().getFirstVisibleChild()==this},isLastVisibleChild:function(){return this._hasParent&&this.getParent().getLastVisibleChild()==this},hasState:function(a){return this.__states&&this.__states[a]?true:false},addState:function(a){if(!this.__states){this.__states={}}if(!this.__states[a]){this.__states[a]=true;if(this._hasParent){qx.ui.core.Widget.addToGlobalStateQueue(this)}}},removeState:function(a){if(this.__states&&this.__states[a]){delete this.__states[a];if(this._hasParent){qx.ui.core.Widget.addToGlobalStateQueue(this)}}},_styleFromMap:function(c){var b=qx.core.Property.$$method.style;var d=qx.core.Property.$$method.unstyle;var a;if(qx.core.Variant.isSet($[7],"on")){for(var e in c){if(!this[b[e]]){throw new Error(this.classname+$[450]+e+'"')}}}for(var e in c){a=c[e];a===$[8]?this[d[e]]():this[b[e]](a)}},_unstyleFromArray:function(c){var d=qx.core.Property.$$method.unstyle;if(qx.core.Variant.isSet($[7],"on")){for(var b=0,a=c.length;b<a;b++){if(!this[d[c[b]]]){throw new Error(this.classname+$[450]+c[b]+'"')}}}for(var b=0,a=c.length;b<a;b++){this[d[c[b]]]()}},_renderAppearance:function(){if(!this.__states){this.__states={}}this._applyStateStyleFocus(this.__states);var c=this.getAppearance();if(c){try{var b=qx.theme.manager.Appearance.getInstance().styleFrom(c,this.__states);if(b){this._styleFromMap(b)}}catch(a){throw new Error("Could not apply state appearance "+a)}}},_resetAppearanceThemeWrapper:function(a,e){var f=this.getAppearance();if(f){var c=qx.theme.manager.Appearance.getInstance();var d=c.styleFromTheme(e,f,this.__states);var b=c.styleFromTheme(a,f,this.__states);var g=[];for(var h in d){if(b[h]===undefined){g.push(h)}}this._unstyleFromArray(g);this._styleFromMap(b)}},_applyStateStyleFocus:qx.core.Variant.select($[0],{mshtml:function(a){},"default":function(a){if(a.focused){if(!qx.event.handler.FocusHandler.mouseFocus&&!this.getHideFocus()){this.setStyleProperty($[116],$[370])}}else{this.setStyleProperty($[116],"none")}}}),addToStateQueue:function(){qx.ui.core.Widget.addToGlobalStateQueue(this)},recursiveAddToStateQueue:function(){this.addToStateQueue()},_applyAppearance:function(e,a){if(!this.__states){this.__states={}}var c=qx.theme.manager.Appearance.getInstance();if(e){var b=c.styleFrom(e,this.__states)||{}}if(a){var d=c.styleFrom(a,this.__states)||{};var f=[];for(var g in d){if(!b||!(g in b)){f.push(g)}}}if(f){this._unstyleFromArray(f)}if(b){this._styleFromMap(b)}},_recursiveAppearanceThemeUpdate:function(a,c){try{this._resetAppearanceThemeWrapper(a,c)}catch(b){throw new Error("Failed to update appearance theme "+b)}},_applyElementData:function(a){},setHtmlProperty:function(b,a){if(!this._htmlProperties){this._htmlProperties={}}this._htmlProperties[b]=a;if(this._isCreated&&this.getElement()[b]!=a){this.getElement()[b]=a}return true},removeHtmlProperty:qx.core.Variant.select($[0],{mshtml:function(a){if(!this._htmlProperties){return}delete this._htmlProperties[a];if(this._isCreated){this.getElement().removeAttribute(a)}return true},"default":function(a){if(!this._htmlProperties){return}delete this._htmlProperties[a];if(this._isCreated){this.getElement().removeAttribute(a);delete this.getElement()[a]}return true}}),getHtmlProperty:function(a){if(!this._htmlProperties){return""}return this._htmlProperties[a]||""},_applyHtmlProperties:function(a){var c=this._htmlProperties;if(c){var b;for(b in c){a[b]=c[b]}}},_generateHtmlId:function(){var a=this.classname+"."+qx.ui.core.Widget._idCounter++;this.setHtmlProperty("id",a)},setHtmlAttribute:function(b,a){if(!this._htmlAttributes){this._htmlAttributes={}}this._htmlAttributes[b]=a;if(this._isCreated){this.getElement().setAttribute(b,a)}return true},removeHtmlAttribute:function(a){if(!this._htmlAttributes){return}delete this._htmlAttributes[a];if(this._isCreated){this.getElement().removeAttribute(a)}return true},getHtmlAttribute:function(a){if(!this._htmlAttributes){return""}return this._htmlAttributes[a]||""},_applyHtmlAttributes:function(b){var a=this._htmlAttributes;if(a){var c;for(c in a){b.setAttribute(c,a[c])}}},getStyleProperty:function(a){if(!this._styleProperties){return""}return this._styleProperties[a]||""},__outerElementStyleProperties:{cursor:true,zIndex:true,filter:true,display:true,visibility:true,outline:true},setStyleProperty:function(c,b){if(!this._styleProperties){this._styleProperties={}}this._styleProperties[c]=b;if(this._isCreated){var a=this.__outerElementStyleProperties[c]?this.getElement():this._getTargetNode();if(a){a.style[c]=(b==null)?"":b}}},removeStyleProperty:function(b){if(!this._styleProperties){return}delete this._styleProperties[b];if(this._isCreated){var a=this.__outerElementStyleProperties[b]?this.getElement():this._getTargetNode();if(a){a.style[b]=""}}},_applyStyleProperties:function(b){var e=this._styleProperties;if(!e){return}var d;var f=b;var a=this._getTargetNode();var b;var c;for(d in e){b=this.__outerElementStyleProperties[d]?f:a;c=e[d];b.style[d]=(c==null)?"":c}},_applyEnabled:function(b,a){if(b===false){this.addState("disabled");this.removeState("over");if(qx.Class.isDefined($[389])){this.removeState($[46]);this.removeState($[23])}}else{this.removeState("disabled")}},isFocusable:function(){return this.getEnabled()&&this.isSeeable()&&this.getTabIndex()!=null},isFocusRoot:function(){return false},getFocusRoot:function(){if(this._hasParent){return this.getParent().getFocusRoot()}return null},getActiveChild:function(){var a=this.getFocusRoot();if(a){return a.getActiveChild()}return null},_ontabfocus:qx.lang.Function.returnTrue,_applyFocused:function(c,b){if(!this.isCreated()){return}var a=this.getFocusRoot();if(a){if(c){a.setFocusedChild(this);this._visualizeFocus()}else{if(a.getFocusedChild()==this){a.setFocusedChild(null)}this._visualizeBlur()}}},_applyHideFocus:qx.core.Variant.select($[0],{mshtml:function(b,a){this.setHtmlProperty("hideFocus",b)},"default":qx.lang.Function.returnTrue}),_visualizeBlur:function(){if(this.getEnableElementFocus()&&(!this.getFocusRoot().getFocusedChild()||(this.getFocusRoot().getFocusedChild()&&this.getFocusRoot().getFocusedChild().getEnableElementFocus()))){try{this.getElement().blur()}catch(a){}}this.removeState($[120])},_visualizeFocus:function(){if(!qx.event.handler.FocusHandler.mouseFocus&&this.getEnableElementFocus()){try{this.getElement().focus()}catch(a){}}this.addState($[120])},focus:function(){delete qx.event.handler.FocusHandler.mouseFocus;this.setFocused(true)},blur:function(){delete qx.event.handler.FocusHandler.mouseFocus;this.setFocused(false)},_applyCapture:function(c,b){var a=org.eclipse.rwt.EventHandler;if(b){a.setCaptureWidget(null)}if(c){a.setCaptureWidget(this)}},_applyZIndex:function(b,a){if(b==null){this.removeStyleProperty("zIndex")}else{this.setStyleProperty("zIndex",b)}},_applyTabIndex:qx.core.Variant.select($[0],{mshtml:function(b,a){this.setHtmlProperty("tabIndex",b<0?-1:1)},"default":function(b,a){this.setStyleProperty("userFocus",(b<0?"ignore":$[131]));this.setHtmlProperty("tabIndex",b<0?-1:1)}}),_applySelectable:qx.core.Variant.select($[0],{mshtml:function(b,a){},gecko:function(b,a){if(b){this.removeStyleProperty($[502])}else{this.setStyleProperty($[502],"none")}},webkit:function(b,a){if(b){this.removeStyleProperty($[484]);this.removeStyleProperty($[543])}else{this.setStyleProperty($[484],"none");this.setStyleProperty($[543],"none")}},"default":function(b,a){if(b){return this.removeStyleProperty("userSelect")}else{this.setStyleProperty("userSelect","none")}}}),_applyOpacity:function(b,a){org.eclipse.rwt.HtmlUtil.setOpacity(this,b)},__cursorMap:qx.core.Variant.select($[0],{mshtml:{"default":$[36],wait:"wait",crosshair:$[342],help:"help",move:"move",text:"text",pointer:$[148],"e-resize":$[163],"n-resize":$[197],"w-resize":$[231],"s-resize":$[378],"ne-resize":$[216],"se-resize":$[349],"nw-resize":$[219],"sw-resize":$[363],"col-resize":$[388],"row-resize":$[330],progress:$[263],"not-allowed":$[367],"no-drop":"no-drop",cursor:"hand","ew-resize":$[163],"ns-resize":$[197],"nesw-resize":$[216],"nwse-resize":$[219]},opera:{"default":$[36],wait:"wait",crosshair:$[342],help:"help",move:"move",text:"text",pointer:$[148],"e-resize":$[163],"n-resize":$[197],"w-resize":$[231],"s-resize":$[378],"ne-resize":$[216],"se-resize":$[349],"nw-resize":$[219],"sw-resize":$[363],progress:$[263],"not-allowed":$[367],"no-drop":"no-drop","col-resize":$[163],"row-resize":$[197],"ew-resize":$[163],"ns-resize":$[197],"nesw-resize":$[216],"nwse-resize":$[219]},"default":{"default":$[36],wait:"wait",crosshair:$[342],help:"help",move:"move",text:"text",pointer:$[148],"e-resize":$[163],"n-resize":$[197],"w-resize":$[231],"s-resize":$[378],"ne-resize":$[216],"se-resize":$[349],"nw-resize":$[219],"sw-resize":$[363],"col-resize":$[388],"row-resize":$[330],progress:$[263],"not-allowed":$[367],"no-drop":"no-drop"}}),_applyCursor:function(c,a){if(c){var b="url( "+qx.io.Alias.getInstance().resolve(c)+" ), default";this.setStyleProperty($[37],this.__cursorMap[c]||b)}else{this.removeStyleProperty($[37])}},_applyCommand:function(b,a){},_applyBackgroundImage:function(c,a){var b=qx.io.image.Manager.getInstance();var d=qx.io.Alias.getInstance();if(a){b.hide(a)}if(c){b.show(c)}d.connect(this._styleBackgroundImage,this,c)},_styleBackgroundImage:function(a){a?this.setStyleProperty($[157],"url("+a+")"):this.removeStyleProperty($[157])},_applyBackgroundRepeat:function(b,a){b?this.setStyleProperty($[465],b):this.removeStyleProperty($[465])},_applyClip:function(b,a){return this._compileClipString()},_compileClipString:function(){var f=this.getClipLeft();var b=this.getClipTop();var e=this.getClipWidth();var a=this.getClipHeight();var d,c;if(f==null){d=(e==null?"auto":e+"px");f="auto"}else{d=(e==null?"auto":f+e+"px");f=f+"px"}if(b==null){c=(a==null?"auto":a+"px");b="auto"}else{c=(a==null?"auto":b+a+"px");b=b+"px"}return this.setStyleProperty("clip",("rect("+b+","+d+","+c+","+f+")"))},_applyOverflow:qx.core.Variant.select($[0],{"default":function(g,c){var f=g;var d=$[72];switch(g){case $[91]:d=$[103];f=$[25];break;case $[90]:d=$[104];f=$[25];break}var b=[$[72],$[103],$[104]];for(var e=0;e<b.length;e++){if(b[e]!=d){this.removeStyleProperty(b[e])}}switch(g){case $[91]:this.setStyleProperty($[104],$[13]);break;case $[90]:this.setStyleProperty($[103],$[13]);break}this._renderOverflow(d,f,g,c);this.addToQueue($[72])},gecko:function(d,a){var c=d;var b=$[72];switch(c){case $[13]:c=$[284];break;case $[91]:c=$[313];break;case $[90]:c=$[254];break}this._renderOverflow(b,c,d,a);this.addToQueue($[72])},opera:function(g,c){var f=g;var d=$[72];if(org.eclipse.rwt.Client.getVersion()<9.8){switch(f){case $[91]:case $[90]:f=$[25];break}}else{switch(f){case $[91]:d=$[103];f=$[25];break;case $[90]:d=$[104];f=$[25];break}var b=[$[72],$[103],$[104]];for(var e=0;e<b.length;e++){if(b[e]!=d){this.removeStyleProperty(b[e])}}switch(g){case $[91]:this.setStyleProperty($[104],$[13]);break;case $[90]:this.setStyleProperty($[103],$[13]);break}}this._renderOverflow(d,f,g,c);this.addToQueue($[72])}}),_renderOverflow:function(b,c,d,a){this.setStyleProperty(b,c||"");this._invalidateFrameWidth();this._invalidateFrameHeight()},getOverflowX:function(){var a=this.getOverflow();return a==$[90]?$[13]:a},getOverflowY:function(){var a=this.getOverflow();return a==$[91]?$[13]:a},_applyBackgroundColor:function(b,a){qx.theme.manager.Color.getInstance().connect(this._styleBackgroundColor,this,b)},_styleBackgroundColor:function(a){a?this.setStyleProperty($[82],a):this.removeStyleProperty($[82])},_applyTextColor:function(b,a){},_applyFont:function(b,a){},_cachedBorderTop:0,_cachedBorderRight:0,_cachedBorderBottom:0,_cachedBorderLeft:0,_applyBorder:function(b,a){qx.theme.manager.Border.getInstance().connect(this._queueBorder,this,b)},__borderJobs:{top:"borderTop",right:"borderRight",bottom:"borderBottom",left:"borderLeft"},_queueBorder:function(d,c){if(!c){var a=this.__borderJobs;for(var b in a){this.addToQueue(a[b])}this.__reflowBorderX(d);this.__reflowBorderY(d)}else{if(c==="left"||c===$[21]){this.__reflowBorderX(d)}else{this.__reflowBorderY(d)}this.addToQueue(this.__borderJobs[c])}this.__borderObject=d},__reflowBorderX:function(b){var a=this._cachedBorderLeft;var c=this._cachedBorderRight;this._cachedBorderLeft=b?b.getWidthLeft():0;this._cachedBorderRight=b?b.getWidthRight():0;if((a+c)!=(this._cachedBorderLeft+this._cachedBorderRight)){this._invalidateFrameWidth()}},__reflowBorderY:function(c){var a=this._cachedBorderTop;var b=this._cachedBorderBottom;this._cachedBorderTop=c?c.getWidthTop():0;this._cachedBorderBottom=c?c.getWidthBottom():0;if((a+b)!=(this._cachedBorderTop+this._cachedBorderBottom)){this._invalidateFrameHeight()}},renderBorder:function(b){var c=this.__borderObject;if(c){if(b.borderTop){c.renderTop(this)}if(b.borderRight){c.renderRight(this)}if(b.borderBottom){c.renderBottom(this)}if(b.borderLeft){c.renderLeft(this)}}else{var a=qx.ui.core.Border;if(b.borderTop){a.resetTop(this)}if(b.borderRight){a.resetRight(this)}if(b.borderBottom){a.resetBottom(this)}if(b.borderLeft){a.resetLeft(this)}}this._usesComplexBorder=this._computeUsesComplexBorder()},_computeUsesComplexBorder:function(){return this.__borderObject&&this.__borderObject.__complexTop},prepareEnhancedBorder:qx.core.Variant.select($[0],{gecko:qx.lang.Function.returnTrue,"default":function(){var d=this.getElement();var a=this._borderElement=document.createElement("div");var e=d.style;var c=this._innerStyle=a.style;if(qx.core.Variant.isSet($[0],$[19])){}else{c.width=c.height="100%"}c.position=$[32];for(var b in this._styleProperties){switch(b){case"zIndex":case $[251]:case $[135]:break;default:c[b]=this._styleProperties[b];e[b]=""}}if(qx.core.Variant.isSet($[0],$[71])){e.outline="none"}for(var b in this._htmlProperties){switch(b){case $[319]:a.unselectable=this._htmlProperties[b]}}while(d.firstChild){a.appendChild(d.firstChild)}d.appendChild(a)}}),_applyPaddingTop:function(b,a){this.addToQueue($[208]);this._invalidateFrameHeight()},_applyPaddingRight:function(b,a){this.addToQueue($[220]);this._invalidateFrameWidth()},_applyPaddingBottom:function(b,a){this.addToQueue($[234]);this._invalidateFrameHeight()},_applyPaddingLeft:function(b,a){this.addToQueue($[238]);this._invalidateFrameWidth()},renderPadding:function(a){},_applyMarginLeft:function(b,a){this.addToQueue($[207])},_applyMarginRight:function(b,a){this.addToQueue($[260])},_applyMarginTop:function(b,a){this.addToQueue($[206])},_applyMarginBottom:function(b,a){this.addToQueue($[312])},execute:function(){var a=this.getCommand();if(a){a.execute(this)}this.createDispatchEvent($[134])},_visualPropertyCheck:function(){if(!this.isCreated()){throw new Error(this.classname+": Element must be created previously!")}},setScrollLeft:function(a){this._visualPropertyCheck();this._getTargetNode().scrollLeft=a},setScrollTop:function(a){this._visualPropertyCheck();this._getTargetNode().scrollTop=a},getOffsetLeft:function(){this._visualPropertyCheck();return qx.html.Offset.getLeft(this.getElement())},getOffsetTop:function(){this._visualPropertyCheck();return qx.html.Offset.getTop(this.getElement())},getScrollLeft:function(){this._visualPropertyCheck();return this._getTargetNode().scrollLeft},getScrollTop:function(){this._visualPropertyCheck();return this._getTargetNode().scrollTop},getClientWidth:function(){this._visualPropertyCheck();return this._getTargetNode().clientWidth},getClientHeight:function(){this._visualPropertyCheck();return this._getTargetNode().clientHeight},getOffsetWidth:function(){this._visualPropertyCheck();return this.getElement().offsetWidth},getOffsetHeight:function(){this._visualPropertyCheck();return this.getElement().offsetHeight},getScrollWidth:function(){this._visualPropertyCheck();return this._getTargetNode().scrollWidth},getScrollHeight:function(){this._visualPropertyCheck();return this._getTargetNode().scrollHeight},scrollIntoView:function(a){this.scrollIntoViewX(a);this.scrollIntoViewY(a)},scrollIntoViewX:function(a){if(!this._isCreated||!this._isDisplayable){return false}return qx.html.ScrollIntoView.scrollX(this.getElement(),a)},scrollIntoViewY:function(a){if(!this._isCreated||!this._isDisplayable){return false}return qx.html.ScrollIntoView.scrollY(this.getElement(),a)},supportsDrop:function(a){var b=this.getSupportsDropMethod();if(b!==null){return b.call(this,a)}return(this!=a.sourceWidget)}},settings:{"qx.widgetQueueDebugging":false,"qx.widgetDebugId":false},defer:function(b,a){b.__initApplyMethods(a);if(qx.core.Variant.isSet($[0],$[19])){a._renderRuntimeWidth=function(d){this._style.pixelWidth=(d==null)?0:d;if(this._innerStyle){var c=this._usesComplexBorder&&d!=null?d-2:d;this._innerStyle.pixelWidth=c==null?0:c}};a._renderRuntimeHeight=function(d){this._style.pixelHeight=(d==null)?0:d;if(this._innerStyle){var c=this._usesComplexBorder&&d!=null?d-2:d;this._innerStyle.pixelHeight=c==null?0:c}};a._resetRuntimeWidth=function(){this._style.width="";if(this._innerStyle){this._innerStyle.width=""}};a._resetRuntimeHeight=function(){this._style.height="";if(this._innerStyle){this._innerStyle.height=""}}}b.__initLayoutProperties(b)},destruct:function(){var a=this.getElement();if(a){a.qx_Widget=null}this._disposeFields("_isCreated","_inlineEvents","_element","_style","_borderElement","_innerStyle","_oldParent","_styleProperties","_htmlProperties","_htmlAttributes","__states","_jobQueue","_layoutChanges","__borderObject")}});
-qx.Class.define("qx.html.Dimension",{statics:{getBoxWidth:function(a){return a.offsetWidth},getBoxHeight:function(a){return a.offsetHeight},getAreaWidth:qx.core.Variant.select($[0],{gecko:function(a){if(a.clientWidth!=0&&a.clientWidth!=(qx.html.Style.getBorderLeft(a)+qx.html.Style.getBorderRight(a))){return a.clientWidth}else{return qx.html.Dimension.getBoxWidth(a)-qx.html.Dimension.getInsetLeft(a)-qx.html.Dimension.getInsetRight(a)}},"default":function(a){return a.clientWidth!=0?a.clientWidth:(qx.html.Dimension.getBoxWidth(a)-qx.html.Dimension.getInsetLeft(a)-qx.html.Dimension.getInsetRight(a))}}),getAreaHeight:qx.core.Variant.select($[0],{gecko:function(a){if(a.clientHeight!=0&&a.clientHeight!=(qx.html.Style.getBorderTop(a)+qx.html.Style.getBorderBottom(a))){return a.clientHeight}else{return qx.html.Dimension.getBoxHeight(a)-qx.html.Dimension.getInsetTop(a)-qx.html.Dimension.getInsetBottom(a)}},"default":function(a){return a.clientHeight!=0?a.clientHeight:(qx.html.Dimension.getBoxHeight(a)-qx.html.Dimension.getInsetTop(a)-qx.html.Dimension.getInsetBottom(a))}}),getInsetLeft:qx.core.Variant.select($[0],{mshtml:function(a){return a.clientLeft},"default":function(a){return qx.html.Style.getBorderLeft(a)}}),getInsetTop:qx.core.Variant.select($[0],{mshtml:function(a){return a.clientTop},"default":function(a){return qx.html.Style.getBorderTop(a)}}),getInsetRight:qx.core.Variant.select($[0],{mshtml:function(a){if(qx.html.Style.getStyleProperty(a,$[104])==$[13]||a.clientWidth==0){return qx.html.Style.getBorderRight(a)}return Math.max(0,a.offsetWidth-a.clientLeft-a.clientWidth)},"default":function(c){if(c.clientWidth==0){var b=qx.html.Style.getStyleProperty(c,$[72]);var a=b==$[25]||b==$[254]?16:0;return Math.max(0,qx.html.Style.getBorderRight(c)+a)}return Math.max(0,c.offsetWidth-c.clientWidth-qx.html.Style.getBorderLeft(c))}}),getInsetBottom:qx.core.Variant.select($[0],{mshtml:function(a){if(qx.html.Style.getStyleProperty(a,$[103])==$[13]||a.clientHeight==0){return qx.html.Style.getBorderBottom(a)}return Math.max(0,a.offsetHeight-a.clientTop-a.clientHeight)},"default":function(c){if(c.clientHeight==0){var b=qx.html.Style.getStyleProperty(c,$[72]);var a=b==$[25]||b==$[313]?16:0;return Math.max(0,qx.html.Style.getBorderBottom(c)+a)}return Math.max(0,c.offsetHeight-c.clientHeight-qx.html.Style.getBorderTop(c))}}),getScrollBarSizeRight:function(a){return qx.html.Dimension.getInsetRight(a)-qx.html.Style.getBorderRight(a)},getScrollBarSizeBottom:function(a){return qx.html.Dimension.getInsetBottom(a)-qx.html.Style.getBorderBottom(a)}}});
-qx.Class.define("qx.html.Style",{statics:{getStylePropertySure:qx.lang.Object.select((document.defaultView&&document.defaultView.getComputedStyle)?$[427]:"noComputed",{hasComputed:function(a,b){return !a?null:a.ownerDocument?a.ownerDocument.defaultView.getComputedStyle(a,"")[b]:a.style[b]},noComputed:qx.core.Variant.select($[0],{mshtml:function(b,d){try{if(!b){return null}if(b.parentNode&&b.currentStyle){return b.currentStyle[d]}else{var c=b.runtimeStyle[d];if(c!=null&&typeof c!=$[8]&&c!=""){return c}return b.style[d]}}catch(a){throw new Error($[304]+b+"["+d+"]: "+a)}},"default":function(a,b){return !a?null:a.style[b]}})}),getStyleProperty:qx.lang.Object.select((document.defaultView&&document.defaultView.getComputedStyle)?$[427]:"noComputed",{hasComputed:function(b,c){try{return b.ownerDocument.defaultView.getComputedStyle(b,"")[c]}catch(a){throw new Error($[304]+b+"["+c+"]: "+a)}},noComputed:qx.core.Variant.select($[0],{mshtml:function(b,c){try{return b.currentStyle[c]}catch(a){throw new Error($[304]+b+"["+c+"]: "+a)}},"default":function(b,c){try{return b.style[c]}catch(a){throw new Error($[304]+b+"["+c+"]")}}})}),getStyleSize:function(a,b){return parseInt(qx.html.Style.getStyleProperty(a,b))||0},getMarginLeft:function(a){return qx.html.Style.getStyleSize(a,$[207])},getMarginTop:function(a){return qx.html.Style.getStyleSize(a,$[206])},getMarginRight:function(a){return qx.html.Style.getStyleSize(a,$[260])},getMarginBottom:function(a){return qx.html.Style.getStyleSize(a,$[312])},getPaddingLeft:function(a){return qx.html.Style.getStyleSize(a,$[238])},getPaddingTop:function(a){return qx.html.Style.getStyleSize(a,$[208])},getPaddingRight:function(a){return qx.html.Style.getStyleSize(a,$[220])},getPaddingBottom:function(a){return qx.html.Style.getStyleSize(a,$[234])},getBorderLeft:function(a){return qx.html.Style.getStyleProperty(a,"borderLeftStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[86])},getBorderTop:function(a){return qx.html.Style.getStyleProperty(a,"borderTopStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[94])},getBorderRight:function(a){return qx.html.Style.getStyleProperty(a,"borderRightStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[375])},getBorderBottom:function(a){return qx.html.Style.getStyleProperty(a,"borderBottomStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[373])}}});
-qx.Class.define("qx.html.Scroll",{statics:{disableScrolling:function(a){this.enableScrolling(a);a.scrollLeft=0;a.scrollTop=0;qx.html.EventRegistration.addEventListener(a,$[25],this._onscroll)},enableScrolling:function(a){qx.html.EventRegistration.removeEventListener(a,$[25],this._onscroll)},_onscroll:function(b){var a=null;if(b.target){a=(b.target==b.currentTarget)?b.target:null}else{if(b.srcElement){a=b.srcElement}}if(a&&(b.scrollLeft!=0||b.scrollTop!=0)){a.scrollLeft=0;a.scrollTop=0}}}});
+qx.Class.define("org.eclipse.rwt.HtmlUtil",{statics:{setOpacity:qx.core.Variant.select($[0],{mshtml:function(c,b){if(b==null||b>=1||b<0){this._removeCssFilter(c)}else{var a="Alpha(opacity="+Math.round(b*100)+")";this.setStyleProperty(c,"filter",a)}},"default":function(c,b){if(b==null||b>=1){if(qx.core.Variant.isSet($[0],$[43])){this.removeStyleProperty(c,$[319])}this.removeStyleProperty(c,$[42])}else{var a=qx.lang.Number.limit(b,0,1);if(qx.core.Variant.isSet($[0],$[43])){this.setStyleProperty(c,$[319],a)}this.setStyleProperty(c,$[42],a)}}}),setStyleProperty:function(c,b,a){if(c instanceof qx.ui.core.Widget){c.setStyleProperty(b,a)}else{c.style[b]=a}},removeStyleProperty:function(b,a){if(b instanceof qx.ui.core.Widget){b.removeStyleProperty(a)}else{b.style[a]=""}},_removeCssFilter:function(c){var a=null;if(c instanceof qx.ui.core.Widget){if(c.isCreated()){a=c.getElement()}else{c.removeStyleProperty("filter")}}else{a=c}if(a!==null){var b=a.style.cssText;b=b.replace(/FILTER:[^;]*(;|$)/,"");a.style.cssText=b}}}});
+qx.Class.define($[133],{extend:qx.core.Target,include:qx.util.manager.MConnectedObject,type:$[102],construct:function(){arguments.callee.base.call(this);this._layoutChanges={};this.initHideFocus();this._usesComplexBorder=false},events:{beforeAppear:$[10],appear:$[10],beforeDisappear:$[10],disappear:$[10],insertDom:$[10],create:$[10],execute:$[10],flush:$[75],mouseover:$[88],mousemove:$[88],mouseout:$[88],mousedown:$[88],mouseup:$[88],mousewheel:$[88],click:$[88],dblclick:$[88],contextmenu:$[88],elementOver:$[88],elementOut:$[88],keydown:$[304],keypress:$[304],keyup:$[304],focusout:$[239],focusin:$[239],blur:$[239],focus:$[239],dragdrop:$[165],dragout:$[165],dragover:$[165],dragmove:$[165],dragstart:$[165],dragend:$[165]},statics:{_globalWidgetQueue:[],_globalElementQueue:[],_globalStateQueue:[],_globalJobQueue:[],_globalLayoutQueue:[],_fastGlobalDisplayQueue:[],_lazyGlobalDisplayQueues:{},_globalDisposeQueue:[],_autoFlushTimeout:null,_flushGlobalQueuesPhase:0,_FLUSH_PHASE_IDLE:0,_FLUSH_PHASE_WIDGET:1,_FLUSH_PHASE_STATE:2,_FLUSH_PHASE_ELEMENT:3,_FLUSH_PHASE_JOB:4,_FLUSH_PHASE_LAYOUT:5,_FLUSH_PHASE_DISPLAY:6,_FLUSH_PHASE_DISPOSE:7,_initAutoFlush:function(a){if(qx.ui.core.Widget._autoFlushTimeout==null){if(!qx.ui.core.Widget._inFlushGlobalQueues||a<qx.ui.core.Widget._flushGlobalQueuesPhase){qx.ui.core.Widget._autoFlushTimeout=window.setTimeout(qx.ui.core.Widget._autoFlushHelper,0)}}},_removeAutoFlush:function(){if(qx.ui.core.Widget._autoFlushTimeout!=null){window.clearTimeout(qx.ui.core.Widget._autoFlushTimeout);qx.ui.core.Widget._autoFlushTimeout=null}},_autoFlushHelper:function(){qx.ui.core.Widget._autoFlushTimeout=null;if(!qx.core.Object.inGlobalDispose()){qx.ui.core.Widget.flushGlobalQueues()}},flushGlobalQueues:function(){if(qx.ui.core.Widget._autoFlushTimeout!=null){qx.ui.core.Widget._removeAutoFlush()}if(qx.ui.core.Widget._inFlushGlobalQueues){return}var a=qx.core.Init.getInstance().getApplication();if(a.getUiReady&&!a.getUiReady()){return}qx.ui.core.Widget._inFlushGlobalQueues=true;qx.ui.core.Widget.flushGlobalWidgetQueue();qx.ui.core.Widget.flushGlobalStateQueue();qx.ui.core.Widget.flushGlobalElementQueue();qx.ui.core.Widget.flushGlobalJobQueue();qx.ui.core.Widget.flushGlobalLayoutQueue();qx.ui.core.Widget.flushGlobalDisplayQueue();qx.ui.core.Widget.flushGlobalDisposeQueue();qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_IDLE;delete qx.ui.core.Widget._inFlushGlobalQueues},addToGlobalWidgetQueue:function(a){if(!a._isInGlobalWidgetQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_WIDGET)}qx.ui.core.Widget._globalWidgetQueue.push(a);a._isInGlobalWidgetQueue=true}},removeFromGlobalWidgetQueue:function(a){if(a._isInGlobalWidgetQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalWidgetQueue,a);delete a._isInGlobalWidgetQueue}},flushGlobalWidgetQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_WIDGET;var a=qx.ui.core.Widget._globalWidgetQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d.flushWidgetQueue();delete d._isInGlobalWidgetQueue}a.splice(0,c)}qx.ui.core.Widget._globalWidgetQueue=[]},addToGlobalElementQueue:function(a){if(!a._isInGlobalElementQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_ELEMENT)}qx.ui.core.Widget._globalElementQueue.push(a);a._isInGlobalElementQueue=true}},removeFromGlobalElementQueue:function(a){if(a._isInGlobalElementQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalElementQueue,a);delete a._isInGlobalElementQueue}},flushGlobalElementQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_ELEMENT;var a=qx.ui.core.Widget._globalElementQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d._createElementImpl();delete d._isInGlobalElementQueue}a.splice(0,c)}qx.ui.core.Widget._globalElementQueue=[]},addToGlobalStateQueue:function(a){if(!a._isInGlobalStateQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_STATE)}qx.ui.core.Widget._globalStateQueue.push(a);a._isInGlobalStateQueue=true}},removeFromGlobalStateQueue:function(a){if(a._isInGlobalStateQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalStateQueue,a);delete a._isInGlobalStateQueue}},flushGlobalStateQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_STATE;var d=qx.ui.core.Widget;while(d._globalStateQueue.length>0){var a=qx.lang.Array.copy(d._globalStateQueue);d._globalStateQueue=[];for(var c=0,b=a.length;c<b;c++){var e=a[c];if(e._isInGlobalStateQueue){e._renderAppearance();delete e._isInGlobalStateQueue}}}},addToGlobalJobQueue:function(a){if(!a._isInGlobalJobQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_JOB)}qx.ui.core.Widget._globalJobQueue.push(a);a._isInGlobalJobQueue=true}},removeFromGlobalJobQueue:function(a){if(a._isInGlobalJobQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalJobQueue,a);delete a._isInGlobalJobQueue}},flushGlobalJobQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_JOB;var a=qx.ui.core.Widget._globalJobQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d._flushJobQueue(d._jobQueue);delete d._isInGlobalJobQueue}a.splice(0,c)}qx.ui.core.Widget._globalJobQueue=[]},addToGlobalLayoutQueue:function(a){if(!a._isInGlobalLayoutQueue&&a._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_LAYOUT)}qx.ui.core.Widget._globalLayoutQueue.push(a);a._isInGlobalLayoutQueue=true}},removeFromGlobalLayoutQueue:function(a){if(a._isInGlobalLayoutQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalLayoutQueue,a);delete a._isInGlobalLayoutQueue}},flushGlobalLayoutQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_LAYOUT;var a=qx.ui.core.Widget._globalLayoutQueue,d,c;while((d=a.length)>0){for(var b=0;b<d;b++){c=a[b];c._flushChildrenQueue();delete c._isInGlobalLayoutQueue}a.splice(0,d)}qx.ui.core.Widget._globalLayoutQueue=[]},addToGlobalDisplayQueue:function(b){if(!b._isInGlobalDisplayQueue&&b._isDisplayable){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_DISPLAY)}var a=b.getParent();if(a.isSeeable()){var c=a.toHashCode();if(qx.ui.core.Widget._lazyGlobalDisplayQueues[c]){qx.ui.core.Widget._lazyGlobalDisplayQueues[c].push(b)}else{qx.ui.core.Widget._lazyGlobalDisplayQueues[c]=[b]}}else{qx.ui.core.Widget._fastGlobalDisplayQueue.push(b)}b._isInGlobalDisplayQueue=true}},removeFromGlobalDisplayQueue:function(a){},flushGlobalDisplayQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_DISPLAY;var e,h,d,g;var f=qx.ui.core.Widget._fastGlobalDisplayQueue;var c=qx.ui.core.Widget._lazyGlobalDisplayQueues;for(var b=0,a=f.length;b<a;b++){d=f[b];d.getParent()._getTargetNode().appendChild(d.getElement())}for(e in c){h=c[e];if(document.createDocumentFragment&&h.length>=3){g=document.createDocumentFragment();for(var b=0,a=h.length;b<a;b++){d=h[b];g.appendChild(d.getElement())}h[0].getParent()._getTargetNode().appendChild(g);for(var b=0,a=h.length;b<a;b++){d=h[b];d._afterInsertDom()}}else{for(var b=0,a=h.length;b<a;b++){d=h[b];d.getParent()._getTargetNode().appendChild(d.getElement());d._afterInsertDom()}}}for(e in c){h=c[e];for(var b=0,a=h.length;b<a;b++){d=h[b];if(d.getVisibility()){d._afterAppear()}delete d._isInGlobalDisplayQueue}delete c[e]}if(qx.lang.Object.isEmpty(c)){qx.ui.core.Widget._lazyGlobalDisplayQueues={}}for(var b=0,a=f.length;b<a;b++){delete f[b]._isInGlobalDisplayQueue}qx.ui.core.Widget._fastGlobalDisplayQueue=[]},addToGlobalDisposeQueue:function(a){if(!a._isInGlobalDisposeQueue&&!a.isDisposed()){if(qx.ui.core.Widget._autoFlushTimeout==null){qx.ui.core.Widget._initAutoFlush(qx.ui.core.Widget._FLUSH_PHASE_DISPOSE)}qx.ui.core.Widget._globalDisposeQueue.push(a);a._isInGlobalDisposeQueue=true}},removeFromGlobalDisposeQueue:function(a){if(a._isInGlobalDisposeQueue){qx.lang.Array.remove(qx.ui.core.Widget._globalDisposeQueue,a);delete a._isInGlobalDisposeQueue}},flushGlobalDisposeQueue:function(){qx.ui.core.Widget._flushGlobalQueuesPhase=qx.ui.core.Widget._FLUSH_PHASE_DISPOSE;var a=qx.ui.core.Widget._globalDisposeQueue,c,d;while((c=a.length)>0){for(var b=0;b<c;b++){d=a[b];d.dispose();delete d._isInGlobalDisposeQueue}a.splice(0,c)}qx.ui.core.Widget._globalDisposeQueue=[]},getActiveSiblingHelperIgnore:function(b,c){for(var a=0;a<b.length;a++){if(c instanceof b[a]){return true}}return false},getActiveSiblingHelper:function(c,d,b,a,h){if(!a){a=[]}var f=d.getChildren();var g=h==null?f.indexOf(c)+b:h==="first"?0:f.length-1;var e=f[g];while(e&&(!e.getEnabled()||qx.ui.core.Widget.getActiveSiblingHelperIgnore(a,e))){g+=b;e=f[g];if(!e){return null}}return e},TYPE_NULL:0,TYPE_PIXEL:1,TYPE_PERCENT:2,TYPE_AUTO:3,TYPE_FLEX:4,__initApplyMethods:function(d){var g="_renderRuntime";var k="_resetRuntime";var b="this._style.";var f="=((v==null)?0:v)+'px'";var m="v";var h=["left",$[21],"top",$[34],$[19],$[33],$[98],$[97],$[107],$[99]];var p=["Left",$[53],"Top","Bottom","Width","Height","MinWidth","MaxWidth","MinHeight","MaxHeight"];var n=g+"Margin";var j=k+"Margin";var l=b+$[96];for(var e=0;e<4;e++){d[n+p[e]]=new Function(m,l+p[e]+f);d[j+p[e]]=new Function(l+p[e]+"=''")}var o=g+"Padding";var a=k+"Padding";var c=b+$[32];if(qx.core.Variant.isSet($[0],$[43])){for(var e=0;e<4;e++){d[o+p[e]]=new Function(m,c+p[e]+f);d[a+p[e]]=new Function(c+p[e]+"=''")}}else{for(var e=0;e<4;e++){d[o+p[e]]=new Function(m,"this.setStyleProperty('padding"+p[e]+"', ((v==null)?0:v)+'px')");d[a+p[e]]=new Function("this.removeStyleProperty('padding"+p[e]+"')")}}for(var e=0;e<h.length;e++){d[g+p[e]]=new Function(m,b+h[e]+f);d[k+p[e]]=new Function(b+h[e]+"=''")}},layoutPropertyTypes:{},__initLayoutProperties:function(j){var e=[$[19],$[33],$[98],$[97],$[107],$[99],"left",$[21],"top",$[34]];for(var g=0,d=e.length,h,c,f;g<d;g++){h=e[g];c="_computed"+qx.lang.String.toFirstUp(h);f=c+"Type";j.layoutPropertyTypes[h]={dataType:f,dataParsed:c+"Parsed",dataValue:c+"Value",typePixel:f+"Pixel",typePercent:f+"Percent",typeAuto:f+"Auto",typeFlex:f+"Flex",typeNull:f+"Null"}}},disableScrolling:function(b){var a=b._getTargetNode();if(a){qx.html.Scroll.disableScrolling(a)}else{b.addEventListener($[30],this._blockScrollingOnAppear,this)}},enableScrolling:function(b){var a=b._getTargetNode();if(a){qx.html.Scroll.enableScrolling(a)}else{b.removeEventListener($[30],this._blockScrollingOnAppear,this)}},_blockScrollingOnAppear:function(a){var b=a.getTarget();b.removeEventListener($[30],this._blockScrollingOnAppear,this);this.disableScrolling(b)}},properties:{enabled:{init:$[151],check:$[3],inheritable:true,apply:$[374],event:$[149]},parent:{check:$[468],nullable:true,event:$[287],apply:"_applyParent"},element:{check:"Element",nullable:true,apply:"_applyElement",event:$[385]},visibility:{check:$[3],init:true,apply:"_applyVisibility",event:$[204]},display:{check:$[3],init:true,apply:"_applyDisplay",event:"changeDisplay"},anonymous:{check:$[3],init:false,event:"changeAnonymous"},horizontalAlign:{check:["left",$[39],$[21]],themeable:true,nullable:true},verticalAlign:{check:["top",$[31],$[34]],themeable:true,nullable:true},allowStretchX:{check:$[3],init:true},allowStretchY:{check:$[3],init:true},zIndex:{check:$[57],apply:"_applyZIndex",event:$[499],themeable:true,nullable:true,init:null},backgroundColor:{nullable:true,init:null,check:$[105],apply:$[529],event:$[202],themeable:true},textColor:{nullable:true,init:$[151],check:$[105],apply:"_applyTextColor",event:$[279],themeable:true,inheritable:true},border:{nullable:true,init:null,apply:"_applyBorder",event:$[336],check:"Border",themeable:true},font:{nullable:true,init:$[151],apply:"_applyFont",check:"Font",event:$[92],themeable:true,inheritable:true},opacity:{check:$[57],apply:$[372],themeable:true,nullable:true,init:null},cursor:{check:$[26],apply:"_applyCursor",themeable:true,nullable:true,init:null},backgroundImage:{check:$[26],nullable:true,apply:"_applyBackgroundImage",themeable:true},backgroundRepeat:{check:$[26],nullable:true,apply:"_applyBackgroundRepeat",themeable:true},overflow:{check:[$[15],"auto",$[24],$[91],$[90]],nullable:true,apply:"_applyOverflow",event:"changeOverflow",themeable:true,init:null},clipLeft:{check:$[22],apply:$[296],themeable:true,nullable:true},clipTop:{check:$[22],apply:$[296],themeable:true,nullable:true},clipWidth:{check:$[22],apply:$[296],themeable:true,nullable:true},clipHeight:{check:$[22],apply:$[296],themeable:true,nullable:true},tabIndex:{check:$[22],nullable:true,init:null,apply:"_applyTabIndex",event:"changeTabIndex"},hideFocus:{check:$[3],init:true,apply:"_applyHideFocus",themeable:true},enableElementFocus:{check:$[3],init:true},focused:{check:$[3],init:false,apply:"_applyFocused",event:$[370]},selectable:{check:$[3],init:null,nullable:true,apply:"_applySelectable"},toolTip:{check:$[263],nullable:true},contextMenu:{nullable:true},capture:{check:$[3],init:false,apply:"_applyCapture",event:"changeCapture"},dropDataTypes:{nullable:true,dispose:true},command:{check:"qx.client.Command",nullable:true,apply:"_applyCommand"},appearance:{check:$[26],init:"widget",apply:"_applyAppearance",event:"changeAppearance"},supportsDropMethod:{check:"Function",nullable:true,init:null},marginTop:{check:$[57],apply:"_applyMarginTop",nullable:true,themeable:true},marginRight:{check:$[57],apply:"_applyMarginRight",nullable:true,themeable:true},marginBottom:{check:$[57],apply:"_applyMarginBottom",nullable:true,themeable:true},marginLeft:{check:$[57],apply:"_applyMarginLeft",nullable:true,themeable:true},paddingTop:{check:$[57],apply:"_applyPaddingTop",nullable:true,themeable:true},paddingRight:{check:$[57],apply:"_applyPaddingRight",nullable:true,themeable:true},paddingBottom:{check:$[57],apply:"_applyPaddingBottom",nullable:true,themeable:true},paddingLeft:{check:$[57],apply:"_applyPaddingLeft",nullable:true,themeable:true},left:{apply:"_applyLeft",event:$[142],nullable:true,themeable:true,init:null},right:{apply:"_applyRight",event:"changeRight",nullable:true,themeable:true,init:null},width:{apply:"_applyWidth",event:$[56],nullable:true,themeable:true,init:null},minWidth:{apply:"_applyMinWidth",event:"changeMinWidth",nullable:true,themeable:true,init:null},maxWidth:{apply:"_applyMaxWidth",event:"changeMaxWidth",nullable:true,themeable:true,init:null},top:{apply:"_applyTop",event:$[298],nullable:true,themeable:true,init:null},bottom:{apply:"_applyBottom",event:"changeBottom",nullable:true,themeable:true,init:null},height:{apply:$[443],event:$[67],nullable:true,themeable:true,init:null},minHeight:{apply:"_applyMinHeight",event:"changeMinHeight",nullable:true,themeable:true,init:null},maxHeight:{apply:"_applyMaxHeight",event:"changeMaxHeight",nullable:true,themeable:true,init:null},location:{group:["left","top"],themeable:true},dimension:{group:[$[19],$[33]],themeable:true},space:{group:["left",$[19],"top",$[33]],themeable:true},edge:{group:["top",$[21],$[34],"left"],themeable:true,mode:$[132]},padding:{group:[$[208],$[220],$[234],$[238]],mode:$[132],themeable:true},margin:{group:[$[206],$[259],$[312],$[207]],mode:$[132],themeable:true},heights:{group:[$[107],$[33],$[99]],themeable:true},widths:{group:[$[98],$[19],$[97]],themeable:true},align:{group:["horizontalAlign","verticalAlign"],themeable:true},clipLocation:{group:["clipLeft","clipTop"]},clipDimension:{group:["clipWidth","clipHeight"]},clip:{group:["clipLeft","clipTop","clipWidth","clipHeight"]},innerWidth:{_cached:true,defaultValue:null},innerHeight:{_cached:true,defaultValue:null},boxWidth:{_cached:true,defaultValue:null},boxHeight:{_cached:true,defaultValue:null},outerWidth:{_cached:true,defaultValue:null},outerHeight:{_cached:true,defaultValue:null},frameWidth:{_cached:true,defaultValue:null,addToQueueRuntime:true},frameHeight:{_cached:true,defaultValue:null,addToQueueRuntime:true},preferredInnerWidth:{_cached:true,defaultValue:null,addToQueueRuntime:true},preferredInnerHeight:{_cached:true,defaultValue:null,addToQueueRuntime:true},preferredBoxWidth:{_cached:true,defaultValue:null},preferredBoxHeight:{_cached:true,defaultValue:null},hasPercentX:{_cached:true,defaultValue:false},hasPercentY:{_cached:true,defaultValue:false},hasAutoX:{_cached:true,defaultValue:false},hasAutoY:{_cached:true,defaultValue:false},hasFlexX:{_cached:true,defaultValue:false},hasFlexY:{_cached:true,defaultValue:false}},members:{_computedLeftValue:null,_computedLeftParsed:null,_computedLeftType:null,_computedLeftTypeNull:true,_computedLeftTypePixel:false,_computedLeftTypePercent:false,_computedLeftTypeAuto:false,_computedLeftTypeFlex:false,_computedRightValue:null,_computedRightParsed:null,_computedRightType:null,_computedRightTypeNull:true,_computedRightTypePixel:false,_computedRightTypePercent:false,_computedRightTypeAuto:false,_computedRightTypeFlex:false,_computedTopValue:null,_computedTopParsed:null,_computedTopType:null,_computedTopTypeNull:true,_computedTopTypePixel:false,_computedTopTypePercent:false,_computedTopTypeAuto:false,_computedTopTypeFlex:false,_computedBottomValue:null,_computedBottomParsed:null,_computedBottomType:null,_computedBottomTypeNull:true,_computedBottomTypePixel:false,_computedBottomTypePercent:false,_computedBottomTypeAuto:false,_computedBottomTypeFlex:false,_computedWidthValue:null,_computedWidthParsed:null,_computedWidthType:null,_computedWidthTypeNull:true,_computedWidthTypePixel:false,_computedWidthTypePercent:false,_computedWidthTypeAuto:false,_computedWidthTypeFlex:false,_computedMinWidthValue:null,_computedMinWidthParsed:null,_computedMinWidthType:null,_computedMinWidthTypeNull:true,_computedMinWidthTypePixel:false,_computedMinWidthTypePercent:false,_computedMinWidthTypeAuto:false,_computedMinWidthTypeFlex:false,_computedMaxWidthValue:null,_computedMaxWidthParsed:null,_computedMaxWidthType:null,_computedMaxWidthTypeNull:true,_computedMaxWidthTypePixel:false,_computedMaxWidthTypePercent:false,_computedMaxWidthTypeAuto:false,_computedMaxWidthTypeFlex:false,_computedHeightValue:null,_computedHeightParsed:null,_computedHeightType:null,_computedHeightTypeNull:true,_computedHeightTypePixel:false,_computedHeightTypePercent:false,_computedHeightTypeAuto:false,_computedHeightTypeFlex:false,_computedMinHeightValue:null,_computedMinHeightParsed:null,_computedMinHeightType:null,_computedMinHeightTypeNull:true,_computedMinHeightTypePixel:false,_computedMinHeightTypePercent:false,_computedMinHeightTypeAuto:false,_computedMinHeightTypeFlex:false,_computedMaxHeightValue:null,_computedMaxHeightParsed:null,_computedMaxHeightType:null,_computedMaxHeightTypeNull:true,_computedMaxHeightTypePixel:false,_computedMaxHeightTypePercent:false,_computedMaxHeightTypeAuto:false,_computedMaxHeightTypeFlex:false,_applyLeft:function(b,a){this._unitDetectionPixelPercent("left",b);this.addToQueue("left")},_applyRight:function(b,a){this._unitDetectionPixelPercent($[21],b);this.addToQueue($[21])},_applyTop:function(b,a){this._unitDetectionPixelPercent("top",b);this.addToQueue("top")},_applyBottom:function(b,a){this._unitDetectionPixelPercent($[34],b);this.addToQueue($[34])},_applyWidth:function(b,a){this._unitDetectionPixelPercentAutoFlex($[19],b);this.addToQueue($[19])},_applyMinWidth:function(b,a){this._unitDetectionPixelPercentAuto($[98],b);this.addToQueue($[98])},_applyMaxWidth:function(b,a){this._unitDetectionPixelPercentAuto($[97],b);this.addToQueue($[97])},_applyHeight:function(b,a){this._unitDetectionPixelPercentAutoFlex($[33],b);this.addToQueue($[33])},_applyMinHeight:function(b,a){this._unitDetectionPixelPercentAuto($[107],b);this.addToQueue($[107])},_applyMaxHeight:function(b,a){this._unitDetectionPixelPercentAuto($[99],b);this.addToQueue($[99])},getChildren:qx.lang.Function.returnNull,getChildrenLength:qx.lang.Function.returnZero,hasChildren:qx.lang.Function.returnFalse,isEmpty:qx.lang.Function.returnTrue,indexOf:qx.lang.Function.returnNegativeIndex,contains:qx.lang.Function.returnFalse,getVisibleChildren:qx.lang.Function.returnNull,getVisibleChildrenLength:qx.lang.Function.returnZero,hasVisibleChildren:qx.lang.Function.returnFalse,isVisibleEmpty:qx.lang.Function.returnTrue,_hasParent:false,_isDisplayable:false,isDisplayable:function(){return this._isDisplayable},_checkParent:function(b,a){if(this.contains(b)){throw new Error("Could not insert myself into a child "+b+"!")}return b},_applyParent:function(c,a){if(a){var b=a.getChildren().indexOf(this);this._computedWidthValue=this._computedMinWidthValue=this._computedMaxWidthValue=this._computedLeftValue=this._computedRightValue=null;this._computedHeightValue=this._computedMinHeightValue=this._computedMaxHeightValue=this._computedTopValue=this._computedBottomValue=null;this._cachedBoxWidth=this._cachedInnerWidth=this._cachedOuterWidth=null;this._cachedBoxHeight=this._cachedInnerHeight=this._cachedOuterHeight=null;qx.lang.Array.removeAt(a.getChildren(),b);a._invalidateVisibleChildren();a._removeChildFromChildrenQueue(this);a.getLayoutImpl().updateChildrenOnRemoveChild(this,b);a.addToJobQueue($[452]);a._invalidatePreferredInnerDimensions();this._oldParent=a}if(c){this._hasParent=true;if(typeof this._insertIndex==$[80]){qx.lang.Array.insertAt(c.getChildren(),this,this._insertIndex);delete this._insertIndex}else{c.getChildren().push(this)}}else{this._hasParent=false}qx.core.Property.refresh(this);return this._handleDisplayable("parent")},_applyDisplay:function(b,a){return this._handleDisplayable($[181])},_handleDisplayable:function(g){var f=this._computeDisplayable();if(this._isDisplayable==f&&!(f&&g=="parent")){return true}this._isDisplayable=f;var e=this.getParent();if(e){e._invalidateVisibleChildren();e._invalidatePreferredInnerDimensions()}if(g&&this._oldParent&&this._oldParent._initialLayoutDone){var d=this.getElement();if(d){if(this.getVisibility()){this._beforeDisappear()}try{this._oldParent._getTargetNode().removeChild(d)}catch(c){}this._afterRemoveDom();if(this.getVisibility()){this._afterDisappear()}}delete this._oldParent}if(f){if(e._initialLayoutDone){var b=e.getChildren().indexOf(this);e.getLayoutImpl().updateChildrenOnAddChild(this,b);e.addToJobQueue("addChild")}this.addToLayoutChanges("initial");this.addToCustomQueues(g);if(this.getVisibility()){this._beforeAppear()}if(!this._isCreated){qx.ui.core.Widget.addToGlobalElementQueue(this)}qx.ui.core.Widget.addToGlobalStateQueue(this);if(!qx.lang.Object.isEmpty(this._jobQueue)){qx.ui.core.Widget.addToGlobalJobQueue(this)}if(!qx.lang.Object.isEmpty(this._childrenQueue)){qx.ui.core.Widget.addToGlobalLayoutQueue(this)}}else{qx.ui.core.Widget.removeFromGlobalElementQueue(this);qx.ui.core.Widget.removeFromGlobalStateQueue(this);qx.ui.core.Widget.removeFromGlobalJobQueue(this);qx.ui.core.Widget.removeFromGlobalLayoutQueue(this);this.removeFromCustomQueues(g);if(e&&g){if(this.getVisibility()){this._beforeDisappear()}if(e._initialLayoutDone&&this._initialLayoutDone){var b=e.getChildren().indexOf(this);e.getLayoutImpl().updateChildrenOnRemoveChild(this,b);e.addToJobQueue($[452]);var a=this.getElement().parentNode;if(a){a.removeChild(this.getElement())}this._afterRemoveDom()}e._removeChildFromChildrenQueue(this);if(this.getVisibility()){this._afterDisappear()}}}this._handleDisplayableCustom(f,e,g);return true},addToCustomQueues:qx.lang.Function.returnTrue,removeFromCustomQueues:qx.lang.Function.returnTrue,_handleDisplayableCustom:qx.lang.Function.returnTrue,_computeDisplayable:function(){return this.getDisplay()&&this.getParent()&&this.getParent()._isDisplayable?true:false},_beforeAppear:function(){this.createDispatchEvent("beforeAppear")},_afterAppear:function(){this._isSeeable=true;this.createDispatchEvent($[30])},_beforeDisappear:function(){this.removeState("over");if(qx.Class.isDefined($[387])){this.removeState($[23]);this.removeState($[46])}this.createDispatchEvent("beforeDisappear")},_afterDisappear:function(){this._isSeeable=false;this.createDispatchEvent($[316])},_isSeeable:false,_isInDom:false,isSeeable:function(){return this._isSeeable},isInDom:function(){return this._isInDom},isAppearRelevant:function(){return this.getVisibility()&&this._isDisplayable},_afterInsertDom:function(){this._isInDom=true;this.createDispatchEvent($[255])},_afterRemoveDom:function(){this._isInDom=true},_applyVisibility:function(b,a){if(b){if(this._isDisplayable&&this._isCreated){this._beforeAppear()}this.removeStyleProperty($[181]);if(this._isDisplayable&&this._isCreated){this._afterAppear()}}else{if(this._isDisplayable&&this._isCreated){this._beforeDisappear()}this.setStyleProperty($[181],"none");if(this._isDisplayable&&this._isCreated){this._afterDisappear()}}},show:function(){this.setVisibility(true);this.setDisplay(true)},hide:function(){this.setVisibility(false)},destroy:function(){this.setParent(null);qx.ui.core.Widget.addToGlobalDisposeQueue(this)},_isCreated:false,_getTargetNode:qx.core.Variant.select($[0],{gecko:function(){return this._element},"default":function(){return this._borderElement||this._element}}),addToDocument:function(){qx.ui.core.ClientDocument.getInstance().add(this)},isCreated:function(){return this._isCreated},_createElementImpl:function(){this.setElement(this.getTopLevelWidget().getDocumentElement().createElement("div"))},_applyElement:function(b,a){this._isCreated=b!=null;if(a){a.qx_Widget=null}if(b){b.qx_Widget=this;b.style.position=$[35];this._element=b;this._style=b.style;this._applyStyleProperties(b);this._applyHtmlProperties(b);this._applyHtmlAttributes(b);this._applyElementData(b);this.createDispatchEvent($[111]);this.addToStateQueue()}else{this._element=this._style=null}},addToJobQueue:function(a){if(this._hasParent){qx.ui.core.Widget.addToGlobalJobQueue(this)}if(!this._jobQueue){this._jobQueue={}}this._jobQueue[a]=true;return true},_flushJobQueue:function(e){try{var k=this._jobQueue;var r=this.getParent();if(!r||qx.lang.Object.isEmpty(k)){return}var n=this instanceof qx.ui.core.Parent?this.getLayoutImpl():null;if(n){n.updateSelfOnJobQueueFlush(k)}}catch(o){throw new Error("Flushing job queue (prechecks#1) failed "+o)}try{var c=false;var g=k.marginLeft||k.marginRight;var h=k.marginTop||k.marginBottom;var b=k.frameWidth;var l=k.frameHeight;var f=(k.frameWidth||k.preferredInnerWidth)&&this._recomputePreferredBoxWidth();var p=(k.frameHeight||k.preferredInnerHeight)&&this._recomputePreferredBoxHeight();if(f){var d=this.getPreferredBoxWidth();if(this._computedWidthTypeAuto){this._computedWidthValue=d;k.width=true}if(this._computedMinWidthTypeAuto){this._computedMinWidthValue=d;k.minWidth=true}if(this._computedMaxWidthTypeAuto){this._computedMaxWidthValue=d;k.maxWidth=true}}if(p){var d=this.getPreferredBoxHeight();if(this._computedHeightTypeAuto){this._computedHeightValue=d;k.height=true}if(this._computedMinHeightTypeAuto){this._computedMinHeightValue=d;k.minHeight=true}if(this._computedMaxHeightTypeAuto){this._computedMaxHeightValue=d;k.maxHeight=true}}if((k.width||k.minWidth||k.maxWidth||k.left||k.right)&&this._recomputeBoxWidth()){g=b=true}if((k.height||k.minHeight||k.maxHeight||k.top||k.bottom)&&this._recomputeBoxHeight()){h=l=true}}catch(o){throw new Error("Flushing job queue (recompute#2) failed "+o)}try{if((g&&this._recomputeOuterWidth())||f){r._invalidatePreferredInnerWidth();r.getLayoutImpl().updateSelfOnChildOuterWidthChange(this);c=true}if((h&&this._recomputeOuterHeight())||p){r._invalidatePreferredInnerHeight();r.getLayoutImpl().updateSelfOnChildOuterHeightChange(this);c=true}if(c){r._flushJobQueue()}}catch(o){throw new Error("Flushing job queue (parentsignals#3) failed "+o)}try{r._addChildToChildrenQueue(this);for(var j in k){this._layoutChanges[j]=true}}catch(o){throw new Error("Flushing job queue (addjobs#4) failed "+o)}try{if(this instanceof qx.ui.core.Parent&&(k.paddingLeft||k.paddingRight||k.paddingTop||k.paddingBottom)){var a=this.getChildren(),m=a.length;if(k.paddingLeft){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingLeft")}}if(k.paddingRight){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingRight")}}if(k.paddingTop){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingTop")}}if(k.paddingBottom){for(var j=0;j<m;j++){a[j].addToLayoutChanges("parentPaddingBottom")}}}if(b){this._recomputeInnerWidth()}if(l){this._recomputeInnerHeight()}if(this._initialLayoutDone){if(n){n.updateChildrenOnJobQueueFlush(k)}}}catch(o){throw new Error("Flushing job queue (childrensignals#5) failed "+o)}delete this._jobQueue},_isWidthEssential:qx.lang.Function.returnTrue,_isHeightEssential:qx.lang.Function.returnTrue,_computeBoxWidthFallback:function(){return 0},_computeBoxHeightFallback:function(){return 0},_computeBoxWidth:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,qx.lang.Number.limit(a.computeChildBoxWidth(this),this.getMinWidthValue(),this.getMaxWidthValue()))},_computeBoxHeight:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,qx.lang.Number.limit(a.computeChildBoxHeight(this),this.getMinHeightValue(),this.getMaxHeightValue()))},_computeOuterWidth:function(){return Math.max(0,(this.getMarginLeft()+this.getBoxWidth()+this.getMarginRight()))},_computeOuterHeight:function(){return Math.max(0,(this.getMarginTop()+this.getBoxHeight()+this.getMarginBottom()))},_computeInnerWidth:function(){return Math.max(0,this.getBoxWidth()-this.getFrameWidth())},_computeInnerHeight:function(){return Math.max(0,this.getBoxHeight()-this.getFrameHeight())},getNeededWidth:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,a.computeChildNeededWidth(this))},getNeededHeight:function(){var a=this.getParent().getLayoutImpl();return Math.max(0,a.computeChildNeededHeight(this))},_recomputeFlexX:function(){if(!this.getHasFlexX()){return false}if(this._computedWidthTypeFlex){this._computedWidthValue=null;this.addToLayoutChanges($[19])}return true},_recomputeFlexY:function(){if(!this.getHasFlexY()){return false}if(this._computedHeightTypeFlex){this._computedHeightValue=null;this.addToLayoutChanges($[33])}return true},_recomputePercentX:function(){if(!this.getHasPercentX()){return false}if(this._computedWidthTypePercent){this._computedWidthValue=null;this.addToLayoutChanges($[19])}if(this._computedMinWidthTypePercent){this._computedMinWidthValue=null;this.addToLayoutChanges($[98])}if(this._computedMaxWidthTypePercent){this._computedMaxWidthValue=null;this.addToLayoutChanges($[97])}if(this._computedLeftTypePercent){this._computedLeftValue=null;this.addToLayoutChanges("left")}if(this._computedRightTypePercent){this._computedRightValue=null;this.addToLayoutChanges($[21])}return true},_recomputePercentY:function(){if(!this.getHasPercentY()){return false}if(this._computedHeightTypePercent){this._computedHeightValue=null;this.addToLayoutChanges($[33])}if(this._computedMinHeightTypePercent){this._computedMinHeightValue=null;this.addToLayoutChanges($[107])}if(this._computedMaxHeightTypePercent){this._computedMaxHeightValue=null;this.addToLayoutChanges($[99])}if(this._computedTopTypePercent){this._computedTopValue=null;this.addToLayoutChanges("top")}if(this._computedBottomTypePercent){this._computedBottomValue=null;this.addToLayoutChanges($[34])}return true},_recomputeRangeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this._computedLeftTypeNull||this._computedRightTypeNull){return false}this.addToLayoutChanges($[19]);return true},"default":function(){return !(this._computedLeftTypeNull||this._computedRightTypeNull)}}),_recomputeRangeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this._computedTopTypeNull||this._computedBottomTypeNull){return false}this.addToLayoutChanges($[33]);return true},"default":function(){return !(this._computedTopTypeNull||this._computedBottomTypeNull)}}),_recomputeStretchingX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this.getAllowStretchX()&&this._computedWidthTypeNull){this._computedWidthValue=null;this.addToLayoutChanges($[19]);return true}return false},"default":function(){if(this.getAllowStretchX()&&this._computedWidthTypeNull){return true}return false}}),_recomputeStretchingY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(){if(this.getAllowStretchY()&&this._computedHeightTypeNull){this._computedHeightValue=null;this.addToLayoutChanges($[33]);return true}return false},"default":function(){if(this.getAllowStretchY()&&this._computedHeightTypeNull){return true}return false}}),_computeValuePixel:function(a){return Math.round(a)},_computeValuePixelLimit:function(a){return Math.max(0,this._computeValuePixel(a))},_computeValuePercentX:function(a){return Math.round(this.getParent().getInnerWidthForChild(this)*a*0.01)},_computeValuePercentXLimit:function(a){return Math.max(0,this._computeValuePercentX(a))},_computeValuePercentY:function(a){return Math.round(this.getParent().getInnerHeightForChild(this)*a*0.01)},_computeValuePercentYLimit:function(a){return Math.max(0,this._computeValuePercentY(a))},getWidthValue:function(){if(this._computedWidthValue!=null){return this._computedWidthValue}switch(this._computedWidthType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedWidthValue=this._computeValuePixelLimit(this._computedWidthParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedWidthValue=this._computeValuePercentXLimit(this._computedWidthParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedWidthValue=this.getPreferredBoxWidth();case qx.ui.core.Widget.TYPE_FLEX:if(this.getParent().getLayoutImpl().computeChildrenFlexWidth===undefined){throw new Error("Widget "+this+": having horizontal flex size (width="+this.getWidth()+$[537]+this.getParent()+$[419])}this.getParent().getLayoutImpl().computeChildrenFlexWidth();return this._computedWidthValue=this._computedWidthFlexValue}return null},getMinWidthValue:function(){if(this._computedMinWidthValue!=null){return this._computedMinWidthValue}switch(this._computedMinWidthType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedWidthValue=this._computeValuePixelLimit(this._computedMinWidthParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedWidthValue=this._computeValuePercentXLimit(this._computedMinWidthParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMinWidthValue=this.getPreferredBoxWidth()}return null},getMaxWidthValue:function(){if(this._computedMaxWidthValue!=null){return this._computedMaxWidthValue}switch(this._computedMaxWidthType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedWidthValue=this._computeValuePixelLimit(this._computedMaxWidthParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedWidthValue=this._computeValuePercentXLimit(this._computedMaxWidthParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMaxWidthValue=this.getPreferredBoxWidth()}return null},getLeftValue:function(){if(this._computedLeftValue!=null){return this._computedLeftValue}switch(this._computedLeftType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedLeftValue=this._computeValuePixel(this._computedLeftParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedLeftValue=this._computeValuePercentX(this._computedLeftParsed)}return null},getRightValue:function(){if(this._computedRightValue!=null){return this._computedRightValue}switch(this._computedRightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedRightValue=this._computeValuePixel(this._computedRightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedRightValue=this._computeValuePercentX(this._computedRightParsed)}return null},getHeightValue:function(){if(this._computedHeightValue!=null){return this._computedHeightValue}switch(this._computedHeightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedHeightValue=this._computeValuePixelLimit(this._computedHeightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedHeightValue=this._computeValuePercentYLimit(this._computedHeightParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedHeightValue=this.getPreferredBoxHeight();case qx.ui.core.Widget.TYPE_FLEX:if(this.getParent().getLayoutImpl().computeChildrenFlexHeight===undefined){throw new Error("Widget "+this+": having vertical flex size (height="+this.getHeight()+$[537]+this.getParent()+$[419])}this.getParent().getLayoutImpl().computeChildrenFlexHeight();return this._computedHeightValue=this._computedHeightFlexValue}return null},getMinHeightValue:function(){if(this._computedMinHeightValue!=null){return this._computedMinHeightValue}switch(this._computedMinHeightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedMinHeightValue=this._computeValuePixelLimit(this._computedMinHeightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedMinHeightValue=this._computeValuePercentYLimit(this._computedMinHeightParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMinHeightValue=this.getPreferredBoxHeight()}return null},getMaxHeightValue:function(){if(this._computedMaxHeightValue!=null){return this._computedMaxHeightValue}switch(this._computedMaxHeightType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedMaxHeightValue=this._computeValuePixelLimit(this._computedMaxHeightParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedMaxHeightValue=this._computeValuePercentYLimit(this._computedMaxHeightParsed);case qx.ui.core.Widget.TYPE_AUTO:return this._computedMaxHeightValue=this.getPreferredBoxHeight()}return null},getTopValue:function(){if(this._computedTopValue!=null){return this._computedTopValue}switch(this._computedTopType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedTopValue=this._computeValuePixel(this._computedTopParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedTopValue=this._computeValuePercentY(this._computedTopParsed)}return null},getBottomValue:function(){if(this._computedBottomValue!=null){return this._computedBottomValue}switch(this._computedBottomType){case qx.ui.core.Widget.TYPE_PIXEL:return this._computedBottomValue=this._computeValuePixel(this._computedBottomParsed);case qx.ui.core.Widget.TYPE_PERCENT:return this._computedBottomValue=this._computeValuePercentY(this._computedBottomParsed)}return null},_computeFrameWidth:function(){var a=this._cachedBorderLeft+this.getPaddingLeft()+this.getPaddingRight()+this._cachedBorderRight;switch(this.getOverflow()){case $[24]:case $[90]:a+=qx.ui.core.Widget.SCROLLBAR_SIZE;break;case"auto":break}return a},_computeFrameHeight:function(){var a=this._cachedBorderTop+this.getPaddingTop()+this.getPaddingBottom()+this._cachedBorderBottom;switch(this.getOverflow()){case $[24]:case $[91]:a+=qx.ui.core.Widget.SCROLLBAR_SIZE;break;case"auto":break}return a},_invalidateFrameDimensions:function(){this._invalidateFrameWidth();this._invalidateFrameHeight()},_invalidatePreferredInnerDimensions:function(){this._invalidatePreferredInnerWidth();this._invalidatePreferredInnerHeight()},_computePreferredBoxWidth:function(){try{return Math.max(0,this.getPreferredInnerWidth()+this.getFrameWidth())}catch(a){throw new Error("_computePreferredBoxWidth failed "+a)}},_computePreferredBoxHeight:function(){try{return Math.max(0,this.getPreferredInnerHeight()+this.getFrameHeight())}catch(a){throw new Error("_computePreferredBoxHeight failed "+a)}},_initialLayoutDone:false,addToLayoutChanges:function(a){if(this._isDisplayable){this.getParent()._addChildToChildrenQueue(this)}return this._layoutChanges[a]=true},addToQueue:function(a){this._initialLayoutDone?this.addToJobQueue(a):this.addToLayoutChanges(a)},addToQueueRuntime:function(a){return !this._initialLayoutDone||this.addToJobQueue(a)},_computeHasPercentX:function(){return(this._computedLeftTypePercent||this._computedWidthTypePercent||this._computedMinWidthTypePercent||this._computedMaxWidthTypePercent||this._computedRightTypePercent)},_computeHasPercentY:function(){return(this._computedTopTypePercent||this._computedHeightTypePercent||this._computedMinHeightTypePercent||this._computedMaxHeightTypePercent||this._computedBottomTypePercent)},_computeHasAutoX:function(){return(this._computedWidthTypeAuto||this._computedMinWidthTypeAuto||this._computedMaxWidthTypeAuto)},_computeHasAutoY:function(){return(this._computedHeightTypeAuto||this._computedMinHeightTypeAuto||this._computedMaxHeightTypeAuto)},_computeHasFlexX:function(){return this._computedWidthTypeFlex},_computeHasFlexY:function(){return this._computedHeightTypeFlex},_evalUnitsPixelPercentAutoFlex:function(a){switch(a){case"auto":return qx.ui.core.Widget.TYPE_AUTO;case Infinity:case -Infinity:return qx.ui.core.Widget.TYPE_NULL}switch(typeof a){case $[80]:return isNaN(a)?qx.ui.core.Widget.TYPE_NULL:qx.ui.core.Widget.TYPE_PIXEL;case $[13]:return a.indexOf("%")!=-1?qx.ui.core.Widget.TYPE_PERCENT:a.indexOf("*")!=-1?qx.ui.core.Widget.TYPE_FLEX:qx.ui.core.Widget.TYPE_NULL}return qx.ui.core.Widget.TYPE_NULL},_evalUnitsPixelPercentAuto:function(a){switch(a){case"auto":return qx.ui.core.Widget.TYPE_AUTO;case Infinity:case -Infinity:return qx.ui.core.Widget.TYPE_NULL}switch(typeof a){case $[80]:return isNaN(a)?qx.ui.core.Widget.TYPE_NULL:qx.ui.core.Widget.TYPE_PIXEL;case $[13]:return a.indexOf("%")!=-1?qx.ui.core.Widget.TYPE_PERCENT:qx.ui.core.Widget.TYPE_NULL}return qx.ui.core.Widget.TYPE_NULL},_evalUnitsPixelPercent:function(a){switch(a){case Infinity:case -Infinity:return qx.ui.core.Widget.TYPE_NULL}switch(typeof a){case $[80]:return isNaN(a)?qx.ui.core.Widget.TYPE_NULL:qx.ui.core.Widget.TYPE_PIXEL;case $[13]:return a.indexOf("%")!=-1?qx.ui.core.Widget.TYPE_PERCENT:qx.ui.core.Widget.TYPE_NULL}return qx.ui.core.Widget.TYPE_NULL},_unitDetectionPixelPercentAutoFlex:function(b,j){var a=qx.ui.core.Widget.layoutPropertyTypes[b];var n=a.dataType;var c=a.dataParsed;var m=a.dataValue;var l=a.typePixel;var k=a.typePercent;var i=a.typeAuto;var h=a.typeFlex;var g=a.typeNull;var e=this[k];var f=this[i];var d=this[h];switch(this[n]=this._evalUnitsPixelPercentAutoFlex(j)){case qx.ui.core.Widget.TYPE_PIXEL:this[l]=true;this[k]=this[i]=this[h]=this[g]=false;this[c]=this[m]=Math.round(j);break;case qx.ui.core.Widget.TYPE_PERCENT:this[k]=true;this[l]=this[i]=this[h]=this[g]=false;this[c]=parseFloat(j);this[m]=null;break;case qx.ui.core.Widget.TYPE_AUTO:this[i]=true;this[l]=this[k]=this[h]=this[g]=false;this[c]=this[m]=null;break;case qx.ui.core.Widget.TYPE_FLEX:this[h]=true;this[l]=this[k]=this[i]=this[g]=false;this[c]=parseFloat(j);this[m]=null;break;default:this[g]=true;this[l]=this[k]=this[i]=this[h]=false;this[c]=this[m]=null;break}if(e!=this[k]){switch(b){case $[98]:case $[97]:case $[19]:case"left":case $[21]:this._invalidateHasPercentX();break;case $[99]:case $[107]:case $[33]:case"top":case $[34]:this._invalidateHasPercentY();break}}if(f!=this[i]){switch(b){case $[98]:case $[97]:case $[19]:this._invalidateHasAutoX();break;case $[107]:case $[99]:case $[33]:this._invalidateHasAutoY();break}}if(d!=this[h]){switch(b){case $[19]:this._invalidateHasFlexX();break;case $[33]:this._invalidateHasFlexY();break}}},_unitDetectionPixelPercentAuto:function(b,h){var a=qx.ui.core.Widget.layoutPropertyTypes[b];var l=a.dataType;var c=a.dataParsed;var k=a.dataValue;var j=a.typePixel;var i=a.typePercent;var g=a.typeAuto;var f=a.typeNull;var d=this[i];var e=this[g];switch(this[l]=this._evalUnitsPixelPercentAuto(h)){case qx.ui.core.Widget.TYPE_PIXEL:this[j]=true;this[i]=this[g]=this[f]=false;this[c]=this[k]=Math.round(h);break;case qx.ui.core.Widget.TYPE_PERCENT:this[i]=true;this[j]=this[g]=this[f]=false;this[c]=parseFloat(h);this[k]=null;break;case qx.ui.core.Widget.TYPE_AUTO:this[g]=true;this[j]=this[i]=this[f]=false;this[c]=this[k]=null;break;default:this[f]=true;this[j]=this[i]=this[g]=false;this[c]=this[k]=null;break}if(d!=this[i]){switch(b){case $[98]:case $[97]:case $[19]:case"left":case $[21]:this._invalidateHasPercentX();break;case $[107]:case $[99]:case $[33]:case"top":case $[34]:this._invalidateHasPercentY();break}}if(e!=this[g]){switch(b){case $[98]:case $[97]:case $[19]:this._invalidateHasAutoX();break;case $[107]:case $[99]:case $[33]:this._invalidateHasAutoY();break}}},_unitDetectionPixelPercent:function(b,f){var a=qx.ui.core.Widget.layoutPropertyTypes[b];var j=a.dataType;var c=a.dataParsed;var i=a.dataValue;var h=a.typePixel;var g=a.typePercent;var e=a.typeNull;var d=this[g];switch(this[j]=this._evalUnitsPixelPercent(f)){case qx.ui.core.Widget.TYPE_PIXEL:this[h]=true;this[g]=this[e]=false;this[c]=this[i]=Math.round(f);break;case qx.ui.core.Widget.TYPE_PERCENT:this[g]=true;this[h]=this[e]=false;this[c]=parseFloat(f);this[i]=null;break;default:this[e]=true;this[h]=this[g]=false;this[c]=this[i]=null;break}if(d!=this[g]){switch(b){case $[98]:case $[97]:case $[19]:case"left":case $[21]:this._invalidateHasPercentX();break;case $[107]:case $[99]:case $[33]:case"top":case $[34]:this._invalidateHasPercentY();break}}},getTopLevelWidget:function(){return this._hasParent?this.getParent().getTopLevelWidget():null},moveSelfToBegin:function(){this.getParent().addAtBegin(this)},moveSelfToEnd:function(){this.getParent().addAtEnd(this)},getPreviousSibling:function(){var b=this.getParent();if(b==null){return null}var a=b.getChildren();return a[a.indexOf(this)-1]},getNextSibling:function(){var b=this.getParent();if(b==null){return null}var a=b.getChildren();return a[a.indexOf(this)+1]},getPreviousVisibleSibling:function(){if(!this._hasParent){return null}var a=this.getParent().getVisibleChildren();return a[a.indexOf(this)-1]},getNextVisibleSibling:function(){if(!this._hasParent){return null}var a=this.getParent().getVisibleChildren();return a[a.indexOf(this)+1]},getPreviousActiveSibling:function(a){var b=qx.ui.core.Widget.getActiveSiblingHelper(this,this.getParent(),-1,a,null);return b?b:this.getParent().getLastActiveChild()},getNextActiveSibling:function(a){var b=qx.ui.core.Widget.getActiveSiblingHelper(this,this.getParent(),1,a,null);return b?b:this.getParent().getFirstActiveChild()},isFirstChild:function(){return this._hasParent&&this.getParent().getFirstChild()==this},isLastChild:function(){return this._hasParent&&this.getParent().getLastChild()==this},isFirstVisibleChild:function(){return this._hasParent&&this.getParent().getFirstVisibleChild()==this},isLastVisibleChild:function(){return this._hasParent&&this.getParent().getLastVisibleChild()==this},hasState:function(a){return this.__states&&this.__states[a]?true:false},addState:function(a){if(!this.__states){this.__states={}}if(!this.__states[a]){this.__states[a]=true;if(this._hasParent){qx.ui.core.Widget.addToGlobalStateQueue(this)}}},removeState:function(a){if(this.__states&&this.__states[a]){delete this.__states[a];if(this._hasParent){qx.ui.core.Widget.addToGlobalStateQueue(this)}}},_styleFromMap:function(c){var b=qx.core.Property.$$method.style;var d=qx.core.Property.$$method.unstyle;var a;if(qx.core.Variant.isSet($[7],"on")){for(var e in c){if(!this[b[e]]){throw new Error(this.classname+$[449]+e+'"')}}}for(var e in c){a=c[e];a===$[8]?this[d[e]]():this[b[e]](a)}},_unstyleFromArray:function(c){var d=qx.core.Property.$$method.unstyle;if(qx.core.Variant.isSet($[7],"on")){for(var b=0,a=c.length;b<a;b++){if(!this[d[c[b]]]){throw new Error(this.classname+$[449]+c[b]+'"')}}}for(var b=0,a=c.length;b<a;b++){this[d[c[b]]]()}},_renderAppearance:function(){if(!this.__states){this.__states={}}this._applyStateStyleFocus(this.__states);var c=this.getAppearance();if(c){try{var b=qx.theme.manager.Appearance.getInstance().styleFrom(c,this.__states);if(b){this._styleFromMap(b)}}catch(a){throw new Error("Could not apply state appearance "+a)}}},_resetAppearanceThemeWrapper:function(a,e){var f=this.getAppearance();if(f){var c=qx.theme.manager.Appearance.getInstance();var d=c.styleFromTheme(e,f,this.__states);var b=c.styleFromTheme(a,f,this.__states);var g=[];for(var h in d){if(b[h]===undefined){g.push(h)}}this._unstyleFromArray(g);this._styleFromMap(b)}},_applyStateStyleFocus:qx.core.Variant.select($[0],{mshtml:function(a){},"default":function(a){if(a.focused){if(!qx.event.handler.FocusHandler.mouseFocus&&!this.getHideFocus()){this.setStyleProperty($[116],$[368])}}else{this.setStyleProperty($[116],"none")}}}),addToStateQueue:function(){qx.ui.core.Widget.addToGlobalStateQueue(this)},recursiveAddToStateQueue:function(){this.addToStateQueue()},_applyAppearance:function(e,a){if(!this.__states){this.__states={}}var c=qx.theme.manager.Appearance.getInstance();if(e){var b=c.styleFrom(e,this.__states)||{}}if(a){var d=c.styleFrom(a,this.__states)||{};var f=[];for(var g in d){if(!b||!(g in b)){f.push(g)}}}if(f){this._unstyleFromArray(f)}if(b){this._styleFromMap(b)}},_recursiveAppearanceThemeUpdate:function(a,c){try{this._resetAppearanceThemeWrapper(a,c)}catch(b){throw new Error("Failed to update appearance theme "+b)}},_applyElementData:function(a){},setHtmlProperty:function(b,a){if(!this._htmlProperties){this._htmlProperties={}}this._htmlProperties[b]=a;if(this._isCreated&&this.getElement()[b]!=a){this.getElement()[b]=a}return true},removeHtmlProperty:qx.core.Variant.select($[0],{mshtml:function(a){if(!this._htmlProperties){return}delete this._htmlProperties[a];if(this._isCreated){this.getElement().removeAttribute(a)}return true},"default":function(a){if(!this._htmlProperties){return}delete this._htmlProperties[a];if(this._isCreated){this.getElement().removeAttribute(a);delete this.getElement()[a]}return true}}),getHtmlProperty:function(a){if(!this._htmlProperties){return""}return this._htmlProperties[a]||""},_applyHtmlProperties:function(a){var c=this._htmlProperties;if(c){var b;for(b in c){a[b]=c[b]}}},setHtmlAttribute:function(b,a){if(!this._htmlAttributes){this._htmlAttributes={}}this._htmlAttributes[b]=a;if(this._isCreated){this.getElement().setAttribute(b,a)}return true},removeHtmlAttribute:function(a){if(!this._htmlAttributes){return}delete this._htmlAttributes[a];if(this._isCreated){this.getElement().removeAttribute(a)}return true},getHtmlAttribute:function(a){if(!this._htmlAttributes){return""}return this._htmlAttributes[a]||""},_applyHtmlAttributes:function(b){var a=this._htmlAttributes;if(a){var c;for(c in a){b.setAttribute(c,a[c])}}},getStyleProperty:function(a){if(!this._styleProperties){return""}return this._styleProperties[a]||""},__outerElementStyleProperties:{cursor:true,zIndex:true,filter:true,display:true,visibility:true,outline:true},setStyleProperty:function(c,b){if(!this._styleProperties){this._styleProperties={}}this._styleProperties[c]=b;if(this._isCreated){var a=this.__outerElementStyleProperties[c]?this.getElement():this._getTargetNode();if(a){a.style[c]=(b==null)?"":b}}},removeStyleProperty:function(b){if(!this._styleProperties){return}delete this._styleProperties[b];if(this._isCreated){var a=this.__outerElementStyleProperties[b]?this.getElement():this._getTargetNode();if(a){a.style[b]=""}}},_applyStyleProperties:function(b){var e=this._styleProperties;if(!e){return}var d;var f=b;var a=this._getTargetNode();var b;var c;for(d in e){b=this.__outerElementStyleProperties[d]?f:a;c=e[d];b.style[d]=(c==null)?"":c}},_applyEnabled:function(b,a){if(b===false){this.addState("disabled");this.removeState("over");if(qx.Class.isDefined($[387])){this.removeState($[46]);this.removeState($[23])}}else{this.removeState("disabled")}},isFocusable:function(){return this.getEnabled()&&this.isSeeable()&&this.getTabIndex()!=null},isFocusRoot:function(){return false},getFocusRoot:function(){if(this._hasParent){return this.getParent().getFocusRoot()}return null},getActiveChild:function(){var a=this.getFocusRoot();if(a){return a.getActiveChild()}return null},_ontabfocus:qx.lang.Function.returnTrue,_applyFocused:function(c,b){if(!this.isCreated()){return}var a=this.getFocusRoot();if(a){if(c){a.setFocusedChild(this);this._visualizeFocus()}else{if(a.getFocusedChild()==this){a.setFocusedChild(null)}this._visualizeBlur()}}},_applyHideFocus:qx.core.Variant.select($[0],{mshtml:function(b,a){this.setHtmlProperty("hideFocus",b)},"default":qx.lang.Function.returnTrue}),_visualizeBlur:function(){if(this.getEnableElementFocus()&&(!this.getFocusRoot().getFocusedChild()||(this.getFocusRoot().getFocusedChild()&&this.getFocusRoot().getFocusedChild().getEnableElementFocus()))){try{this.getElement().blur()}catch(a){}}this.removeState($[120])},_visualizeFocus:function(){if(!qx.event.handler.FocusHandler.mouseFocus&&this.getEnableElementFocus()){try{this.getElement().focus()}catch(a){}}this.addState($[120])},focus:function(){delete qx.event.handler.FocusHandler.mouseFocus;this.setFocused(true)},blur:function(){delete qx.event.handler.FocusHandler.mouseFocus;this.setFocused(false)},_applyCapture:function(c,b){var a=org.eclipse.rwt.EventHandler;if(b){a.setCaptureWidget(null)}if(c){a.setCaptureWidget(this)}},_applyZIndex:function(b,a){if(b==null){this.removeStyleProperty("zIndex")}else{this.setStyleProperty("zIndex",b)}},_applyTabIndex:qx.core.Variant.select($[0],{mshtml:function(b,a){this.setHtmlProperty("tabIndex",b<0?-1:1)},"default":function(b,a){this.setStyleProperty("userFocus",(b<0?"ignore":$[131]));this.setHtmlProperty("tabIndex",b<0?-1:1)}}),_applySelectable:qx.core.Variant.select($[0],{mshtml:function(b,a){},gecko:function(b,a){if(b){this.removeStyleProperty($[500])}else{this.setStyleProperty($[500],"none")}},webkit:function(b,a){if(b){this.removeStyleProperty($[482]);this.removeStyleProperty($[541])}else{this.setStyleProperty($[482],"none");this.setStyleProperty($[541],"none")}},"default":function(b,a){if(b){return this.removeStyleProperty("userSelect")}else{this.setStyleProperty("userSelect","none")}}}),_applyOpacity:function(b,a){org.eclipse.rwt.HtmlUtil.setOpacity(this,b)},__cursorMap:qx.core.Variant.select($[0],{mshtml:{"default":$[36],wait:"wait",crosshair:$[340],help:"help",move:"move",text:"text",pointer:$[146],"e-resize":$[161],"n-resize":$[197],"w-resize":$[231],"s-resize":$[376],"ne-resize":$[216],"se-resize":$[347],"nw-resize":$[219],"sw-resize":$[361],"col-resize":$[386],"row-resize":$[328],progress:$[262],"not-allowed":$[365],"no-drop":"no-drop",cursor:"hand","ew-resize":$[161],"ns-resize":$[197],"nesw-resize":$[216],"nwse-resize":$[219]},opera:{"default":$[36],wait:"wait",crosshair:$[340],help:"help",move:"move",text:"text",pointer:$[146],"e-resize":$[161],"n-resize":$[197],"w-resize":$[231],"s-resize":$[376],"ne-resize":$[216],"se-resize":$[347],"nw-resize":$[219],"sw-resize":$[361],progress:$[262],"not-allowed":$[365],"no-drop":"no-drop","col-resize":$[161],"row-resize":$[197],"ew-resize":$[161],"ns-resize":$[197],"nesw-resize":$[216],"nwse-resize":$[219]},"default":{"default":$[36],wait:"wait",crosshair:$[340],help:"help",move:"move",text:"text",pointer:$[146],"e-resize":$[161],"n-resize":$[197],"w-resize":$[231],"s-resize":$[376],"ne-resize":$[216],"se-resize":$[347],"nw-resize":$[219],"sw-resize":$[361],"col-resize":$[386],"row-resize":$[328],progress:$[262],"not-allowed":$[365],"no-drop":"no-drop"}}),_applyCursor:function(c,a){if(c){var b="url( "+qx.io.Alias.getInstance().resolve(c)+" ), default";this.setStyleProperty($[37],this.__cursorMap[c]||b)}else{this.removeStyleProperty($[37])}},_applyCommand:function(b,a){},_applyBackgroundImage:function(c,a){var b=qx.io.image.Manager.getInstance();var d=qx.io.Alias.getInstance();if(a){b.hide(a)}if(c){b.show(c)}d.connect(this._styleBackgroundImage,this,c)},_styleBackgroundImage:function(a){a?this.setStyleProperty($[155],"url("+a+")"):this.removeStyleProperty($[155])},_applyBackgroundRepeat:function(b,a){b?this.setStyleProperty($[463],b):this.removeStyleProperty($[463])},_applyClip:function(b,a){return this._compileClipString()},_compileClipString:function(){var f=this.getClipLeft();var b=this.getClipTop();var e=this.getClipWidth();var a=this.getClipHeight();var d,c;if(f==null){d=(e==null?"auto":e+"px");f="auto"}else{d=(e==null?"auto":f+e+"px");f=f+"px"}if(b==null){c=(a==null?"auto":a+"px");b="auto"}else{c=(a==null?"auto":b+a+"px");b=b+"px"}return this.setStyleProperty("clip",("rect("+b+","+d+","+c+","+f+")"))},_applyOverflow:qx.core.Variant.select($[0],{"default":function(g,c){var f=g;var d=$[71];switch(g){case $[91]:d=$[103];f=$[24];break;case $[90]:d=$[104];f=$[24];break}var b=[$[71],$[103],$[104]];for(var e=0;e<b.length;e++){if(b[e]!=d){this.removeStyleProperty(b[e])}}switch(g){case $[91]:this.setStyleProperty($[104],$[15]);break;case $[90]:this.setStyleProperty($[103],$[15]);break}this._renderOverflow(d,f,g,c);this.addToQueue($[71])},gecko:function(d,a){var c=d;var b=$[71];switch(c){case $[15]:c=$[283];break;case $[91]:c=$[313];break;case $[90]:c=$[252];break}this._renderOverflow(b,c,d,a);this.addToQueue($[71])},opera:function(g,c){var f=g;var d=$[71];if(org.eclipse.rwt.Client.getVersion()<9.8){switch(f){case $[91]:case $[90]:f=$[24];break}}else{switch(f){case $[91]:d=$[103];f=$[24];break;case $[90]:d=$[104];f=$[24];break}var b=[$[71],$[103],$[104]];for(var e=0;e<b.length;e++){if(b[e]!=d){this.removeStyleProperty(b[e])}}switch(g){case $[91]:this.setStyleProperty($[104],$[15]);break;case $[90]:this.setStyleProperty($[103],$[15]);break}}this._renderOverflow(d,f,g,c);this.addToQueue($[71])}}),_renderOverflow:function(b,c,d,a){this.setStyleProperty(b,c||"");this._invalidateFrameWidth();this._invalidateFrameHeight()},getOverflowX:function(){var a=this.getOverflow();return a==$[90]?$[15]:a},getOverflowY:function(){var a=this.getOverflow();return a==$[91]?$[15]:a},_applyBackgroundColor:function(b,a){qx.theme.manager.Color.getInstance().connect(this._styleBackgroundColor,this,b)},_styleBackgroundColor:function(a){a?this.setStyleProperty($[82],a):this.removeStyleProperty($[82])},_applyTextColor:function(b,a){},_applyFont:function(b,a){},_cachedBorderTop:0,_cachedBorderRight:0,_cachedBorderBottom:0,_cachedBorderLeft:0,_applyBorder:function(b,a){qx.theme.manager.Border.getInstance().connect(this._queueBorder,this,b)},__borderJobs:{top:"borderTop",right:"borderRight",bottom:"borderBottom",left:"borderLeft"},_queueBorder:function(d,c){if(!c){var a=this.__borderJobs;for(var b in a){this.addToQueue(a[b])}this.__reflowBorderX(d);this.__reflowBorderY(d)}else{if(c==="left"||c===$[21]){this.__reflowBorderX(d)}else{this.__reflowBorderY(d)}this.addToQueue(this.__borderJobs[c])}this.__borderObject=d},__reflowBorderX:function(b){var a=this._cachedBorderLeft;var c=this._cachedBorderRight;this._cachedBorderLeft=b?b.getWidthLeft():0;this._cachedBorderRight=b?b.getWidthRight():0;if((a+c)!=(this._cachedBorderLeft+this._cachedBorderRight)){this._invalidateFrameWidth()}},__reflowBorderY:function(c){var a=this._cachedBorderTop;var b=this._cachedBorderBottom;this._cachedBorderTop=c?c.getWidthTop():0;this._cachedBorderBottom=c?c.getWidthBottom():0;if((a+b)!=(this._cachedBorderTop+this._cachedBorderBottom)){this._invalidateFrameHeight()}},renderBorder:function(b){var c=this.__borderObject;if(c){if(b.borderTop){c.renderTop(this)}if(b.borderRight){c.renderRight(this)}if(b.borderBottom){c.renderBottom(this)}if(b.borderLeft){c.renderLeft(this)}}else{var a=qx.ui.core.Border;if(b.borderTop){a.resetTop(this)}if(b.borderRight){a.resetRight(this)}if(b.borderBottom){a.resetBottom(this)}if(b.borderLeft){a.resetLeft(this)}}this._usesComplexBorder=this._computeUsesComplexBorder()},_computeUsesComplexBorder:function(){return this.__borderObject&&this.__borderObject.__complexTop},prepareEnhancedBorder:function(){var c=this.getElement();var d=this._borderElement=document.createElement("div");var e=c.style;var b=this._innerStyle=d.style;if(!qx.core.Variant.isSet($[0],$[20])){b.width=b.height="100%"}b.position=$[35];for(var a in this._styleProperties){switch(a){case"zIndex":case"filter":case $[42]:case $[319]:case $[181]:case $[37]:break;default:b[a]=this._styleProperties[a];e[a]=""}}e.outline="none";e.overflow=$[15];for(var a in this._htmlProperties){switch(a){case $[405]:d.unselectable=this._htmlProperties[a]}}while(c.firstChild){d.appendChild(c.firstChild)}c.appendChild(d);if(this.isInDom()){this._afterRemoveDom();this._afterInsertDom()}},_applyPaddingTop:function(b,a){this.addToQueue($[208]);this._invalidateFrameHeight()},_applyPaddingRight:function(b,a){this.addToQueue($[220]);this._invalidateFrameWidth()},_applyPaddingBottom:function(b,a){this.addToQueue($[234]);this._invalidateFrameHeight()},_applyPaddingLeft:function(b,a){this.addToQueue($[238]);this._invalidateFrameWidth()},renderPadding:function(a){},_applyMarginLeft:function(b,a){this.addToQueue($[207])},_applyMarginRight:function(b,a){this.addToQueue($[259])},_applyMarginTop:function(b,a){this.addToQueue($[206])},_applyMarginBottom:function(b,a){this.addToQueue($[312])},execute:function(){var a=this.getCommand();if(a){a.execute(this)}this.createDispatchEvent($[134])},_visualPropertyCheck:function(){if(!this.isCreated()){throw new Error(this.classname+": Element must be created previously!")}},setScrollLeft:function(a){this._visualPropertyCheck();this._getTargetNode().scrollLeft=a},setScrollTop:function(a){this._visualPropertyCheck();this._getTargetNode().scrollTop=a},getOffsetLeft:function(){this._visualPropertyCheck();return qx.html.Offset.getLeft(this.getElement())},getOffsetTop:function(){this._visualPropertyCheck();return qx.html.Offset.getTop(this.getElement())},getScrollLeft:function(){this._visualPropertyCheck();return this._getTargetNode().scrollLeft},getScrollTop:function(){this._visualPropertyCheck();return this._getTargetNode().scrollTop},getClientWidth:function(){this._visualPropertyCheck();return this._getTargetNode().clientWidth},getClientHeight:function(){this._visualPropertyCheck();return this._getTargetNode().clientHeight},getOffsetWidth:function(){this._visualPropertyCheck();return this.getElement().offsetWidth},getOffsetHeight:function(){this._visualPropertyCheck();return this.getElement().offsetHeight},getScrollWidth:function(){this._visualPropertyCheck();return this._getTargetNode().scrollWidth},getScrollHeight:function(){this._visualPropertyCheck();return this._getTargetNode().scrollHeight},scrollIntoView:function(a){this.scrollIntoViewX(a);this.scrollIntoViewY(a)},scrollIntoViewX:function(a){if(!this._isCreated||!this._isDisplayable){return false}return qx.html.ScrollIntoView.scrollX(this.getElement(),a)},scrollIntoViewY:function(a){if(!this._isCreated||!this._isDisplayable){return false}return qx.html.ScrollIntoView.scrollY(this.getElement(),a)},supportsDrop:function(a){var b=this.getSupportsDropMethod();if(b!==null){return b.call(this,a)}return(this!=a.sourceWidget)}},settings:{"qx.widgetQueueDebugging":false,"qx.widgetDebugId":false},defer:function(b,a){b.__initApplyMethods(a);if(qx.core.Variant.isSet($[0],$[20])){a._renderRuntimeWidth=function(d){this._style.pixelWidth=(d==null)?0:d;if(this._innerStyle){var c=this._usesComplexBorder&&d!=null?d-2:d;this._innerStyle.pixelWidth=c==null?0:c}};a._renderRuntimeHeight=function(d){this._style.pixelHeight=(d==null)?0:d;if(this._innerStyle){var c=this._usesComplexBorder&&d!=null?d-2:d;this._innerStyle.pixelHeight=c==null?0:c}};a._resetRuntimeWidth=function(){this._style.width="";if(this._innerStyle){this._innerStyle.width=""}};a._resetRuntimeHeight=function(){this._style.height="";if(this._innerStyle){this._innerStyle.height=""}}}b.__initLayoutProperties(b)},destruct:function(){var a=this.getElement();if(a){a.qx_Widget=null}this._disposeFields("_isCreated","_inlineEvents","_element","_style","_borderElement","_innerStyle","_oldParent","_styleProperties","_htmlProperties","_htmlAttributes","__states","_jobQueue","_layoutChanges","__borderObject")}});
+qx.Class.define("qx.html.Dimension",{statics:{getBoxWidth:function(a){return a.offsetWidth},getBoxHeight:function(a){return a.offsetHeight},getAreaWidth:qx.core.Variant.select($[0],{gecko:function(a){if(a.clientWidth!=0&&a.clientWidth!=(qx.html.Style.getBorderLeft(a)+qx.html.Style.getBorderRight(a))){return a.clientWidth}else{return qx.html.Dimension.getBoxWidth(a)-qx.html.Dimension.getInsetLeft(a)-qx.html.Dimension.getInsetRight(a)}},"default":function(a){return a.clientWidth!=0?a.clientWidth:(qx.html.Dimension.getBoxWidth(a)-qx.html.Dimension.getInsetLeft(a)-qx.html.Dimension.getInsetRight(a))}}),getAreaHeight:qx.core.Variant.select($[0],{gecko:function(a){if(a.clientHeight!=0&&a.clientHeight!=(qx.html.Style.getBorderTop(a)+qx.html.Style.getBorderBottom(a))){return a.clientHeight}else{return qx.html.Dimension.getBoxHeight(a)-qx.html.Dimension.getInsetTop(a)-qx.html.Dimension.getInsetBottom(a)}},"default":function(a){return a.clientHeight!=0?a.clientHeight:(qx.html.Dimension.getBoxHeight(a)-qx.html.Dimension.getInsetTop(a)-qx.html.Dimension.getInsetBottom(a))}}),getInsetLeft:qx.core.Variant.select($[0],{mshtml:function(a){return a.clientLeft},"default":function(a){return qx.html.Style.getBorderLeft(a)}}),getInsetTop:qx.core.Variant.select($[0],{mshtml:function(a){return a.clientTop},"default":function(a){return qx.html.Style.getBorderTop(a)}}),getInsetRight:qx.core.Variant.select($[0],{mshtml:function(a){if(qx.html.Style.getStyleProperty(a,$[104])==$[15]||a.clientWidth==0){return qx.html.Style.getBorderRight(a)}return Math.max(0,a.offsetWidth-a.clientLeft-a.clientWidth)},"default":function(c){if(c.clientWidth==0){var b=qx.html.Style.getStyleProperty(c,$[71]);var a=b==$[24]||b==$[252]?16:0;return Math.max(0,qx.html.Style.getBorderRight(c)+a)}return Math.max(0,c.offsetWidth-c.clientWidth-qx.html.Style.getBorderLeft(c))}}),getInsetBottom:qx.core.Variant.select($[0],{mshtml:function(a){if(qx.html.Style.getStyleProperty(a,$[103])==$[15]||a.clientHeight==0){return qx.html.Style.getBorderBottom(a)}return Math.max(0,a.offsetHeight-a.clientTop-a.clientHeight)},"default":function(c){if(c.clientHeight==0){var b=qx.html.Style.getStyleProperty(c,$[71]);var a=b==$[24]||b==$[313]?16:0;return Math.max(0,qx.html.Style.getBorderBottom(c)+a)}return Math.max(0,c.offsetHeight-c.clientHeight-qx.html.Style.getBorderTop(c))}}),getScrollBarSizeRight:function(a){return qx.html.Dimension.getInsetRight(a)-qx.html.Style.getBorderRight(a)},getScrollBarSizeBottom:function(a){return qx.html.Dimension.getInsetBottom(a)-qx.html.Style.getBorderBottom(a)}}});
+qx.Class.define("qx.html.Style",{statics:{getStylePropertySure:qx.lang.Object.select((document.defaultView&&document.defaultView.getComputedStyle)?$[426]:"noComputed",{hasComputed:function(a,b){return !a?null:a.ownerDocument?a.ownerDocument.defaultView.getComputedStyle(a,"")[b]:a.style[b]},noComputed:qx.core.Variant.select($[0],{mshtml:function(b,d){try{if(!b){return null}if(b.parentNode&&b.currentStyle){return b.currentStyle[d]}else{var c=b.runtimeStyle[d];if(c!=null&&typeof c!=$[8]&&c!=""){return c}return b.style[d]}}catch(a){throw new Error($[303]+b+"["+d+"]: "+a)}},"default":function(a,b){return !a?null:a.style[b]}})}),getStyleProperty:qx.lang.Object.select((document.defaultView&&document.defaultView.getComputedStyle)?$[426]:"noComputed",{hasComputed:function(b,c){try{return b.ownerDocument.defaultView.getComputedStyle(b,"")[c]}catch(a){throw new Error($[303]+b+"["+c+"]: "+a)}},noComputed:qx.core.Variant.select($[0],{mshtml:function(b,c){try{return b.currentStyle[c]}catch(a){throw new Error($[303]+b+"["+c+"]: "+a)}},"default":function(b,c){try{return b.style[c]}catch(a){throw new Error($[303]+b+"["+c+"]")}}})}),getStyleSize:function(a,b){return parseInt(qx.html.Style.getStyleProperty(a,b))||0},getMarginLeft:function(a){return qx.html.Style.getStyleSize(a,$[207])},getMarginTop:function(a){return qx.html.Style.getStyleSize(a,$[206])},getMarginRight:function(a){return qx.html.Style.getStyleSize(a,$[259])},getMarginBottom:function(a){return qx.html.Style.getStyleSize(a,$[312])},getPaddingLeft:function(a){return qx.html.Style.getStyleSize(a,$[238])},getPaddingTop:function(a){return qx.html.Style.getStyleSize(a,$[208])},getPaddingRight:function(a){return qx.html.Style.getStyleSize(a,$[220])},getPaddingBottom:function(a){return qx.html.Style.getStyleSize(a,$[234])},getBorderLeft:function(a){return qx.html.Style.getStyleProperty(a,"borderLeftStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[86])},getBorderTop:function(a){return qx.html.Style.getStyleProperty(a,"borderTopStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[94])},getBorderRight:function(a){return qx.html.Style.getStyleProperty(a,"borderRightStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[373])},getBorderBottom:function(a){return qx.html.Style.getStyleProperty(a,"borderBottomStyle")=="none"?0:qx.html.Style.getStyleSize(a,$[371])}}});
+qx.Class.define("qx.html.Scroll",{statics:{disableScrolling:function(a){this.enableScrolling(a);a.scrollLeft=0;a.scrollTop=0;qx.html.EventRegistration.addEventListener(a,$[24],this._onscroll)},enableScrolling:function(a){qx.html.EventRegistration.removeEventListener(a,$[24],this._onscroll)},_onscroll:function(b){var a=null;if(b.target){a=(b.target==b.currentTarget)?b.target:null}else{if(b.srcElement){a=b.srcElement}}if(a&&(b.scrollLeft!=0||b.scrollTop!=0)){a.scrollLeft=0;a.scrollTop=0}}}});
qx.Class.define("qx.html.StyleSheet",{statics:{createElement:qx.lang.Object.select(document.createStyleSheet?"ie4+":"other",{"ie4+":function(a){var b=document.createStyleSheet();if(a){b.cssText=a}return b},other:function(b){var a=document.createElement($[81]);a.type="text/css";a.appendChild(document.createTextNode(b||"body {}"));document.getElementsByTagName("head")[0].appendChild(a);if(a.sheet){return a.sheet}else{var d=document.styleSheets;for(var c=d.length-1;c>=0;c--){if(d[c].ownerNode==a){return d[c]}}}throw"Error: Could not get a reference to the sheet object"}}),addRule:qx.lang.Object.select(document.createStyleSheet?"ie4+":"other",{"ie4+":function(a,c,b){a.addRule(c,b)},other:function(a,c,b){a.insertRule(c+"{"+b+"}",a.cssRules.length)}}),removeRule:qx.lang.Object.select(document.createStyleSheet?"ie4+":"other",{"ie4+":function(b,e){var d=b.rules;var c=d.length;for(var a=c-1;a>=0;a--){if(d[a].selectorText==e){b.removeRule(a)}}},other:function(b,e){var d=b.cssRules;var c=d.length;for(var a=c-1;a>=0;a--){if(d[a].selectorText==e){b.deleteRule(a)}}}}),removeAllRules:qx.lang.Object.select(document.createStyleSheet?"ie4+":"other",{"ie4+":function(b){var d=b.rules;var c=d.length;for(var a=c-1;a>=0;a--){b.removeRule(a)}},other:function(b){var d=b.cssRules;var c=d.length;for(var a=c-1;a>=0;a--){b.deleteRule(a)}}})}});
-qx.Class.define($[470],{extend:qx.ui.core.Widget,type:$[102],construct:function(){arguments.callee.base.call(this);this._children=[];this._layoutImpl=this._createLayoutImpl()},properties:{focusHandler:{check:$[479],apply:"_applyFocusHandler",nullable:true},activeChild:{check:$[133],event:$[399],nullable:true},focusedChild:{check:$[133],apply:"_applyFocusedChild",event:$[221],nullable:true},visibleChildren:{_cached:true,defaultValue:null}},members:{isFocusRoot:function(){return this.getFocusHandler()!=null},getFocusRoot:function(){if(this.isFocusRoot()){return this}if(this._hasParent){return this.getParent().getFocusRoot()}return null},activateFocusRoot:function(){if(this._focusHandler){return}this._focusHandler=new qx.event.handler.FocusHandler(this);this.setFocusHandler(this._focusHandler)},_onfocuskeyevent:function(a){this.getFocusHandler()._onkeyevent(this,a)},_applyFocusHandler:function(b,a){if(b){this.addEventListener($[12],this._onfocuskeyevent);if(this.getTabIndex()<1){this.setTabIndex(1)}this.setHideFocus(true);this.setActiveChild(this)}else{this.removeEventListener($[26],this._onfocuskeyevent);this.removeEventListener($[12],this._onfocuskeyevent);this.setTabIndex(null);this.setHideFocus(false)}},_applyFocusedChild:function(f,c){var d=f!=null;var a=c!=null;if(qx.Class.isDefined($[218])&&d){var b=qx.ui.popup.PopupManager.getInstance();if(b){b.update(f)}}if(a){if(c.hasEventListeners($[179])){var e=new qx.event.type.FocusEvent($[179],c);if(d){e.setRelatedTarget(f)}c.dispatchEvent(e);e.dispose()}}if(d){if(f.hasEventListeners($[215])){var e=new qx.event.type.FocusEvent($[215],f);if(a){e.setRelatedTarget(c)}f.dispatchEvent(e);e.dispose()}}if(a){if(this.getActiveChild()==c&&!d){this.setActiveChild(null)}c.setFocused(false);var e=new qx.event.type.FocusEvent("blur",c);if(d){e.setRelatedTarget(f)}c.dispatchEvent(e);if(qx.Class.isDefined($[183])){var b=qx.ui.popup.ToolTipManager.getInstance();if(b){b.handleBlur(e)}}e.dispose()}if(d){this.setActiveChild(f);f.setFocused(true);org.eclipse.rwt.EventHandler.setFocusRoot(this);var e=new qx.event.type.FocusEvent($[73],f);if(a){e.setRelatedTarget(c)}f.dispatchEvent(e);if(qx.Class.isDefined($[183])){var b=qx.ui.popup.ToolTipManager.getInstance();if(b){b.handleFocus(e)}}e.dispose()}},_layoutImpl:null,_createLayoutImpl:function(){return null},getLayoutImpl:function(){return this._layoutImpl},getChildren:function(){return this._children},getChildrenLength:function(){return this.getChildren().length},hasChildren:function(){return this.getChildrenLength()>0},isEmpty:function(){return this.getChildrenLength()==0},indexOf:function(a){return this.getChildren().indexOf(a)},contains:function(a){switch(a){case null:return false;case this:return true;default:return this.contains(a.getParent())}},_computeVisibleChildren:function(){var c=[];var a=this.getChildren();if(!a){return 0}var d=a.length;for(var b=0;b<d;b++){var e=a[b];if(e._isDisplayable){c.push(e)}}return c},getVisibleChildrenLength:function(){return this.getVisibleChildren().length},hasVisibleChildren:function(){return this.getVisibleChildrenLength()>0},isVisibleEmpty:function(){return this.getVisibleChildrenLength()==0},add:function(b){var d;for(var c=0,a=arguments.length;c<a;c++){d=arguments[c];if(!(d instanceof qx.ui.core.Parent)&&!(d instanceof qx.ui.basic.Terminator)){throw new Error($[533]+d)}else{d.setParent(this)}}return this},addAt:function(d,b){if(b==null||b<0){throw new Error("Not a valid index for addAt(): "+b)}if(d.getParent()==this){var a=this.getChildren();var c=a.indexOf(d);if(c!=b){if(c!=-1){qx.lang.Array.removeAt(a,c)}qx.lang.Array.insertAt(a,d,b);if(this._initialLayoutDone){this._invalidateVisibleChildren();this.getLayoutImpl().updateChildrenOnMoveChild(d,b,c)}}}else{d._insertIndex=b;d.setParent(this)}},addAtBegin:function(a){return this.addAt(a,0)},addAtEnd:function(b){var a=this.getChildrenLength();return this.addAt(b,b.getParent()==this?a-1:a)},addBefore:function(e,d){var a=this.getChildren();var c=a.indexOf(d);if(c==-1){throw new Error("Child to add before: "+d+$[460])}var b=a.indexOf(e);if(b==-1||b>c){c++}return this.addAt(e,Math.max(0,c-1))},addAfter:function(e,d){var a=this.getChildren();var c=a.indexOf(d);if(c==-1){throw new Error("Child to add after: "+d+$[460])}var b=a.indexOf(e);if(b!=-1&&b<c){c--}return this.addAt(e,Math.min(a.length,c+1))},remove:function(b){var d;for(var c=0,a=arguments.length;c<a;c++){d=arguments[c];if(!(d instanceof qx.ui.core.Parent)&&!(d instanceof qx.ui.basic.Terminator)){throw new Error($[533]+d)}else{if(d.getParent()==this){d.setParent(null)}}}},removeAt:function(a){var b=this.getChildren()[a];if(b){delete b._insertIndex;b.setParent(null)}},removeAll:function(){var a=this.getChildren();var b=a[0];while(b){this.remove(b);b=a[0]}},getFirstChild:function(){return qx.lang.Array.getFirst(this.getChildren())||null},getFirstVisibleChild:function(){return qx.lang.Array.getFirst(this.getVisibleChildren())||null},getFirstActiveChild:function(a){return qx.ui.core.Widget.getActiveSiblingHelper(null,this,1,a,"first")||null},getLastChild:function(){return qx.lang.Array.getLast(this.getChildren())||null},getLastVisibleChild:function(){return qx.lang.Array.getLast(this.getVisibleChildren())||null},getLastActiveChild:function(a){return qx.ui.core.Widget.getActiveSiblingHelper(null,this,-1,a,"last")||null},forEachChild:function(c){var b=this.getChildren(),d,a=-1;if(!b){return}while(d=b[++a]){c.call(d,a)}},forEachVisibleChild:function(c){var b=this.getVisibleChildren(),d,a=-1;if(!b){return}while(d=b[++a]){c.call(d,a)}},_beforeAppear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._beforeAppear()}})},_afterAppear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._afterAppear()}})},_beforeDisappear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._beforeDisappear()}})},_afterDisappear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._afterDisappear()}})},_beforeInsertDom:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._beforeInsertDom()}})},_afterInsertDom:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._afterInsertDom()}})},_beforeRemoveDom:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._beforeRemoveDom()}})},_afterRemoveDom:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._afterRemoveDom()}})},_handleDisplayableCustom:function(c,a,b){this.forEachChild(function(){this._handleDisplayable()})},_addChildrenToStateQueue:function(){this.forEachVisibleChild(function(){this.addToStateQueue()})},recursiveAddToStateQueue:function(){this.addToStateQueue();this.forEachVisibleChild(function(){this.recursiveAddToStateQueue()})},_recursiveAppearanceThemeUpdate:function(a,b){arguments.callee.base.call(this,a,b);this.forEachVisibleChild(function(){this._recursiveAppearanceThemeUpdate(a,b)})},_addChildToChildrenQueue:function(a){if(!a._isInParentChildrenQueue&&a._isDisplayable){qx.ui.core.Widget.addToGlobalLayoutQueue(this);if(!this._childrenQueue){this._childrenQueue={}}this._childrenQueue[a.toHashCode()]=a}},_removeChildFromChildrenQueue:function(a){if(this._childrenQueue&&a._isInParentChildrenQueue){delete this._childrenQueue[a.toHashCode()];if(qx.lang.Object.isEmpty(this._childrenQueue)){this._childrenQueue={};qx.ui.core.Widget.removeFromGlobalLayoutQueue(this)}}},_flushChildrenQueue:function(){if(!qx.lang.Object.isEmpty(this._childrenQueue)){this.getLayoutImpl().flushChildrenQueue(this._childrenQueue);delete this._childrenQueue}},_addChildrenToLayoutQueue:function(a){this.forEachChild(function(){this.addToLayoutChanges(a)})},_layoutChild:function(c){if(!c._isDisplayable){return}var a=c._layoutChanges;try{if(c.renderBorder){if(a.borderTop||a.borderRight||a.borderBottom||a.borderLeft){c.renderBorder(a)}}}catch(b){throw new Error("Could not apply border to child "+c+" "+b)}try{if(c.renderPadding){if(a.paddingLeft||a.paddingRight||a.paddingTop||a.paddingBottom){c.renderPadding(a)}}}catch(b){throw new Error("Could not apply padding to child "+c+" "+b)}try{this.getLayoutImpl().layoutChild(c,a)}catch(b){throw new Error("Could not layout child "+c+" through layout handler "+b)}try{c._layoutPost(a)}catch(b){throw new Error("Could not post layout child "+c+" "+b)}try{if(a.initial){c._initialLayoutDone=true;qx.ui.core.Widget.addToGlobalDisplayQueue(c)}}catch(b){throw new Error("Could not handle display updates from layout flush for child "+c+" "+b)}c._layoutChanges={};delete c._isInParentLayoutQueue;delete this._childrenQueue[c.toHashCode()]},_layoutPost:qx.lang.Function.returnTrue,_computePreferredInnerWidth:function(){return this.getLayoutImpl().computeChildrenNeededWidth()},_computePreferredInnerHeight:function(){return this.getLayoutImpl().computeChildrenNeededHeight()},_changeInnerWidth:function(c,a){var b=this.getLayoutImpl();if(b.invalidateChildrenFlexWidth){b.invalidateChildrenFlexWidth()}this.forEachVisibleChild(function(){if(b.updateChildOnInnerWidthChange(this)&&this._recomputeBoxWidth()){this._recomputeOuterWidth();this._recomputeInnerWidth()}})},_changeInnerHeight:function(c,a){var b=this.getLayoutImpl();if(b.invalidateChildrenFlexHeight){b.invalidateChildrenFlexHeight()}this.forEachVisibleChild(function(){if(b.updateChildOnInnerHeightChange(this)&&this._recomputeBoxHeight()){this._recomputeOuterHeight();this._recomputeInnerHeight()}})},getInnerWidthForChild:function(a){return this.getInnerWidth()},getInnerHeightForChild:function(a){return this.getInnerHeight()},_remappingChildTable:["add","remove","addAt","addAtBegin","addAtEnd","removeAt","addBefore","addAfter","removeAll"],_remapStart:"return this._remappingChildTarget.",_remapStop:".apply(this._remappingChildTarget, arguments)",remapChildrenHandlingTo:function(e){var c=this._remappingChildTable;this._remappingChildTarget=e;for(var b=0,a=c.length,d;b<a;b++){d=c[b];this[d]=new Function(qx.ui.core.Parent.prototype._remapStart+d+qx.ui.core.Parent.prototype._remapStop)}}},defer:function(c,a,b){if(qx.core.Variant.isSet($[0],$[150])){a._layoutChildOrig=a._layoutChild;a._layoutChild=function(g){if(!g._initialLayoutDone||!g._layoutChanges.border){return this._layoutChildOrig(g)}var d=g.getElement().style;var f=d.display;d.display="none";var e=this._layoutChildOrig(g);d.display=f;return e}}},destruct:function(){this._disposeObjectDeep("_children",1);this._disposeObjects("_layoutImpl","_focusHandler");this._disposeFields($[536],$[536],"_remappingChildTable","_remappingChildTarget","_cachedVisibleChildren")}});
-qx.Class.define($[239],{extend:qx.event.type.Event,construct:function(a,b){arguments.callee.base.call(this,a);this.setTarget(b);switch(a){case $[215]:case $[179]:this.setBubbles(true);this.setPropagationStopped(false)}}});
-qx.Class.define("org.eclipse.rwt.EventHandler",{type:$[129],statics:{_filter:{},_allowContextMenu:qx.lang.Function.returnFalse,_captureWidget:null,_focusRoot:null,_menuManager:null,_focused:false,_lastMouseEventType:null,_lastMouseDown:false,_lastMouseEventDate:0,init:function(){var a=qx.lang.Function;this.__onmouseevent=a.bind(this._onmouseevent,this);this.__ondragevent=a.bind(this._ondragevent,this);this.__onselectevent=a.bind(this._onselectevent,this);this.__onwindowblur=a.bind(this._onwindowblur,this);this.__onwindowfocus=a.bind(this._onwindowfocus,this);this.__onwindowresize=a.bind(this._onwindowresize,this);this.__onKeyEvent=qx.lang.Function.bind(this._onKeyEvent,this)},cleanUp:function(){delete this.__onmouseevent;delete this.__ondragevent;delete this.__onselectevent;delete this.__onwindowblur;delete this.__onwindowfocus;delete this.__onwindowresize;delete this.__onKeyEvent;delete this._lastMouseEventType;delete this._lastMouseDown;delete this._lastMouseEventDate;delete this._lastMouseDownDomTarget;delete this._lastMouseDownDispatchTarget;org.eclipse.rwt.EventHandlerUtil.cleanUp()},attachEvents:function(){var a=qx.html.EventRegistration;this.attachEventTypes(this._mouseEventTypes,this.__onmouseevent);this.attachEventTypes(this._dragEventTypes,this.__ondragevent);this.attachEventTypes(this._keyEventTypes,this.__onKeyEvent);a.addEventListener(window,"blur",this.__onwindowblur);a.addEventListener(window,$[73],this.__onwindowfocus);a.addEventListener(window,"resize",this.__onwindowresize);document.body.onselect=this.__onselectevent;document.onselectstart=this.__onselectevent;document.onselectionchange=this.__onselectevent},detachEvents:function(){var a=qx.html.EventRegistration;this.detachEventTypes(this._mouseEventTypes,this.__onmouseevent);this.detachEventTypes(this._dragEventTypes,this.__ondragevent);this.detachEventTypes(this._keyEventTypes,this.__onKeyEvent);a.removeEventListener(window,"blur",this.__onwindowblur);a.removeEventListener(window,$[73],this.__onwindowfocus);a.removeEventListener(window,"resize",this.__onwindowresize);document.body.onselect=null;document.onselectstart=null;document.onselectionchange=null},setCaptureWidget:function(a){if(this._captureWidget!==a){if(this._captureWidget!==null){this._captureWidget.setCapture(false)}this._captureWidget=a;if(a!=null){a.setCapture(true)}}},getCaptureWidget:function(){return this._captureWidget},setFocusRoot:function(a){if(a!==this._focusRoot){if(this._focusRoot!==null){this._focusRoot.setFocusedChild(null)}this._focusRoot=a;if(a!==null&&a.getFocusedChild()===null){a.setFocusedChild(a)}}},getFocusRoot:function(){return this._focusRoot},setAllowContextMenu:function(a){this._allowContextMenu=a},setMenuManager:function(a){this._menuManager=a},getMenuManager:function(a){return this._menuManager},setMouseEventFilter:function(b,a){this._filter[$[256]]=[b,a]},setKeyEventFilter:function(b,a){this._filter[$[252]]=[b,a]},_onKeyEvent:function(){var b=org.eclipse.rwt.EventHandlerUtil;var d=b.getDomEvent(arguments);var e=b.getKeyCode(d);var a=b.getCharCode(d);var f=b.getEventPseudoTypes(d,e,a);for(var c=0;c<f.length;c++){this._onkeyevent_post(d,f[c],e,a)}b.saveData(d,e,a)},_onkeyevent_post:function(a,d,c,f){var e=true;if(typeof this._filter[$[252]]!==$[8]){var b=this._filter[$[252]][1];e=this._filter[$[252]][0].call(b,d,c,f,a)}if(e){this._processKeyEvent(a,d,c,f)}},_processKeyEvent:function(a,g,d,f){var b=org.eclipse.rwt.EventHandlerUtil;var c;if(!isNaN(d)&&d!==0){c=b.keyCodeToIdentifier(d)}else{c=b.charCodeToIdentifier(f)}var i=b.getDomTarget(a);var e=this._getKeyEventTarget();var h=new qx.event.type.KeyEvent(g,a,i,e,null,d,f,c);if(e!=null&&e.getEnabled()){switch(c){case $[113]:case"Tab":if(this._menuManager!=null){this._menuManager.update(e,g)}break}if(a.ctrlKey&&c=="A"){switch(i.tagName.toLowerCase()){case $[85]:case $[170]:case"iframe":break;default:b.stopDomEvent(a);break}}e.dispatchEvent(h);if(qx.Class.isDefined($[277])){qx.event.handler.DragAndDropHandler.getInstance().handleKeyEvent(h)}}h.dispose()},_onmouseevent:function(b){var c=true;if(typeof this._filter[$[256]]!==$[8]){var a=this._filter[$[256]][1];c=this._filter[$[256]][0].call(a,b)}if(c){this._processMouseEvent(b)}},_processMouseEvent:qx.core.Variant.select($[0],{mshtml:function(){var a=org.eclipse.rwt.EventHandlerUtil;var b=a.getDomEvent(arguments);var c=a.getDomTarget(b);var d=b.type;if(d==$[48]){if(this._mouseIsDown&&b.button==0){this._onmouseevent_post(b,$[17],c);this._mouseIsDown=false}}else{if(d==$[2]){this._mouseIsDown=true}else{if(d==$[17]){this._mouseIsDown=false}}if(d==$[17]&&!this._lastMouseDown&&((new Date()).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(b,$[2],c)}else{if(d==$[61]&&this._lastMouseEventType==$[17]&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(b,$[28],c)}}switch(d){case $[2]:case $[17]:case $[28]:case $[61]:case $[40]:this._lastMouseEventType=d;this._lastMouseEventDate=(new Date()).valueOf();this._lastMouseDown=d==$[2];break}}this._onmouseevent_post(b,d,c)},"default":function(b){var a=org.eclipse.rwt.EventHandlerUtil;var c=a.getDomTarget(b);var d=b.type;switch(d){case $[434]:d=$[49];break;case $[28]:case $[61]:if(b.which!==1){return}}this._onmouseevent_post(b,d,c)}}),_onmouseevent_post:function(d,k,m){var f=org.eclipse.rwt.EventHandlerUtil;var j=this.getCaptureWidget();var b=f.getOriginalTargetObject(m);var i=f.getTargetObject(null,b,true);if(!i){return}var g=j?j:i;var o=this._onmouseevent_click_fix(m,k,g);if(k==$[40]&&!this._allowContextMenu(b,m)){f.stopDomEvent(d)}if(i.getEnabled()&&k==$[2]){qx.event.handler.FocusHandler.mouseFocus=true;var l=i.getFocusRoot();if(l){this.setFocusRoot(l);var h=i;while(!h.isFocusable()&&h!=l){h=h.getParent()}l.setFocusedChild(h);l.setActiveChild(i)}}if(k==$[10]||k==$[15]){var c=f.getRelatedTargetObjectFromEvent(d);var n=k==$[10]?$[329]:"elementOut";this._fireElementHoverEvents(n,d,m,i,b,c,g);if(c==i){return}}var a=new qx.event.type.MouseEvent(k,d,m,i,b,c);qx.event.type.MouseEvent.storeEventState(a);if(g.getEnabled()){g.dispatchEvent(a);this._onmouseevent_special_post(k,i,b,g,a,d)}else{if(k==$[10]){if(qx.Class.isDefined($[183])){var e=qx.ui.popup.ToolTipManager.getInstance();e.handleMouseOver(a)}}}a.dispose();qx.ui.core.Widget.flushGlobalQueues();if(o){this._onmouseevent_post(d,$[28],this._lastMouseDownDomTarget);this._lastMouseDownDomTarget=null;this._lastMouseDownDispatchTarget=null}},_fireElementHoverEvents:function(e,d,f,g,c,b,h){if(h.getEnabled()){var a=new qx.event.type.MouseEvent(e,d,f,g,c,b);h.dispatchEvent(a)}},_onmouseevent_special_post:function(d,f,b,c,e,a){switch(d){case $[2]:if(qx.Class.isDefined($[218])){qx.ui.popup.PopupManager.getInstance().update(f)}if(this._menuManager!=null){this._menuManager.update(f,d)}if(qx.Class.isDefined($[371])){qx.ui.embed.IframeManager.getInstance().handleMouseDown(e)}break;case $[17]:if(this._menuManager!=null){this._menuManager.update(f,d)}if(qx.Class.isDefined($[371])){qx.ui.embed.IframeManager.getInstance().handleMouseUp(e)}break;case $[10]:if(qx.Class.isDefined($[183])){qx.ui.popup.ToolTipManager.getInstance().handleMouseOver(e)}break;case $[15]:if(qx.Class.isDefined($[183])){qx.ui.popup.ToolTipManager.getInstance().handleMouseOut(e)}break}this._ignoreWindowBlur=d===$[2];if(qx.Class.isDefined($[277])&&f){qx.event.handler.DragAndDropHandler.getInstance().handleMouseEvent(e)}},_ondragevent:function(b){var a=org.eclipse.rwt.EventHandlerUtil;if(!b){b=window.event}a.stopDomEvent(b)},_onselectevent:function(){var a=org.eclipse.rwt.EventHandlerUtil;var c=a.getDomEvent(arguments);var b=a.getOriginalTargetObjectFromEvent(c);while(b){if(b.getSelectable()!=null){if(!b.getSelectable()){a.stopDomEvent(c)}break}b=b.getParent()}},_onwindowblur:function(a){if(!this._focused||this._ignoreWindowBlur||a.originalTarget!=window){return}this._focused=false;this.setCaptureWidget(null);if(qx.Class.isDefined($[218])){qx.ui.popup.PopupManager.getInstance().update()}if(this._menuManager){this._menuManager.update()}if(qx.Class.isDefined($[277])){qx.event.handler.DragAndDropHandler.getInstance().globalCancelDrag()}qx.ui.core.ClientDocument.getInstance().createDispatchEvent($[245])},_onwindowfocus:function(a){if(this._focused){return}this._focused=true;qx.ui.core.ClientDocument.getInstance().createDispatchEvent("windowfocus")},_onwindowresize:function(a){qx.ui.core.ClientDocument.getInstance().createDispatchEvent($[268])},_mouseEventTypes:[$[10],$[48],$[15],$[2],$[17],$[28],$[61],$[40],qx.core.Variant.isSet($[0],$[43])?$[434]:$[49]],_keyEventTypes:[$[26],$[12],$[64]],_dragEventTypes:qx.core.Variant.select($[0],{gecko:[$[225],$[154],$[317],"dragexit",$[525]],mshtml:[$[291],$[154],$[74],"drag",$[317],"dragleave"],"default":[$[74],$[225],$[154],"drag","dragleave",$[317],"dragexit",$[525]]}),_getKeyEventTarget:function(){var a=this.getFocusRoot();return this.getCaptureWidget()||(a==null?null:a.getActiveChild())},attachEventTypes:function(f,e){try{var d=qx.core.Variant.isSet($[0],$[43])?window:document.body;for(var c=0,a=f.length;c<a;c++){qx.html.EventRegistration.addEventListener(d,f[c],e)}}catch(b){throw new Error("EventHandler: Failed to attach window event types: "+f+": "+b)}},detachEventTypes:function(f,e){try{var d=qx.core.Variant.isSet($[0],$[43])?window:document.body;for(var c=0,a=f.length;c<a;c++){qx.html.EventRegistration.removeEventListener(d,f[c],e)}}catch(b){throw new Error("EventHandler: Failed to detach window event types: "+f+": "+b)}},_onmouseevent_click_fix:qx.core.Variant.select($[0],{gecko:function(a,d,c){var b=false;switch(d){case $[2]:this._lastMouseDownDomTarget=a;this._lastMouseDownDispatchTarget=c;break;case $[17]:if(this._lastMouseDownDispatchTarget===c&&a!==this._lastMouseDownDomTarget){b=true}else{this._lastMouseDownDomTarget=null;this._lastMouseDownDispatchTarget=null}break}return b},"default":function(){return false}})}});
+qx.Class.define($[468],{extend:qx.ui.core.Widget,type:$[102],construct:function(){arguments.callee.base.call(this);this._children=[];this._layoutImpl=this._createLayoutImpl()},properties:{focusHandler:{check:$[477],apply:"_applyFocusHandler",nullable:true},activeChild:{check:$[133],event:$[397],nullable:true},focusedChild:{check:$[133],apply:"_applyFocusedChild",event:$[221],nullable:true},visibleChildren:{_cached:true,defaultValue:null}},members:{isFocusRoot:function(){return this.getFocusHandler()!=null},getFocusRoot:function(){if(this.isFocusRoot()){return this}if(this._hasParent){return this.getParent().getFocusRoot()}return null},activateFocusRoot:function(){if(this._focusHandler){return}this._focusHandler=new qx.event.handler.FocusHandler(this);this.setFocusHandler(this._focusHandler)},_onfocuskeyevent:function(a){this.getFocusHandler()._onkeyevent(this,a)},_applyFocusHandler:function(b,a){if(b){this.addEventListener($[12],this._onfocuskeyevent);if(this.getTabIndex()<1){this.setTabIndex(1)}this.setHideFocus(true);this.setActiveChild(this)}else{this.removeEventListener($[25],this._onfocuskeyevent);this.removeEventListener($[12],this._onfocuskeyevent);this.setTabIndex(null);this.setHideFocus(false)}},_applyFocusedChild:function(f,c){var d=f!=null;var a=c!=null;if(qx.Class.isDefined($[218])&&d){var b=qx.ui.popup.PopupManager.getInstance();if(b){b.update(f)}}if(a){if(c.hasEventListeners($[178])){var e=new qx.event.type.FocusEvent($[178],c);if(d){e.setRelatedTarget(f)}c.dispatchEvent(e);e.dispose()}}if(d){if(f.hasEventListeners($[215])){var e=new qx.event.type.FocusEvent($[215],f);if(a){e.setRelatedTarget(c)}f.dispatchEvent(e);e.dispose()}}if(a){if(this.getActiveChild()==c&&!d){this.setActiveChild(null)}c.setFocused(false);var e=new qx.event.type.FocusEvent("blur",c);if(d){e.setRelatedTarget(f)}c.dispatchEvent(e);if(qx.Class.isDefined($[183])){var b=qx.ui.popup.ToolTipManager.getInstance();if(b){b.handleBlur(e)}}e.dispose()}if(d){this.setActiveChild(f);f.setFocused(true);org.eclipse.rwt.EventHandler.setFocusRoot(this);var e=new qx.event.type.FocusEvent($[72],f);if(a){e.setRelatedTarget(c)}f.dispatchEvent(e);if(qx.Class.isDefined($[183])){var b=qx.ui.popup.ToolTipManager.getInstance();if(b){b.handleFocus(e)}}e.dispose()}},_layoutImpl:null,_createLayoutImpl:function(){return null},getLayoutImpl:function(){return this._layoutImpl},getChildren:function(){return this._children},getChildrenLength:function(){return this.getChildren().length},hasChildren:function(){return this.getChildrenLength()>0},isEmpty:function(){return this.getChildrenLength()==0},indexOf:function(a){return this.getChildren().indexOf(a)},contains:function(a){switch(a){case null:return false;case this:return true;default:return this.contains(a.getParent())}},_computeVisibleChildren:function(){var c=[];var a=this.getChildren();if(!a){return 0}var d=a.length;for(var b=0;b<d;b++){var e=a[b];if(e._isDisplayable){c.push(e)}}return c},getVisibleChildrenLength:function(){return this.getVisibleChildren().length},hasVisibleChildren:function(){return this.getVisibleChildrenLength()>0},isVisibleEmpty:function(){return this.getVisibleChildrenLength()==0},add:function(b){var d;for(var c=0,a=arguments.length;c<a;c++){d=arguments[c];if(!(d instanceof qx.ui.core.Parent)&&!(d instanceof qx.ui.basic.Terminator)){throw new Error($[531]+d)}else{d.setParent(this)}}return this},addAt:function(d,b){if(b==null||b<0){throw new Error("Not a valid index for addAt(): "+b)}if(d.getParent()==this){var a=this.getChildren();var c=a.indexOf(d);if(c!=b){if(c!=-1){qx.lang.Array.removeAt(a,c)}qx.lang.Array.insertAt(a,d,b);if(this._initialLayoutDone){this._invalidateVisibleChildren();this.getLayoutImpl().updateChildrenOnMoveChild(d,b,c)}}}else{d._insertIndex=b;d.setParent(this)}},addAtBegin:function(a){return this.addAt(a,0)},addAtEnd:function(b){var a=this.getChildrenLength();return this.addAt(b,b.getParent()==this?a-1:a)},addBefore:function(e,d){var a=this.getChildren();var c=a.indexOf(d);if(c==-1){throw new Error("Child to add before: "+d+$[458])}var b=a.indexOf(e);if(b==-1||b>c){c++}return this.addAt(e,Math.max(0,c-1))},addAfter:function(e,d){var a=this.getChildren();var c=a.indexOf(d);if(c==-1){throw new Error("Child to add after: "+d+$[458])}var b=a.indexOf(e);if(b!=-1&&b<c){c--}return this.addAt(e,Math.min(a.length,c+1))},remove:function(b){var d;for(var c=0,a=arguments.length;c<a;c++){d=arguments[c];if(!(d instanceof qx.ui.core.Parent)&&!(d instanceof qx.ui.basic.Terminator)){throw new Error($[531]+d)}else{if(d.getParent()==this){d.setParent(null)}}}},removeAt:function(a){var b=this.getChildren()[a];if(b){delete b._insertIndex;b.setParent(null)}},removeAll:function(){var a=this.getChildren();var b=a[0];while(b){this.remove(b);b=a[0]}},getFirstChild:function(){return qx.lang.Array.getFirst(this.getChildren())||null},getFirstVisibleChild:function(){return qx.lang.Array.getFirst(this.getVisibleChildren())||null},getFirstActiveChild:function(a){return qx.ui.core.Widget.getActiveSiblingHelper(null,this,1,a,"first")||null},getLastChild:function(){return qx.lang.Array.getLast(this.getChildren())||null},getLastVisibleChild:function(){return qx.lang.Array.getLast(this.getVisibleChildren())||null},getLastActiveChild:function(a){return qx.ui.core.Widget.getActiveSiblingHelper(null,this,-1,a,"last")||null},forEachChild:function(c){var b=this.getChildren(),d,a=-1;if(!b){return}while(d=b[++a]){c.call(d,a)}},forEachVisibleChild:function(c){var b=this.getVisibleChildren(),d,a=-1;if(!b){return}while(d=b[++a]){c.call(d,a)}},_beforeAppear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._beforeAppear()}})},_afterAppear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._afterAppear()}})},_beforeDisappear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._beforeDisappear()}})},_afterDisappear:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){if(this.isAppearRelevant()){this._afterDisappear()}})},_afterInsertDom:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){this._afterInsertDom()})},_afterRemoveDom:function(){arguments.callee.base.call(this);this.forEachVisibleChild(function(){this._afterRemoveDom()})},_handleDisplayableCustom:function(c,a,b){this.forEachChild(function(){this._handleDisplayable()})},_addChildrenToStateQueue:function(){this.forEachVisibleChild(function(){this.addToStateQueue()})},recursiveAddToStateQueue:function(){this.addToStateQueue();this.forEachVisibleChild(function(){this.recursiveAddToStateQueue()})},_recursiveAppearanceThemeUpdate:function(a,b){arguments.callee.base.call(this,a,b);this.forEachVisibleChild(function(){this._recursiveAppearanceThemeUpdate(a,b)})},_addChildToChildrenQueue:function(a){if(!a._isInParentChildrenQueue&&a._isDisplayable){qx.ui.core.Widget.addToGlobalLayoutQueue(this);if(!this._childrenQueue){this._childrenQueue={}}this._childrenQueue[a.toHashCode()]=a}},_removeChildFromChildrenQueue:function(a){if(this._childrenQueue&&a._isInParentChildrenQueue){delete this._childrenQueue[a.toHashCode()];if(qx.lang.Object.isEmpty(this._childrenQueue)){this._childrenQueue={};qx.ui.core.Widget.removeFromGlobalLayoutQueue(this)}}},_flushChildrenQueue:function(){if(!qx.lang.Object.isEmpty(this._childrenQueue)){this.getLayoutImpl().flushChildrenQueue(this._childrenQueue);delete this._childrenQueue}},_addChildrenToLayoutQueue:function(a){this.forEachChild(function(){this.addToLayoutChanges(a)})},_layoutChild:function(c){if(!c._isDisplayable){return}var a=c._layoutChanges;try{if(c.renderBorder){if(a.borderTop||a.borderRight||a.borderBottom||a.borderLeft){c.renderBorder(a)}}}catch(b){throw new Error("Could not apply border to child "+c+" "+b)}try{if(c.renderPadding){if(a.paddingLeft||a.paddingRight||a.paddingTop||a.paddingBottom){c.renderPadding(a)}}}catch(b){throw new Error("Could not apply padding to child "+c+" "+b)}try{this.getLayoutImpl().layoutChild(c,a)}catch(b){throw new Error("Could not layout child "+c+" through layout handler "+b)}try{c._layoutPost(a)}catch(b){throw new Error("Could not post layout child "+c+" "+b)}try{if(a.initial){c._initialLayoutDone=true;qx.ui.core.Widget.addToGlobalDisplayQueue(c)}}catch(b){throw new Error("Could not handle display updates from layout flush for child "+c+" "+b)}c._layoutChanges={};delete c._isInParentLayoutQueue;delete this._childrenQueue[c.toHashCode()]},_layoutPost:function(a){this.createDispatchDataEvent("flush",a)},_computePreferredInnerWidth:function(){return this.getLayoutImpl().computeChildrenNeededWidth()},_computePreferredInnerHeight:function(){return this.getLayoutImpl().computeChildrenNeededHeight()},_changeInnerWidth:function(c,a){var b=this.getLayoutImpl();if(b.invalidateChildrenFlexWidth){b.invalidateChildrenFlexWidth()}this.forEachVisibleChild(function(){if(b.updateChildOnInnerWidthChange(this)&&this._recomputeBoxWidth()){this._recomputeOuterWidth();this._recomputeInnerWidth()}})},_changeInnerHeight:function(c,a){var b=this.getLayoutImpl();if(b.invalidateChildrenFlexHeight){b.invalidateChildrenFlexHeight()}this.forEachVisibleChild(function(){if(b.updateChildOnInnerHeightChange(this)&&this._recomputeBoxHeight()){this._recomputeOuterHeight();this._recomputeInnerHeight()}})},getInnerWidthForChild:function(a){return this.getInnerWidth()},getInnerHeightForChild:function(a){return this.getInnerHeight()},_remappingChildTable:["add","remove","addAt","addAtBegin","addAtEnd","removeAt","addBefore","addAfter","removeAll"],_remapStart:"return this._remappingChildTarget.",_remapStop:".apply(this._remappingChildTarget, arguments)",remapChildrenHandlingTo:function(e){var c=this._remappingChildTable;this._remappingChildTarget=e;for(var b=0,a=c.length,d;b<a;b++){d=c[b];this[d]=new Function(qx.ui.core.Parent.prototype._remapStart+d+qx.ui.core.Parent.prototype._remapStop)}}},defer:function(c,a,b){if(qx.core.Variant.isSet($[0],$[148])){a._layoutChildOrig=a._layoutChild;a._layoutChild=function(g){if(!g._initialLayoutDone||!g._layoutChanges.border){return this._layoutChildOrig(g)}var d=g.getElement().style;var f=d.display;d.display="none";var e=this._layoutChildOrig(g);d.display=f;return e}}},destruct:function(){this._disposeObjectDeep("_children",1);this._disposeObjects("_layoutImpl","_focusHandler");this._disposeFields($[534],$[534],"_remappingChildTable","_remappingChildTarget","_cachedVisibleChildren")}});
+qx.Class.define($[239],{extend:qx.event.type.Event,construct:function(a,b){arguments.callee.base.call(this,a);this.setTarget(b);switch(a){case $[215]:case $[178]:this.setBubbles(true);this.setPropagationStopped(false)}}});
+qx.Class.define("org.eclipse.rwt.EventHandler",{type:$[129],statics:{_filter:{},_allowContextMenu:qx.lang.Function.returnFalse,_captureWidget:null,_focusRoot:null,_menuManager:null,_focused:false,_lastMouseEventType:null,_lastMouseDown:false,_lastMouseEventDate:0,_mouseIsDown:false,init:function(){var a=qx.lang.Function;this.__onmouseevent=a.bind(this._onmouseevent,this);this.__ondragevent=a.bind(this._ondragevent,this);this.__onselectevent=a.bind(this._onselectevent,this);this.__onwindowblur=a.bind(this._onwindowblur,this);this.__onwindowfocus=a.bind(this._onwindowfocus,this);this.__onwindowresize=a.bind(this._onwindowresize,this);this.__onKeyEvent=qx.lang.Function.bind(this._onKeyEvent,this)},cleanUp:function(){delete this.__onmouseevent;delete this.__ondragevent;delete this.__onselectevent;delete this.__onwindowblur;delete this.__onwindowfocus;delete this.__onwindowresize;delete this.__onKeyEvent;delete this._lastMouseEventType;delete this._lastMouseDown;delete this._lastMouseEventDate;delete this._lastMouseDownDomTarget;delete this._lastMouseDownDispatchTarget;org.eclipse.rwt.EventHandlerUtil.cleanUp()},attachEvents:function(){var a=qx.html.EventRegistration;this.attachEventTypes(this._mouseEventTypes,this.__onmouseevent);this.attachEventTypes(this._dragEventTypes,this.__ondragevent);this.attachEventTypes(this._keyEventTypes,this.__onKeyEvent);a.addEventListener(window,"blur",this.__onwindowblur);a.addEventListener(window,$[72],this.__onwindowfocus);a.addEventListener(window,"resize",this.__onwindowresize);document.body.onselect=this.__onselectevent;document.onselectstart=this.__onselectevent;document.onselectionchange=this.__onselectevent},detachEvents:function(){var a=qx.html.EventRegistration;this.detachEventTypes(this._mouseEventTypes,this.__onmouseevent);this.detachEventTypes(this._dragEventTypes,this.__ondragevent);this.detachEventTypes(this._keyEventTypes,this.__onKeyEvent);a.removeEventListener(window,"blur",this.__onwindowblur);a.removeEventListener(window,$[72],this.__onwindowfocus);a.removeEventListener(window,"resize",this.__onwindowresize);document.body.onselect=null;document.onselectstart=null;document.onselectionchange=null},setCaptureWidget:function(a){if(this._captureWidget!==a){if(this._captureWidget!==null){this._captureWidget.setCapture(false)}this._captureWidget=a;if(a!=null){a.setCapture(true)}}},getCaptureWidget:function(){return this._captureWidget},setFocusRoot:function(a){if(a!==this._focusRoot){if(this._focusRoot!==null){this._focusRoot.setFocusedChild(null)}this._focusRoot=a;if(a!==null&&a.getFocusedChild()===null){a.setFocusedChild(a)}}},getFocusRoot:function(){return this._focusRoot},setAllowContextMenu:function(a){this._allowContextMenu=a},setMenuManager:function(a){this._menuManager=a},getMenuManager:function(a){return this._menuManager},setMouseEventFilter:function(b,a){this._filter[$[254]]=[b,a]},setKeyEventFilter:function(b,a){this._filter[$[250]]=[b,a]},_onKeyEvent:function(){var b=org.eclipse.rwt.EventHandlerUtil;var d=b.getDomEvent(arguments);var e=b.getKeyCode(d);var a=b.getCharCode(d);var f=b.getEventPseudoTypes(d,e,a);for(var c=0;c<f.length;c++){this._onkeyevent_post(d,f[c],e,a)}b.saveData(d,e,a)},_onkeyevent_post:function(a,d,c,f){var e=true;if(typeof this._filter[$[250]]!==$[8]){var b=this._filter[$[250]][1];e=this._filter[$[250]][0].call(b,d,c,f,a)}if(e){this._processKeyEvent(a,d,c,f)}},_processKeyEvent:function(a,g,d,f){var b=org.eclipse.rwt.EventHandlerUtil;var c;if(!isNaN(d)&&d!==0){c=b.keyCodeToIdentifier(d)}else{c=b.charCodeToIdentifier(f)}var i=b.getDomTarget(a);var e=this._getKeyEventTarget();var h=new qx.event.type.KeyEvent(g,a,i,e,null,d,f,c);if(e!=null&&e.getEnabled()){switch(c){case $[113]:case"Tab":if(this._menuManager!=null){this._menuManager.update(e,g)}break}if(a.ctrlKey&&c=="A"){switch(i.tagName.toLowerCase()){case $[85]:case $[169]:case"iframe":break;default:b.stopDomEvent(a);break}}e.dispatchEvent(h);if(qx.Class.isDefined($[276])){qx.event.handler.DragAndDropHandler.getInstance().handleKeyEvent(h)}}h.dispose()},_onmouseevent:function(b){var c=true;if(typeof this._filter[$[254]]!==$[8]){var a=this._filter[$[254]][1];c=this._filter[$[254]][0].call(a,b)}if(c){this._processMouseEvent(b)}},_processMouseEvent:qx.core.Variant.select($[0],{mshtml:function(){var a=org.eclipse.rwt.EventHandlerUtil;var b=a.getDomEvent(arguments);var c=a.getDomTarget(b);var d=b.type;if(d==$[48]){if(this._mouseIsDown&&b.button==0){this._onmouseevent_post(b,$[17],c);this._mouseIsDown=false}}else{if(d==$[2]){this._mouseIsDown=true}else{if(d==$[17]){this._mouseIsDown=false}}if(d==$[17]&&!this._lastMouseDown&&((new Date()).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(b,$[2],c)}else{if(d==$[61]&&this._lastMouseEventType==$[17]&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(b,$[27],c)}}switch(d){case $[2]:case $[17]:case $[27]:case $[61]:case $[40]:this._lastMouseEventType=d;this._lastMouseEventDate=(new Date()).valueOf();this._lastMouseDown=d==$[2];break}}this._onmouseevent_post(b,d,c)},"default":function(b){var a=org.eclipse.rwt.EventHandlerUtil;var c=a.getDomTarget(b);var d=b.type;switch(d){case $[433]:d=$[49];break;case $[27]:case $[61]:if(b.which!==1){return}}this._onmouseevent_post(b,d,c)}}),_onmouseevent_post:function(d,k,m){var f=org.eclipse.rwt.EventHandlerUtil;var j=this.getCaptureWidget();var b=f.getOriginalTargetObject(m);var i=f.getTargetObject(null,b,true);if(!i){return}var g=j?j:i;var o=this._onmouseevent_click_fix(m,k,g);if(k==$[40]&&!this._allowContextMenu(b,m)){f.stopDomEvent(d)}if(i.getEnabled()&&k==$[2]){qx.event.handler.FocusHandler.mouseFocus=true;var l=i.getFocusRoot();if(l){this.setFocusRoot(l);var h=i;while(!h.isFocusable()&&h!=l){h=h.getParent()}l.setFocusedChild(h);l.setActiveChild(i)}}if(k==$[9]||k==$[14]){var c=f.getRelatedTargetObjectFromEvent(d);var n=k==$[9]?$[327]:"elementOut";this._fireElementHoverEvents(n,d,m,i,b,c,g);if(c==i){return}}var a=new qx.event.type.MouseEvent(k,d,m,i,b,c);qx.event.type.MouseEvent.storeEventState(a);if(g.getEnabled()){g.dispatchEvent(a);this._onmouseevent_special_post(k,i,b,g,a,d)}else{if(k==$[9]){if(qx.Class.isDefined($[183])){var e=qx.ui.popup.ToolTipManager.getInstance();e.handleMouseOver(a)}}}a.dispose();qx.ui.core.Widget.flushGlobalQueues();if(o){this._onmouseevent_post(d,$[27],this._lastMouseDownDomTarget);this._lastMouseDownDomTarget=null;this._lastMouseDownDispatchTarget=null}},_fireElementHoverEvents:function(e,d,f,g,c,b,h){if(h.getEnabled()){var a=new qx.event.type.MouseEvent(e,d,f,g,c,b);h.dispatchEvent(a)}},_onmouseevent_special_post:function(d,f,b,c,e,a){switch(d){case $[2]:if(qx.Class.isDefined($[218])){qx.ui.popup.PopupManager.getInstance().update(f)}if(this._menuManager!=null){this._menuManager.update(f,d)}if(qx.Class.isDefined($[369])){qx.ui.embed.IframeManager.getInstance().handleMouseDown(e)}break;case $[17]:if(this._menuManager!=null){this._menuManager.update(f,d)}if(qx.Class.isDefined($[369])){qx.ui.embed.IframeManager.getInstance().handleMouseUp(e)}break;case $[9]:if(qx.Class.isDefined($[183])){qx.ui.popup.ToolTipManager.getInstance().handleMouseOver(e)}break;case $[14]:if(qx.Class.isDefined($[183])){qx.ui.popup.ToolTipManager.getInstance().handleMouseOut(e)}break}this._ignoreWindowBlur=d===$[2];if(qx.Class.isDefined($[276])&&f){qx.event.handler.DragAndDropHandler.getInstance().handleMouseEvent(e)}},_ondragevent:function(b){var a=org.eclipse.rwt.EventHandlerUtil;if(!b){b=window.event}a.stopDomEvent(b)},_onselectevent:function(){var a=org.eclipse.rwt.EventHandlerUtil;var c=a.getDomEvent(arguments);var b=a.getOriginalTargetObjectFromEvent(c);while(b){if(b.getSelectable()!=null){if(!b.getSelectable()){a.stopDomEvent(c)}break}b=b.getParent()}},_onwindowblur:function(a){if(!this._focused||this._ignoreWindowBlur||a.originalTarget!=window){return}this._focused=false;this.setCaptureWidget(null);if(qx.Class.isDefined($[218])){qx.ui.popup.PopupManager.getInstance().update()}if(this._menuManager){this._menuManager.update()}if(qx.Class.isDefined($[276])){qx.event.handler.DragAndDropHandler.getInstance().globalCancelDrag()}qx.ui.core.ClientDocument.getInstance().createDispatchEvent($[244])},_onwindowfocus:function(a){if(this._focused){return}this._focused=true;qx.ui.core.ClientDocument.getInstance().createDispatchEvent("windowfocus")},_onwindowresize:function(a){qx.ui.core.ClientDocument.getInstance().createDispatchEvent($[267])},_mouseEventTypes:[$[9],$[48],$[14],$[2],$[17],$[27],$[61],$[40],qx.core.Variant.isSet($[0],$[43])?$[433]:$[49]],_keyEventTypes:[$[25],$[12],$[64]],_dragEventTypes:qx.core.Variant.select($[0],{gecko:[$[225],$[152],$[317],"dragexit",$[523]],mshtml:[$[290],$[152],$[73],"drag",$[317],"dragleave"],"default":[$[73],$[225],$[152],"drag","dragleave",$[317],"dragexit",$[523]]}),_getKeyEventTarget:function(){var a=this.getFocusRoot();return this.getCaptureWidget()||(a==null?null:a.getActiveChild())},attachEventTypes:function(f,e){try{var d=qx.core.Variant.isSet($[0],$[43])?window:document.body;for(var c=0,a=f.length;c<a;c++){qx.html.EventRegistration.addEventListener(d,f[c],e)}}catch(b){throw new Error("EventHandler: Failed to attach window event types: "+f+": "+b)}},detachEventTypes:function(f,e){try{var d=qx.core.Variant.isSet($[0],$[43])?window:document.body;for(var c=0,a=f.length;c<a;c++){qx.html.EventRegistration.removeEventListener(d,f[c],e)}}catch(b){throw new Error("EventHandler: Failed to detach window event types: "+f+": "+b)}},_onmouseevent_click_fix:qx.core.Variant.select($[0],{gecko:function(a,d,c){var b=false;switch(d){case $[2]:this._lastMouseDownDomTarget=a;this._lastMouseDownDispatchTarget=c;break;case $[17]:if(this._lastMouseDownDispatchTarget===c&&a!==this._lastMouseDownDomTarget){b=true}else{this._lastMouseDownDomTarget=null;this._lastMouseDownDispatchTarget=null}break}return b},"default":function(){return false}})}});
qx.Class.define("qx.dom.Node",{statics:{ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12,isDocument:function(a){return !!(a&&a.nodeType===qx.dom.Node.DOCUMENT)},getDocument:function(a){if(this.isDocument(a)){return a}return a.ownerDocument||a.document||null},getWindow:qx.core.Variant.select($[0],{mshtml:function(a){return this.getDocument(a).parentWindow},"default":function(a){return this.getDocument(a).defaultView}})}});
-qx.Class.define("org.eclipse.rwt.EventHandlerUtil",{type:$[129],statics:{_lastUpDownType:{},_lastKeyCode:null,cleanUp:function(){delete this.__onKeyEvent;delete this._lastUpDownType;delete this._lastKeyCode},getDomEvent:qx.core.Variant.select($[0],{mshtml:function(a){return a.length>0?a[0]:window.event},"default":function(a){return a[0]}}),getDomTarget:qx.core.Variant.select($[0],{mshtml:function(a){return a.target||a.srcElement},webkit:function(a){var b=a.target||a.srcElement;if(b&&(b.nodeType==qx.dom.Node.TEXT)){b=b.parentNode}return b},"default":function(a){return a.target}}),stopDomEvent:function(a){if(a.preventDefault){a.preventDefault()}try{a.keyCode=0}catch(b){}a.returnValue=false},getOriginalTargetObject:function(b){if(b==document.documentElement){b=document.body}while(b!=null&&b.qx_Widget==null){try{b=b.parentNode}catch(a){b=null}}return b?b.qx_Widget:null},getOriginalTargetObjectFromEvent:function(a,c){var b=this.getDomTarget(a);if(c){var d=c.document;if(b==c||b==d||b==d.documentElement||b==d.body){return d.body.qx_Widget}}return this.getOriginalTargetObject(b)},getRelatedTargetObjectFromEvent:function(b){var a=org.eclipse.rwt.EventHandlerUtil;var c=b.relatedTarget;if(!c){if(b.type==$[10]){c=b.fromElement}else{c=b.toElement}}return a.getTargetObject(c)},getTargetObject:function(b,a,c){if(!a){var a=this.getOriginalTargetObject(b);if(!a){return null}}while(a){if(!c&&!a.getEnabled()){return null}if(!a.getAnonymous()){break}a=a.getParent()}return a},getKeyCode:qx.core.Variant.select($[0],{gecko:function(a){return a.keyCode},opera:function(b){var a;if(b.type===$[12]){if(this._lastKeyCode===b.keyCode){a=b.keyCode}else{a=0}}else{a=b.keyCode}return a},"default":function(b){var a=b.type!==$[12]||b.keyCode===13;return a?b.keyCode:0}}),getCharCode:qx.core.Variant.select($[0],{"default":function(a){var b=a.type===$[12]&&a.keyCode!==13;return b?a.charCode:0},mshtml:function(a){var b=a.type===$[12]&&a.keyCode!==13;return b?a.keyCode:0},opera:function(b){var a;if(b.type===$[12]){if(this._lastKeyCode!==b.keyCode){a=b.keyCode}else{a=0}}else{a=0}return a}}),_isFirstKeyDown:function(a){return this._lastUpDownType[a]!==$[26]},getEventPseudoTypes:qx.core.Variant.select($[0],{"default":function(c,d,b){var a;if(c.type===$[26]){var e=!this._isNonPrintableKeyCode(d);if(this._isFirstKeyDown(d)){a=e?[$[26]]:[$[26],$[12]]}else{a=e?[]:[$[12]]}}else{a=[c.type]}return a},gecko:function(c,d,b){var a;if(c.type===$[26]&&!this._isFirstKeyDown(d)){a=[]}else{a=[c.type]}return a},opera:function(b,c,a){return[b.type]}}),saveData:function(b,c,a){if(b.type!==$[12]){this._lastUpDownType[c]=b.type;this._lastKeyCode=c}},keyCodeToIdentifier:function(b){var a="Unidentified";if(this._numpadToCharCode[b]!==undefined){a=String.fromCharCode(this._numpadToCharCode[b])}else{if(this._keyCodeToIdentifierMap[b]!==undefined){a=this._keyCodeToIdentifierMap[b]}else{if(this._specialCharCodeMap[b]!==undefined){a=this._specialCharCodeMap[b]}else{if(this._isAlphaNumericKeyCode(b)){a=String.fromCharCode(b)}}}}return a},charCodeToIdentifier:function(b){var a;if(this._specialCharCodeMap[b]!==undefined){a=this._specialCharCodeMap[b]}else{a=String.fromCharCode(b).toUpperCase()}return a},_isNonPrintableKeyCode:function(a){return this._keyCodeToIdentifierMap[a]?true:false},_isAlphaNumericKeyCode:function(b){var a=false;if((b>=this._charCodeA&&b<=this._charCodeZ)||(b>=this._charCode0&&b<=this._charCode9)){a=true}return a},_specialCharCodeMap:{13:$[69],27:$[113],32:$[89]},_keyCodeToIdentifierMap:{8:$[351],9:"Tab",16:"Shift",17:$[262],18:"Alt",20:"CapsLock",224:"Meta",37:"Left",38:"Up",39:$[53],40:"Down",33:$[58],34:$[55],35:"End",36:"Home",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",44:"PrintScreen",145:"Scroll",19:"Pause",91:"Win",93:"Apps"},_numpadToCharCode:{96:"0".charCodeAt(0),97:"1".charCodeAt(0),98:"2".charCodeAt(0),99:"3".charCodeAt(0),100:"4".charCodeAt(0),101:"5".charCodeAt(0),102:"6".charCodeAt(0),103:"7".charCodeAt(0),104:"8".charCodeAt(0),105:"9".charCodeAt(0),106:"*".charCodeAt(0),107:"+".charCodeAt(0),109:"-".charCodeAt(0),110:",".charCodeAt(0),111:"/".charCodeAt(0)},_charCodeA:"A".charCodeAt(0),_charCodeZ:"Z".charCodeAt(0),_charCode0:"0".charCodeAt(0),_charCode9:"9".charCodeAt(0)}});
-qx.Class.define("qx.event.type.DomEvent",{extend:qx.event.type.Event,construct:function(d,b,c,e,a){arguments.callee.base.call(this,d);this.setDomEvent(b);this.setDomTarget(c);this.setTarget(e);this.setOriginalTarget(a)},statics:{SHIFT_MASK:1,CTRL_MASK:2,ALT_MASK:4,META_MASK:8},properties:{bubbles:{_fast:true,defaultValue:true,noCompute:true},propagationStopped:{_fast:true,defaultValue:false,noCompute:true},domEvent:{_fast:true,setOnlyOnce:true,noCompute:true},domTarget:{_fast:true,setOnlyOnce:true,noCompute:true},modifiers:{_cached:true,defaultValue:null}},members:{_computeModifiers:function(){var b=0;var a=this.getDomEvent();if(a.shiftKey){b|=qx.event.type.DomEvent.SHIFT_MASK}if(a.ctrlKey){b|=qx.event.type.DomEvent.CTRL_MASK}if(a.altKey){b|=qx.event.type.DomEvent.ALT_MASK}if(a.metaKey){b|=qx.event.type.DomEvent.META_MASK}return b},isCtrlPressed:function(){return this.getDomEvent().ctrlKey},isShiftPressed:function(){return this.getDomEvent().shiftKey},isAltPressed:function(){return this.getDomEvent().altKey},isMetaPressed:function(){return this.getDomEvent().metaKey},isCtrlOrCommandPressed:function(){if(org.eclipse.rwt.Client.getPlatform()==="mac"){return this.getDomEvent().metaKey}else{return this.getDomEvent().ctrlKey}},setDefaultPrevented:qx.core.Variant.select($[0],{mshtml:function(a){if(!a){throw new Error($[547])}this.getDomEvent().returnValue=false;arguments.callee.base.call(this,a)},"default":function(a){if(!a){throw new Error($[547])}this.getDomEvent().preventDefault();this.getDomEvent().returnValue=false;arguments.callee.base.call(this,a)}})},destruct:function(){this._disposeFields("_valueDomEvent","_valueDomTarget")}});
-qx.Class.define($[305],{extend:qx.event.type.DomEvent,construct:function(f,c,d,g,b,e,h,a){arguments.callee.base.call(this,f,c,d,g,b);this._keyCode=e;this.setCharCode(h);this.setKeyIdentifier(a)},statics:{keys:{esc:27,enter:13,tab:9,space:32,up:38,down:40,left:37,right:39,shift:16,ctrl:17,alt:18,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,print:124,del:46,backspace:8,insert:45,home:36,end:35,pageup:33,pagedown:34,numlock:144,numpad_0:96,numpad_1:97,numpad_2:98,numpad_3:99,numpad_4:100,numpad_5:101,numpad_6:102,numpad_7:103,numpad_8:104,numpad_9:105,numpad_divide:111,numpad_multiply:106,numpad_minus:109,numpad_plus:107},codes:{}},properties:{charCode:{_fast:true,setOnlyOnce:true,noCompute:true},keyIdentifier:{_fast:true,setOnlyOnce:true,noCompute:true}},members:{getKeyCode:function(){return this._keyCode}},defer:function(b){for(var a in b.keys){b.codes[b.keys[a]]=a}}});
-qx.Class.define($[88],{extend:qx.event.type.DomEvent,construct:function(e,b,d,f,a,c){arguments.callee.base.call(this,e,b,d,f,a);if(c){this.setRelatedTarget(c)}},statics:{C_BUTTON_LEFT:"left",C_BUTTON_MIDDLE:$[31],C_BUTTON_RIGHT:$[21],C_BUTTON_NONE:"none",_screenX:0,_screenY:0,_clientX:0,_clientY:0,_pageX:0,_pageY:0,_button:null,buttons:qx.core.Variant.select($[0],{mshtml:{left:1,right:2,middle:4},"default":{left:0,right:2,middle:1}}),storeEventState:function(a){this._screenX=a.getScreenX();this._screenY=a.getScreenY();this._clientX=a.getClientX();this._clientY=a.getClientY();this._pageX=a.getPageX();this._pageY=a.getPageY();this._button=a.getButton()},getScreenX:function(){return this._screenX},getScreenY:function(){return this._screenY},getClientX:function(){return this._clientX},getClientY:function(){return this._clientY},getPageX:function(){return this._pageX},getPageY:function(){return this._pageY},getButton:function(){return this._button}},properties:{button:{_fast:true,readOnly:true},wheelDelta:{_fast:true,readOnly:true}},members:{getPageX:qx.core.Variant.select($[0],{mshtml:function(){return this.getDomEvent().clientX+qx.bom.Viewport.getScrollLeft(window)},"default":function(){return this.getDomEvent().pageX}}),getPageY:qx.core.Variant.select($[0],{mshtml:function(){return this.getDomEvent().clientY+qx.bom.Viewport.getScrollTop(window)},"default":function(){return this.getDomEvent().pageY}}),getClientX:function(){return this.getDomEvent().clientX},getClientY:function(){return this.getDomEvent().clientY},getScreenX:function(){return this.getDomEvent().screenX},getScreenY:function(){return this.getDomEvent().screenY},isLeftButtonPressed:qx.core.Variant.select($[0],{mshtml:function(){if(this.getType()==$[28]){return true}else{return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_LEFT}},"default":function(){return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_LEFT}}),isMiddleButtonPressed:function(){return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_MIDDLE},isRightButtonPressed:function(){return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_RIGHT},__buttons:qx.core.Variant.select($[0],{mshtml:{1:"left",2:$[21],4:$[31]},"default":{0:"left",2:$[21],1:$[31]}}),_computeButton:function(){switch(this.getDomEvent().type){case $[28]:case $[61]:return"left";case $[40]:return $[21];default:return this.__buttons[this.getDomEvent().button]||"none"}},_computeWheelDelta:qx.core.Variant.select($[0],{"default":function(){return this.getDomEvent().wheelDelta/120},gecko:function(){return -(this.getDomEvent().detail/3)}})}});
+qx.Class.define("org.eclipse.rwt.EventHandlerUtil",{type:$[129],statics:{_lastUpDownType:{},_lastKeyCode:null,cleanUp:function(){delete this.__onKeyEvent;delete this._lastUpDownType;delete this._lastKeyCode},getDomEvent:qx.core.Variant.select($[0],{mshtml:function(a){return a.length>0?a[0]:window.event},"default":function(a){return a[0]}}),getDomTarget:qx.core.Variant.select($[0],{mshtml:function(a){return a.target||a.srcElement},webkit:function(a){var b=a.target||a.srcElement;if(b&&(b.nodeType==qx.dom.Node.TEXT)){b=b.parentNode}return b},"default":function(a){return a.target}}),stopDomEvent:function(a){if(a.preventDefault){a.preventDefault()}try{a.keyCode=0}catch(b){}a.returnValue=false},getOriginalTargetObject:function(b){if(b==document.documentElement){b=document.body}while(b!=null&&b.qx_Widget==null){try{b=b.parentNode}catch(a){b=null}}return b?b.qx_Widget:null},getOriginalTargetObjectFromEvent:function(a,c){var b=this.getDomTarget(a);if(c){var d=c.document;if(b==c||b==d||b==d.documentElement||b==d.body){return d.body.qx_Widget}}return this.getOriginalTargetObject(b)},getRelatedTargetObjectFromEvent:function(b){var a=org.eclipse.rwt.EventHandlerUtil;var c=b.relatedTarget;if(!c){if(b.type==$[9]){c=b.fromElement}else{c=b.toElement}}return a.getTargetObject(c)},getTargetObject:function(b,a,c){if(!a){var a=this.getOriginalTargetObject(b);if(!a){return null}}while(a){if(!c&&!a.getEnabled()){return null}if(!a.getAnonymous()){break}a=a.getParent()}return a},getKeyCode:qx.core.Variant.select($[0],{gecko:function(a){return a.keyCode},opera:function(b){var a;if(b.type===$[12]){if(this._lastKeyCode===b.keyCode){a=b.keyCode}else{a=0}}else{a=b.keyCode}return a},"default":function(b){var a=b.type!==$[12]||b.keyCode===13;return a?b.keyCode:0}}),getCharCode:qx.core.Variant.select($[0],{"default":function(a){var b=a.type===$[12]&&a.keyCode!==13;return b?a.charCode:0},mshtml:function(a){var b=a.type===$[12]&&a.keyCode!==13;return b?a.keyCode:0},opera:function(b){var a;if(b.type===$[12]){if(this._lastKeyCode!==b.keyCode){a=b.keyCode}else{a=0}}else{a=0}return a}}),_isFirstKeyDown:function(a){return this._lastUpDownType[a]!==$[25]},getEventPseudoTypes:qx.core.Variant.select($[0],{"default":function(c,d,b){var a;if(c.type===$[25]){var e=!this._isNonPrintableKeyCode(d);if(this._isFirstKeyDown(d)){a=e?[$[25]]:[$[25],$[12]]}else{a=e?[]:[$[12]]}}else{a=[c.type]}return a},gecko:function(c,d,b){var a;if(c.type===$[25]&&!this._isFirstKeyDown(d)){a=[]}else{a=[c.type]}return a},opera:function(b,c,a){return[b.type]}}),saveData:function(b,c,a){if(b.type!==$[12]){this._lastUpDownType[c]=b.type;this._lastKeyCode=c}},keyCodeToIdentifier:function(b){var a="Unidentified";if(this._numpadToCharCode[b]!==undefined){a=String.fromCharCode(this._numpadToCharCode[b])}else{if(this._keyCodeToIdentifierMap[b]!==undefined){a=this._keyCodeToIdentifierMap[b]}else{if(this._specialCharCodeMap[b]!==undefined){a=this._specialCharCodeMap[b]}else{if(this._isAlphaNumericKeyCode(b)){a=String.fromCharCode(b)}}}}return a},charCodeToIdentifier:function(b){var a;if(this._specialCharCodeMap[b]!==undefined){a=this._specialCharCodeMap[b]}else{a=String.fromCharCode(b).toUpperCase()}return a},_isNonPrintableKeyCode:function(a){return this._keyCodeToIdentifierMap[a]?true:false},_isAlphaNumericKeyCode:function(b){var a=false;if((b>=this._charCodeA&&b<=this._charCodeZ)||(b>=this._charCode0&&b<=this._charCode9)){a=true}return a},_specialCharCodeMap:{13:$[69],27:$[113],32:$[89]},_keyCodeToIdentifierMap:{8:$[349],9:"Tab",16:"Shift",17:$[261],18:"Alt",20:"CapsLock",224:"Meta",37:"Left",38:"Up",39:$[53],40:"Down",33:$[58],34:$[55],35:"End",36:"Home",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",44:"PrintScreen",145:"Scroll",19:"Pause",91:"Win",93:"Apps"},_numpadToCharCode:{96:"0".charCodeAt(0),97:"1".charCodeAt(0),98:"2".charCodeAt(0),99:"3".charCodeAt(0),100:"4".charCodeAt(0),101:"5".charCodeAt(0),102:"6".charCodeAt(0),103:"7".charCodeAt(0),104:"8".charCodeAt(0),105:"9".charCodeAt(0),106:"*".charCodeAt(0),107:"+".charCodeAt(0),109:"-".charCodeAt(0),110:",".charCodeAt(0),111:"/".charCodeAt(0)},_charCodeA:"A".charCodeAt(0),_charCodeZ:"Z".charCodeAt(0),_charCode0:"0".charCodeAt(0),_charCode9:"9".charCodeAt(0)}});
+qx.Class.define("qx.event.type.DomEvent",{extend:qx.event.type.Event,construct:function(d,b,c,e,a){arguments.callee.base.call(this,d);this.setDomEvent(b);this.setDomTarget(c);this.setTarget(e);this.setOriginalTarget(a)},statics:{SHIFT_MASK:1,CTRL_MASK:2,ALT_MASK:4,META_MASK:8},properties:{bubbles:{_fast:true,defaultValue:true,noCompute:true},propagationStopped:{_fast:true,defaultValue:false,noCompute:true},domEvent:{_fast:true,setOnlyOnce:true,noCompute:true},domTarget:{_fast:true,setOnlyOnce:true,noCompute:true},modifiers:{_cached:true,defaultValue:null}},members:{_computeModifiers:function(){var b=0;var a=this.getDomEvent();if(a.shiftKey){b|=qx.event.type.DomEvent.SHIFT_MASK}if(a.ctrlKey){b|=qx.event.type.DomEvent.CTRL_MASK}if(a.altKey){b|=qx.event.type.DomEvent.ALT_MASK}if(a.metaKey){b|=qx.event.type.DomEvent.META_MASK}return b},isCtrlPressed:function(){return this.getDomEvent().ctrlKey},isShiftPressed:function(){return this.getDomEvent().shiftKey},isAltPressed:function(){return this.getDomEvent().altKey},isMetaPressed:function(){return this.getDomEvent().metaKey},isCtrlOrCommandPressed:function(){if(org.eclipse.rwt.Client.getPlatform()==="mac"){return this.getDomEvent().metaKey}else{return this.getDomEvent().ctrlKey}},setDefaultPrevented:qx.core.Variant.select($[0],{mshtml:function(a){if(!a){throw new Error($[545])}this.getDomEvent().returnValue=false;arguments.callee.base.call(this,a)},"default":function(a){if(!a){throw new Error($[545])}this.getDomEvent().preventDefault();this.getDomEvent().returnValue=false;arguments.callee.base.call(this,a)}})},destruct:function(){this._disposeFields("_valueDomEvent","_valueDomTarget")}});
+qx.Class.define($[304],{extend:qx.event.type.DomEvent,construct:function(f,c,d,g,b,e,h,a){arguments.callee.base.call(this,f,c,d,g,b);this._keyCode=e;this.setCharCode(h);this.setKeyIdentifier(a)},statics:{keys:{esc:27,enter:13,tab:9,space:32,up:38,down:40,left:37,right:39,shift:16,ctrl:17,alt:18,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,print:124,del:46,backspace:8,insert:45,home:36,end:35,pageup:33,pagedown:34,numlock:144,numpad_0:96,numpad_1:97,numpad_2:98,numpad_3:99,numpad_4:100,numpad_5:101,numpad_6:102,numpad_7:103,numpad_8:104,numpad_9:105,numpad_divide:111,numpad_multiply:106,numpad_minus:109,numpad_plus:107},codes:{}},properties:{charCode:{_fast:true,setOnlyOnce:true,noCompute:true},keyIdentifier:{_fast:true,setOnlyOnce:true,noCompute:true}},members:{getKeyCode:function(){return this._keyCode}},defer:function(b){for(var a in b.keys){b.codes[b.keys[a]]=a}}});
+qx.Class.define($[88],{extend:qx.event.type.DomEvent,construct:function(e,b,d,f,a,c){arguments.callee.base.call(this,e,b,d,f,a);if(c){this.setRelatedTarget(c)}},statics:{C_BUTTON_LEFT:"left",C_BUTTON_MIDDLE:$[31],C_BUTTON_RIGHT:$[21],C_BUTTON_NONE:"none",_screenX:0,_screenY:0,_clientX:0,_clientY:0,_pageX:0,_pageY:0,_button:null,buttons:qx.core.Variant.select($[0],{mshtml:{left:1,right:2,middle:4},"default":{left:0,right:2,middle:1}}),storeEventState:function(a){this._screenX=a.getScreenX();this._screenY=a.getScreenY();this._clientX=a.getClientX();this._clientY=a.getClientY();this._pageX=a.getPageX();this._pageY=a.getPageY();this._button=a.getButton()},getScreenX:function(){return this._screenX},getScreenY:function(){return this._screenY},getClientX:function(){return this._clientX},getClientY:function(){return this._clientY},getPageX:function(){return this._pageX},getPageY:function(){return this._pageY},getButton:function(){return this._button}},properties:{button:{_fast:true,readOnly:true},wheelDelta:{_fast:true,readOnly:true}},members:{getPageX:qx.core.Variant.select($[0],{mshtml:function(){return this.getDomEvent().clientX+qx.bom.Viewport.getScrollLeft(window)},"default":function(){return this.getDomEvent().pageX}}),getPageY:qx.core.Variant.select($[0],{mshtml:function(){return this.getDomEvent().clientY+qx.bom.Viewport.getScrollTop(window)},"default":function(){return this.getDomEvent().pageY}}),getClientX:function(){return this.getDomEvent().clientX},getClientY:function(){return this.getDomEvent().clientY},getScreenX:function(){return this.getDomEvent().screenX},getScreenY:function(){return this.getDomEvent().screenY},isLeftButtonPressed:qx.core.Variant.select($[0],{mshtml:function(){if(this.getType()==$[27]){return true}else{return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_LEFT}},"default":function(){return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_LEFT}}),isMiddleButtonPressed:function(){return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_MIDDLE},isRightButtonPressed:function(){return this.getButton()===qx.event.type.MouseEvent.C_BUTTON_RIGHT},__buttons:qx.core.Variant.select($[0],{mshtml:{1:"left",2:$[21],4:$[31]},"default":{0:"left",2:$[21],1:$[31]}}),_computeButton:function(){switch(this.getDomEvent().type){case $[27]:case $[61]:return"left";case $[40]:return $[21];default:return this.__buttons[this.getDomEvent().button]||"none"}},_computeWheelDelta:qx.core.Variant.select($[0],{"default":function(){return this.getDomEvent().wheelDelta/120},gecko:function(){return -(this.getDomEvent().detail/3)}})}});
qx.Class.define("qx.util.manager.Object",{extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this._objects={}},members:{add:function(a){if(this.getDisposed()){return}this._objects[a.toHashCode()]=a},remove:function(a){if(this.getDisposed()){return false}delete this._objects[a.toHashCode()]},has:function(a){return this._objects[a.toHashCode()]!=null},get:function(a){return this._objects[a.toHashCode()]},getAll:function(){return this._objects},enableAll:function(){for(var a in this._objects){this._objects[a].setEnabled(true)}},disableAll:function(){for(var a in this._objects){this._objects[a].setEnabled(false)}}},destruct:function(){this._disposeObjectDeep("_objects")}});
-qx.Class.define($[371],{type:$[30],extend:qx.util.manager.Object,construct:function(){arguments.callee.base.call(this);this._blocked={}},members:{handleMouseDown:function(a){var c=this._blockData=qx.lang.Object.copy(this.getAll());for(var b in c){c[b].block()}},handleMouseUp:function(a){var c=this._blockData;for(var b in c){c[b].release()}}},destruct:function(){this._disposeFields("_blocked","_blockData")}});
+qx.Class.define($[369],{type:$[29],extend:qx.util.manager.Object,construct:function(){arguments.callee.base.call(this);this._blocked={}},members:{handleMouseDown:function(a){var c=this._blockData=qx.lang.Object.copy(this.getAll());for(var b in c){c[b].block()}},handleMouseUp:function(a){var c=this._blockData;for(var b in c){c[b].release()}}},destruct:function(){this._disposeFields("_blocked","_blockData")}});
qx.Class.define("qx.ui.layout.CanvasLayout",{extend:qx.ui.core.Parent,construct:function(){arguments.callee.base.call(this)},members:{_createLayoutImpl:function(){return new qx.ui.layout.impl.CanvasLayoutImpl(this)}}});
qx.Class.define("qx.ui.layout.impl.LayoutImpl",{extend:qx.core.Object,construct:function(a){arguments.callee.base.call(this);this._widget=a},members:{getWidget:function(){return this._widget},computeChildBoxWidth:function(a){return a.getWidthValue()||a._computeBoxWidthFallback()},computeChildBoxHeight:function(a){return a.getHeightValue()||a._computeBoxHeightFallback()},computeChildNeededWidth:function(d){var c=d._computedMinWidthTypePercent?null:d.getMinWidthValue();var b=d._computedMaxWidthTypePercent?null:d.getMaxWidthValue();var a=(d._computedWidthTypePercent||d._computedWidthTypeFlex?null:d.getWidthValue())||d.getPreferredBoxWidth()||0;return qx.lang.Number.limit(a,c,b)+d.getMarginLeft()+d.getMarginRight()},computeChildNeededHeight:function(d){var c=d._computedMinHeightTypePercent?null:d.getMinHeightValue();var b=d._computedMaxHeightTypePercent?null:d.getMaxHeightValue();var a=(d._computedHeightTypePercent||d._computedHeightTypeFlex?null:d.getHeightValue())||d.getPreferredBoxHeight()||0;return qx.lang.Number.limit(a,c,b)+d.getMarginTop()+d.getMarginBottom()},computeChildrenNeededWidth_max:function(){for(var c=0,d=this.getWidget().getVisibleChildren(),b=d.length,a=0;c<b;c++){a=Math.max(a,d[c].getNeededWidth())}return a},computeChildrenNeededHeight_max:function(){for(var c=0,d=this.getWidget().getVisibleChildren(),b=d.length,a=0;c<b;c++){a=Math.max(a,d[c].getNeededHeight())}return a},computeChildrenNeededWidth_sum:function(){for(var c=0,d=this.getWidget().getVisibleChildren(),a=d.length,b=0;c<a;c++){b+=d[c].getNeededWidth()}return b},computeChildrenNeededHeight_sum:function(){for(var c=0,d=this.getWidget().getVisibleChildren(),a=d.length,b=0;c<a;c++){b+=d[c].getNeededHeight()}return b},computeChildrenNeededWidth:null,computeChildrenNeededHeight:null,updateSelfOnChildOuterWidthChange:function(a){},updateSelfOnChildOuterHeightChange:function(a){},updateChildOnInnerWidthChange:function(a){},updateChildOnInnerHeightChange:function(a){},updateSelfOnJobQueueFlush:function(a){},updateChildrenOnJobQueueFlush:function(a){},updateChildrenOnAddChild:function(b,a){},updateChildrenOnRemoveChild:function(b,a){},updateChildrenOnMoveChild:function(c,a,b){},flushChildrenQueue:function(a){var b=this.getWidget();for(var c in a){b._layoutChild(a[c])}},layoutChild:function(b,a){},layoutChild_sizeLimitX:qx.core.Variant.select($[0],{mshtml:qx.lang.Function.returnTrue,"default":function(b,a){if(a.minWidth){b._computedMinWidthTypeNull?b._resetRuntimeMinWidth():b._renderRuntimeMinWidth(b.getMinWidthValue())}else{if(a.initial&&!b._computedMinWidthTypeNull){b._renderRuntimeMinWidth(b.getMinWidthValue())}}if(a.maxWidth){b._computedMaxWidthTypeNull?b._resetRuntimeMaxWidth():b._renderRuntimeMaxWidth(b.getMaxWidthValue())}else{if(a.initial&&!b._computedMaxWidthTypeNull){b._renderRuntimeMaxWidth(b.getMaxWidthValue())}}}}),layoutChild_sizeLimitY:qx.core.Variant.select($[0],{mshtml:qx.lang.Function.returnTrue,"default":function(b,a){if(a.minHeight){b._computedMinHeightTypeNull?b._resetRuntimeMinHeight():b._renderRuntimeMinHeight(b.getMinHeightValue())}else{if(a.initial&&!b._computedMinHeightTypeNull){b._renderRuntimeMinHeight(b.getMinHeightValue())}}if(a.maxHeight){b._computedMaxHeightTypeNull?b._resetRuntimeMaxHeight():b._renderRuntimeMaxHeight(b.getMaxHeightValue())}else{if(a.initial&&!b._computedMaxHeightTypeNull){b._renderRuntimeMaxHeight(b.getMaxHeightValue())}}}}),layoutChild_marginX:function(d,a){if(a.marginLeft||a.initial){var c=d.getMarginLeft();c!=null?d._renderRuntimeMarginLeft(c):d._resetRuntimeMarginLeft()}if(a.marginRight||a.initial){var b=d.getMarginRight();b!=null?d._renderRuntimeMarginRight(b):d._resetRuntimeMarginRight()}},layoutChild_marginY:function(d,a){if(a.marginTop||a.initial){var c=d.getMarginTop();c!=null?d._renderRuntimeMarginTop(c):d._resetRuntimeMarginTop()}if(a.marginBottom||a.initial){var b=d.getMarginBottom();b!=null?d._renderRuntimeMarginBottom(b):d._resetRuntimeMarginBottom()}},layoutChild_sizeX_essentialWrapper:function(b,a){return b._isWidthEssential()?this.layoutChild_sizeX(b,a):b._resetRuntimeWidth()},layoutChild_sizeY_essentialWrapper:function(b,a){return b._isHeightEssential()?this.layoutChild_sizeY(b,a):b._resetRuntimeHeight()}},defer:function(b,a){a.computeChildrenNeededWidth=a.computeChildrenNeededWidth_max;a.computeChildrenNeededHeight=a.computeChildrenNeededHeight_max},destruct:function(){this._disposeFields("_widget")}});
qx.Class.define("qx.lang.Number",{statics:{isInRange:function(b,a,c){return b>=a&&b<=c},isBetweenRange:function(b,a,c){return b>a&&b<c},limit:function(b,a,c){if(typeof c===$[80]&&b>c){return c}else{if(typeof a===$[80]&&b<a){return a}else{return b}}}}});
qx.Class.define("qx.ui.layout.impl.CanvasLayoutImpl",{extend:qx.ui.layout.impl.LayoutImpl,construct:function(a){arguments.callee.base.call(this,a)},members:{computeChildBoxWidth:function(b){var a=null;if(b._computedLeftTypeNull||b._computedRightTypeNull){a=b.getWidthValue()}else{if(b._hasParent){a=this.getWidget().getInnerWidth()-b.getLeftValue()-b.getRightValue()}}return a||b._computeBoxWidthFallback()},computeChildBoxHeight:function(b){var a=null;if(b._computedTopTypeNull||b._computedBottomTypeNull){a=b.getHeightValue()}else{if(b._hasParent){a=this.getWidget().getInnerHeight()-b.getTopValue()-b.getBottomValue()}}return a||b._computeBoxHeightFallback()},computeChildNeededWidth:function(f){var e=f._computedLeftTypePercent?null:f.getLeftValue();var b=f._computedRightTypePercent?null:f.getRightValue();var d=f._computedMinWidthTypePercent?null:f.getMinWidthValue();var c=f._computedMaxWidthTypePercent?null:f.getMaxWidthValue();if(e!=null&&b!=null){var a=f.getPreferredBoxWidth()||0}else{var a=(f._computedWidthTypePercent?null:f.getWidthValue())||f.getPreferredBoxWidth()||0}return qx.lang.Number.limit(a,d,c)+e+b+f.getMarginLeft()+f.getMarginRight()},computeChildNeededHeight:function(f){var b=f._computedTopTypePercent?null:f.getTopValue();var c=f._computedBottomTypePercent?null:f.getBottomValue();var e=f._computedMinHeightTypePercent?null:f.getMinHeightValue();var d=f._computedMaxHeightTypePercent?null:f.getMaxHeightValue();if(b!=null&&c!=null){var a=f.getPreferredBoxHeight()||0}else{var a=(f._computedHeightTypePercent?null:f.getHeightValue())||f.getPreferredBoxHeight()||0}return qx.lang.Number.limit(a,e,d)+b+c+f.getMarginTop()+f.getMarginBottom()},updateChildOnInnerWidthChange:function(c){var a=c._recomputePercentX();var b=c._recomputeRangeX();return a||b},updateChildOnInnerHeightChange:function(c){var a=c._recomputePercentY();var b=c._recomputeRangeY();return a||b},layoutChild:function(b,a){this.layoutChild_sizeX_essentialWrapper(b,a);this.layoutChild_sizeY_essentialWrapper(b,a);this.layoutChild_sizeLimitX(b,a);this.layoutChild_sizeLimitY(b,a);this.layoutChild_locationX(b,a);this.layoutChild_locationY(b,a);this.layoutChild_marginX(b,a);this.layoutChild_marginY(b,a)},layoutChild_sizeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.width||a.minWidth||a.maxWidth||a.left||a.right){if(b._computedMinWidthTypeNull&&b._computedWidthTypeNull&&b._computedMaxWidthTypeNull&&!(!b._computedLeftTypeNull&&!b._computedRightTypeNull)){b._resetRuntimeWidth()}else{b._renderRuntimeWidth(b.getBoxWidth())}}},"default":function(b,a){if(a.initial||a.width){b._computedWidthTypeNull?b._resetRuntimeWidth():b._renderRuntimeWidth(b.getWidthValue())}}}),layoutChild_sizeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.height||a.minHeight||a.maxHeight||a.top||a.bottom){if(b._computedMinHeightTypeNull&&b._computedHeightTypeNull&&b._computedMaxHeightTypeNull&&!(!b._computedTopTypeNull&&!b._computedBottomTypeNull)){b._resetRuntimeHeight()}else{b._renderRuntimeHeight(b.getBoxHeight())}}},"default":function(b,a){if(a.initial||a.height){b._computedHeightTypeNull?b._resetRuntimeHeight():b._renderRuntimeHeight(b.getHeightValue())}}}),layoutChild_locationX:function(c,a){var b=this.getWidget();if(a.initial||a.left||a.parentPaddingLeft){c._computedLeftTypeNull?c._computedRightTypeNull&&b.getPaddingLeft()>0?c._renderRuntimeLeft(b.getPaddingLeft()):c._resetRuntimeLeft():c._renderRuntimeLeft(c.getLeftValue()+b.getPaddingLeft())}if(a.initial||a.right||a.parentPaddingRight){c._computedRightTypeNull?c._computedLeftTypeNull&&b.getPaddingRight()>0?c._renderRuntimeRight(b.getPaddingRight()):c._resetRuntimeRight():c._renderRuntimeRight(c.getRightValue()+b.getPaddingRight())}},layoutChild_locationY:function(c,a){var b=this.getWidget();if(a.initial||a.top||a.parentPaddingTop){c._computedTopTypeNull?c._computedBottomTypeNull&&b.getPaddingTop()>0?c._renderRuntimeTop(b.getPaddingTop()):c._resetRuntimeTop():c._renderRuntimeTop(c.getTopValue()+b.getPaddingTop())}if(a.initial||a.bottom||a.parentPaddingBottom){c._computedBottomTypeNull?c._computedTopTypeNull&&b.getPaddingBottom()>0?c._renderRuntimeBottom(b.getPaddingBottom()):c._resetRuntimeBottom():c._renderRuntimeBottom(c.getBottomValue()+b.getPaddingBottom())}}}});
-qx.Class.define("qx.ui.core.ClientDocument",{type:$[30],extend:qx.ui.layout.CanvasLayout,construct:function(){arguments.callee.base.call(this);this._window=window;this._document=window.document;this.setElement(this._document.body);this._document.body.style.position="";if(qx.core.Variant.isSet($[0],$[19])&&(org.eclipse.rwt.Client.getMajor()<7)){try{document.execCommand("BackgroundImageCache",false,true)}catch(a){}}this._cachedInnerWidth=this._document.body.offsetWidth;this._cachedInnerHeight=this._document.body.offsetHeight;this.addEventListener($[268],this._onwindowresize);this._modalWidgets=[];this._modalNativeWindow=null;this.activateFocusRoot();this.initHideFocus();this.initSelectable();org.eclipse.rwt.EventHandler.setFocusRoot(this)},events:{focus:$[9],windowblur:$[9],windowfocus:$[9],windowresize:$[9]},properties:{appearance:{refine:true,init:"client-document"},enableElementFocus:{refine:true,init:false},enabled:{refine:true,init:true},selectable:{refine:true,init:false},hideFocus:{refine:true,init:true},globalCursor:{check:$[27],nullable:true,themeable:true,apply:"_applyGlobalCursor",event:"changeGlobalCursor"}},members:{_applyParent:qx.lang.Function.returnTrue,getTopLevelWidget:qx.lang.Function.returnThis,getWindowElement:function(){return this._window},getDocumentElement:function(){return this._document},getParent:qx.lang.Function.returnNull,getToolTip:qx.lang.Function.returnNull,isMaterialized:qx.lang.Function.returnTrue,isSeeable:qx.lang.Function.returnTrue,_isDisplayable:true,_hasParent:false,_initialLayoutDone:true,_getBlocker:function(){if(!this._blocker){this._blocker=new qx.ui.core.ClientDocumentBlocker;this._blocker.addEventListener($[2],this.blockHelper,this);this._blocker.addEventListener($[17],this.blockHelper,this);this.add(this._blocker)}return this._blocker},blockHelper:function(a){if(this._modalNativeWindow){if(!this._modalNativeWindow.isClosed()){this._modalNativeWindow.focus()}else{this.release(this._modalNativeWindow)}}},block:function(a){this._getBlocker().show();if(qx.Class.isDefined($[426])&&a instanceof qx.ui.window.Window){this._modalWidgets.push(a);var b=a.getZIndex();this._getBlocker().setZIndex(b);a.setZIndex(b+1)}else{if(qx.Class.isDefined($[408])&&a instanceof qx.client.NativeWindow){this._modalNativeWindow=a;this._getBlocker().setZIndex(10000000)}}},release:function(b){if(b){if(qx.Class.isDefined($[408])&&b instanceof qx.client.NativeWindow){this._modalNativeWindow=null}else{qx.lang.Array.remove(this._modalWidgets,b)}}var a=this._modalWidgets.length;if(a==0){this._getBlocker().hide()}else{var c=this._modalWidgets[a-1];var d=c.getZIndex();this._getBlocker().setZIndex(d);c.setZIndex(d+1)}},createStyleElement:function(a){return qx.html.StyleSheet.createElement(a)},addCssRule:function(a,c,b){return qx.html.StyleSheet.addRule(a,c,b)},removeCssRule:function(a,b){return qx.html.StyleSheet.removeRule(a,b)},removeAllCssRules:function(a){return qx.html.StyleSheet.removeAllRules(a)},_applyGlobalCursor:qx.core.Variant.select($[0],{mshtml:function(g,b){if(g==$[148]){g="hand"}if(b==$[148]){b="hand"}var e,h;var f=this._cursorElements;if(f){for(var c=0,a=f.length;c<a;c++){e=f[c];if(e.style.cursor==b){e.style.cursor=e._oldCursor;e._oldCursor=null}}}var d=document.all;var f=this._cursorElements=[];if(g!=null&&g!=""&&g!="auto"){for(var c=0,a=d.length;c<a;c++){e=d[c];h=e.style.cursor;if(h!=null&&h!=""&&h!="auto"){e._oldCursor=h;e.style.cursor=g;f.push(e)}}document.body.style.cursor=g}else{document.body.style.cursor=""}},"default":function(b,a){if(!this._globalCursorStyleSheet){this._globalCursorStyleSheet=this.createStyleElement()}this.removeCssRule(this._globalCursorStyleSheet,"*");if(b){this.addCssRule(this._globalCursorStyleSheet,"*","cursor:"+b+" !important")}}}),_onwindowresize:function(a){if(qx.Class.isDefined($[218])){qx.ui.popup.PopupManager.getInstance().update()}this._recomputeInnerWidth();this._recomputeInnerHeight();qx.ui.core.Widget.flushGlobalQueues()},_computeInnerWidth:function(){return this._document.body.offsetWidth},_computeInnerHeight:function(){return this._document.body.offsetHeight}},settings:{"qx.enableApplicationLayout":true,"qx.boxModelCorrection":true},defer:function(){if(qx.core.Setting.get("qx.boxModelCorrection")){var b=org.eclipse.rwt.Client.getEngineBoxSizingAttributes();var a=b.join($[461])+$[461];var c=b.join($[422])+$[422];qx.html.StyleSheet.createElement("html,body { margin:0;border:0;padding:0; } html { border:0 none; } *{"+a+"} img{"+c+"}")}if(qx.core.Setting.get("qx.enableApplicationLayout")){qx.html.StyleSheet.createElement("html,body{width:100%;height:100%;overflow:hidden;}")}},destruct:function(){this._disposeObjects("_blocker");this._disposeFields("_window","_document","_modalWidgets","_modalNativeWindow","_globalCursorStyleSheet")}});
-qx.Class.define("qx.ui.basic.Terminator",{extend:qx.ui.core.Widget,members:{renderPadding:function(a){if(a.paddingLeft){this._renderRuntimePaddingLeft(this.getPaddingLeft())}if(a.paddingRight){this._renderRuntimePaddingRight(this.getPaddingRight())}if(a.paddingTop){this._renderRuntimePaddingTop(this.getPaddingTop())}if(a.paddingBottom){this._renderRuntimePaddingBottom(this.getPaddingBottom())}},_renderContent:function(){if(this._computedWidthTypePixel){this._cachedPreferredInnerWidth=null}else{this._invalidatePreferredInnerWidth()}if(this._computedHeightTypePixel){this._cachedPreferredInnerHeight=null}else{this._invalidatePreferredInnerHeight()}if(this._initialLayoutDone){this.addToJobQueue("load")}},_layoutPost:function(a){if(a.initial||a.load||a.width||a.height){this._postApply()}},_postApply:qx.lang.Function.returnTrue,_computeBoxWidthFallback:function(){return this.getPreferredBoxWidth()},_computeBoxHeightFallback:function(){return this.getPreferredBoxHeight()},_computePreferredInnerWidth:qx.lang.Function.returnZero,_computePreferredInnerHeight:qx.lang.Function.returnZero,_isWidthEssential:function(){if(!this._computedLeftTypeNull&&!this._computedRightTypeNull){return true}if(!this._computedWidthTypeNull&&!this._computedWidthTypeAuto){return true}if(!this._computedMinWidthTypeNull&&!this._computedMinWidthTypeAuto){return true}if(!this._computedMaxWidthTypeNull&&!this._computedMaxWidthTypeAuto){return true}if(this._borderElement){return true}return false},_isHeightEssential:function(){if(!this._computedTopTypeNull&&!this._computedBottomTypeNull){return true}if(!this._computedHeightTypeNull&&!this._computedHeightTypeAuto){return true}if(!this._computedMinHeightTypeNull&&!this._computedMinHeightTypeAuto){return true}if(!this._computedMaxHeightTypeNull&&!this._computedMaxHeightTypeAuto){return true}if(this._borderElement){return true}return false}}});
-qx.Class.define("qx.ui.core.ClientDocumentBlocker",{extend:qx.ui.basic.Terminator,construct:function(){arguments.callee.base.call(this);this.initTop();this.initLeft();this.initWidth();this.initHeight();this.initZIndex()},properties:{appearance:{refine:true,init:$[507]},zIndex:{refine:true,init:100000000},top:{refine:true,init:0},left:{refine:true,init:0},width:{refine:true,init:"100%"},height:{refine:true,init:"100%"},display:{refine:true,init:false}},members:{getFocusRoot:function(){return null}}});
-qx.Class.define("qx.theme.manager.Appearance",{type:$[30],extend:qx.util.manager.Object,construct:function(){arguments.callee.base.call(this);this.__cache={};this.__stateMap={};this.__stateMapLength=1},properties:{appearanceTheme:{check:$[110],nullable:true,apply:"_applyAppearanceTheme",event:"changeAppearanceTheme"}},members:{_applyAppearanceTheme:function(b,a){this._currentTheme=b;this._oldTheme=a;if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncAppearanceTheme()}},syncAppearanceTheme:function(){if(!this._currentTheme&&!this._oldTheme){return}if(this._currentTheme){this.__cache[this._currentTheme.name]={}}var a=qx.core.Init.getInstance().getApplication();if(a&&a.getUiReady()){qx.ui.core.ClientDocument.getInstance()._recursiveAppearanceThemeUpdate(this._currentTheme,this._oldTheme)}if(this._oldTheme){delete this.__cache[this._oldTheme.name]}delete this._currentTheme;delete this._oldTheme},styleFrom:function(c,a){var b=this.getAppearanceTheme();if(!b){return}return this.styleFromTheme(b,c,a)},styleFromTheme:function(i,e,m){var k=i.appearances[e];if(!k){if(qx.core.Variant.isSet($[7],"on")){throw new Error("Missing appearance entry: "+e)}return null}if(!k.style){if(k.include){return this.styleFromTheme(i,k.include,m)}else{return null}}var b=this.__stateMap;var f=[e];for(var c in m){if(!b[c]){b[c]=this.__stateMapLength++}f[b[c]]=true}var h=f.join();var a=this.__cache[i.name];if(a&&a[h]!==undefined){return a[h]}var n;if(k.include||k.base){var j=k.style(m);var g;if(k.include){g=this.styleFromTheme(i,k.include,m)}n={};if(k.base){var d=this.styleFromTheme(k.base,e,m);if(k.include){for(var l in d){if(g[l]===undefined&&j[l]===undefined){n[l]=d[l]}}}else{for(var l in d){if(j[l]===undefined){n[l]=d[l]}}}}if(k.include){for(var l in g){if(j[l]===undefined){n[l]=g[l]}}}for(var l in j){n[l]=j[l]}}else{n=k.style(m)}if(a){a[h]=n||null}return n||null}},destruct:function(){this._disposeFields("__cache","__stateMap")}});
-qx.Class.define("qx.theme.manager.Meta",{type:$[30],extend:qx.core.Target,properties:{theme:{check:$[110],nullable:true,apply:"_applyTheme",event:"changeTheme"},autoSync:{check:$[3],init:true,apply:"_applyAutoSync"}},members:{_applyTheme:function(l,c){var f=null;var e=null;var b=null;var h=null;var k=null;var j=null;if(l){f=l.meta.color||null;e=l.meta.border||null;b=l.meta.font||null;h=l.meta.widget||null;k=l.meta.icon||null;j=l.meta.appearance||null}if(c){this.setAutoSync(false)}var a=qx.theme.manager.Color.getInstance();var i=qx.theme.manager.Border.getInstance();var g=qx.theme.manager.Font.getInstance();var m=qx.theme.manager.Icon.getInstance();var d=qx.theme.manager.Widget.getInstance();var n=qx.theme.manager.Appearance.getInstance();a.setColorTheme(f);i.setBorderTheme(e);g.setFontTheme(b);d.setWidgetTheme(h);m.setIconTheme(k);n.setAppearanceTheme(j);if(c){this.setAutoSync(true)}},_applyAutoSync:function(b,a){if(b){qx.theme.manager.Appearance.getInstance().syncAppearanceTheme();qx.theme.manager.Icon.getInstance().syncIconTheme();qx.theme.manager.Widget.getInstance().syncWidgetTheme();qx.theme.manager.Font.getInstance().syncFontTheme();qx.theme.manager.Border.getInstance().syncBorderTheme();qx.theme.manager.Color.getInstance().syncColorTheme()}},initialize:function(){var a=qx.core.Setting;var c,b;c=a.get("qx.theme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The meta theme to use is not available: "+c)}this.setTheme(b)}c=a.get("qx.colorTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The color theme to use is not available: "+c)}qx.theme.manager.Color.getInstance().setColorTheme(b)}c=a.get("qx.borderTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The border theme to use is not available: "+c)}qx.theme.manager.Border.getInstance().setBorderTheme(b)}c=a.get("qx.fontTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The font theme to use is not available: "+c)}qx.theme.manager.Font.getInstance().setFontTheme(b)}c=a.get("qx.widgetTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The widget theme to use is not available: "+c)}qx.theme.manager.Widget.getInstance().setWidgetTheme(b)}c=a.get("qx.iconTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The icon theme to use is not available: "+c)}qx.theme.manager.Icon.getInstance().setIconTheme(b)}c=a.get("qx.appearanceTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The appearance theme to use is not available: "+c)}qx.theme.manager.Appearance.getInstance().setAppearanceTheme(b)}},__queryThemes:function(b){var c=qx.Theme.getAll();var e;var d=[];for(var a in c){e=c[a];if(e[b]){d.push(e)}}return d},getMetaThemes:function(){return this.__queryThemes("meta")},getColorThemes:function(){return this.__queryThemes("colors")},getBorderThemes:function(){return this.__queryThemes("borders")},getFontThemes:function(){return this.__queryThemes("fonts")},getWidgetThemes:function(){return this.__queryThemes("widgets")},getIconThemes:function(){return this.__queryThemes("icons")},getAppearanceThemes:function(){return this.__queryThemes($[369])}},settings:{"qx.theme":"qx.theme.ClassicRoyale","qx.colorTheme":null,"qx.borderTheme":null,"qx.fontTheme":null,"qx.widgetTheme":null,"qx.appearanceTheme":null,"qx.iconTheme":null}});
+qx.Class.define("qx.ui.core.ClientDocument",{type:$[29],extend:qx.ui.layout.CanvasLayout,construct:function(){arguments.callee.base.call(this);this._window=window;this._document=window.document;this.setElement(this._document.body);this._document.body.style.position="";if(qx.core.Variant.isSet($[0],$[20])&&(org.eclipse.rwt.Client.getMajor()<7)){try{document.execCommand("BackgroundImageCache",false,true)}catch(a){}}this._cachedInnerWidth=this._document.body.offsetWidth;this._cachedInnerHeight=this._document.body.offsetHeight;this.addEventListener($[267],this._onwindowresize);this._modalWidgets=[];this._modalNativeWindow=null;this.activateFocusRoot();this.initHideFocus();this.initSelectable();org.eclipse.rwt.EventHandler.setFocusRoot(this)},events:{focus:$[10],windowblur:$[10],windowfocus:$[10],windowresize:$[10]},properties:{appearance:{refine:true,init:"client-document"},enableElementFocus:{refine:true,init:false},enabled:{refine:true,init:true},selectable:{refine:true,init:false},hideFocus:{refine:true,init:true},globalCursor:{check:$[26],nullable:true,themeable:true,apply:"_applyGlobalCursor",event:"changeGlobalCursor"}},members:{_applyParent:qx.lang.Function.returnTrue,getTopLevelWidget:qx.lang.Function.returnThis,getWindowElement:function(){return this._window},getDocumentElement:function(){return this._document},getParent:qx.lang.Function.returnNull,getToolTip:qx.lang.Function.returnNull,isSeeable:qx.lang.Function.returnTrue,_isDisplayable:true,_hasParent:false,_initialLayoutDone:true,_getBlocker:function(){if(!this._blocker){this._blocker=new qx.ui.core.ClientDocumentBlocker;this._blocker.addEventListener($[2],this.blockHelper,this);this._blocker.addEventListener($[17],this.blockHelper,this);this.add(this._blocker)}return this._blocker},blockHelper:function(a){if(this._modalNativeWindow){if(!this._modalNativeWindow.isClosed()){this._modalNativeWindow.focus()}else{this.release(this._modalNativeWindow)}}},block:function(a){this._getBlocker().show();if(qx.Class.isDefined($[425])&&a instanceof qx.ui.window.Window){this._modalWidgets.push(a);var b=a.getZIndex();this._getBlocker().setZIndex(b);a.setZIndex(b+1)}else{if(qx.Class.isDefined($[407])&&a instanceof qx.client.NativeWindow){this._modalNativeWindow=a;this._getBlocker().setZIndex(10000000)}}},release:function(b){if(b){if(qx.Class.isDefined($[407])&&b instanceof qx.client.NativeWindow){this._modalNativeWindow=null}else{qx.lang.Array.remove(this._modalWidgets,b)}}var a=this._modalWidgets.length;if(a==0){this._getBlocker().hide()}else{var c=this._modalWidgets[a-1];var d=c.getZIndex();this._getBlocker().setZIndex(d);c.setZIndex(d+1)}},createStyleElement:function(a){return qx.html.StyleSheet.createElement(a)},addCssRule:function(a,c,b){return qx.html.StyleSheet.addRule(a,c,b)},removeCssRule:function(a,b){return qx.html.StyleSheet.removeRule(a,b)},removeAllCssRules:function(a){return qx.html.StyleSheet.removeAllRules(a)},_applyGlobalCursor:qx.core.Variant.select($[0],{mshtml:function(g,b){if(g==$[146]){g="hand"}if(b==$[146]){b="hand"}var e,h;var f=this._cursorElements;if(f){for(var c=0,a=f.length;c<a;c++){e=f[c];if(e.style.cursor==b){e.style.cursor=e._oldCursor;e._oldCursor=null}}}var d=document.all;var f=this._cursorElements=[];if(g!=null&&g!=""&&g!="auto"){for(var c=0,a=d.length;c<a;c++){e=d[c];h=e.style.cursor;if(h!=null&&h!=""&&h!="auto"){e._oldCursor=h;e.style.cursor=g;f.push(e)}}document.body.style.cursor=g}else{document.body.style.cursor=""}},"default":function(b,a){if(!this._globalCursorStyleSheet){this._globalCursorStyleSheet=this.createStyleElement()}this.removeCssRule(this._globalCursorStyleSheet,"*");if(b){this.addCssRule(this._globalCursorStyleSheet,"*","cursor:"+b+" !important")}}}),_onwindowresize:function(a){if(qx.Class.isDefined($[218])){qx.ui.popup.PopupManager.getInstance().update()}this._recomputeInnerWidth();this._recomputeInnerHeight();qx.ui.core.Widget.flushGlobalQueues()},_computeInnerWidth:function(){return this._document.body.offsetWidth},_computeInnerHeight:function(){return this._document.body.offsetHeight}},settings:{"qx.enableApplicationLayout":true,"qx.boxModelCorrection":true},defer:function(){if(qx.core.Setting.get("qx.boxModelCorrection")){var b=org.eclipse.rwt.Client.getEngineBoxSizingAttributes();var a=b.join($[459])+$[459];var c=b.join($[421])+$[421];qx.html.StyleSheet.createElement("html,body { margin:0;border:0;padding:0; } html { border:0 none; } *{"+a+"} img{"+c+"}")}if(qx.core.Setting.get("qx.enableApplicationLayout")){qx.html.StyleSheet.createElement("html,body{width:100%;height:100%;overflow:hidden;}")}},destruct:function(){this._disposeObjects("_blocker");this._disposeFields("_window","_document","_modalWidgets","_modalNativeWindow","_globalCursorStyleSheet")}});
+qx.Class.define("qx.ui.basic.Terminator",{extend:qx.ui.core.Widget,members:{renderPadding:function(a){if(a.paddingLeft){this._renderRuntimePaddingLeft(this.getPaddingLeft())}if(a.paddingRight){this._renderRuntimePaddingRight(this.getPaddingRight())}if(a.paddingTop){this._renderRuntimePaddingTop(this.getPaddingTop())}if(a.paddingBottom){this._renderRuntimePaddingBottom(this.getPaddingBottom())}},_renderContent:function(){if(this._computedWidthTypePixel){this._cachedPreferredInnerWidth=null}else{this._invalidatePreferredInnerWidth()}if(this._computedHeightTypePixel){this._cachedPreferredInnerHeight=null}else{this._invalidatePreferredInnerHeight()}if(this._initialLayoutDone){this.addToJobQueue("load")}},_layoutPost:function(a){if(a.initial||a.load||a.width||a.height){this._postApply()}this.createDispatchDataEvent("flush",a)},_postApply:qx.lang.Function.returnTrue,_computeBoxWidthFallback:function(){return this.getPreferredBoxWidth()},_computeBoxHeightFallback:function(){return this.getPreferredBoxHeight()},_computePreferredInnerWidth:qx.lang.Function.returnZero,_computePreferredInnerHeight:qx.lang.Function.returnZero,_isWidthEssential:function(){if(!this._computedLeftTypeNull&&!this._computedRightTypeNull){return true}if(!this._computedWidthTypeNull&&!this._computedWidthTypeAuto){return true}if(!this._computedMinWidthTypeNull&&!this._computedMinWidthTypeAuto){return true}if(!this._computedMaxWidthTypeNull&&!this._computedMaxWidthTypeAuto){return true}if(this._borderElement){return true}return false},_isHeightEssential:function(){if(!this._computedTopTypeNull&&!this._computedBottomTypeNull){return true}if(!this._computedHeightTypeNull&&!this._computedHeightTypeAuto){return true}if(!this._computedMinHeightTypeNull&&!this._computedMinHeightTypeAuto){return true}if(!this._computedMaxHeightTypeNull&&!this._computedMaxHeightTypeAuto){return true}if(this._borderElement){return true}return false}}});
+qx.Class.define("qx.ui.core.ClientDocumentBlocker",{extend:qx.ui.basic.Terminator,construct:function(){arguments.callee.base.call(this);this.initTop();this.initLeft();this.initWidth();this.initHeight();this.initZIndex()},properties:{appearance:{refine:true,init:$[505]},zIndex:{refine:true,init:100000000},top:{refine:true,init:0},left:{refine:true,init:0},width:{refine:true,init:"100%"},height:{refine:true,init:"100%"},display:{refine:true,init:false}},members:{getFocusRoot:function(){return null}}});
+qx.Class.define("qx.theme.manager.Appearance",{type:$[29],extend:qx.util.manager.Object,construct:function(){arguments.callee.base.call(this);this.__cache={};this.__stateMap={};this.__stateMapLength=1},properties:{appearanceTheme:{check:$[110],nullable:true,apply:"_applyAppearanceTheme",event:"changeAppearanceTheme"}},members:{_applyAppearanceTheme:function(b,a){this._currentTheme=b;this._oldTheme=a;if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncAppearanceTheme()}},syncAppearanceTheme:function(){if(!this._currentTheme&&!this._oldTheme){return}if(this._currentTheme){this.__cache[this._currentTheme.name]={}}var a=qx.core.Init.getInstance().getApplication();if(a&&a.getUiReady()){qx.ui.core.ClientDocument.getInstance()._recursiveAppearanceThemeUpdate(this._currentTheme,this._oldTheme)}if(this._oldTheme){delete this.__cache[this._oldTheme.name]}delete this._currentTheme;delete this._oldTheme},styleFrom:function(c,a){var b=this.getAppearanceTheme();if(!b){return}return this.styleFromTheme(b,c,a)},styleFromTheme:function(i,e,m){var k=i.appearances[e];if(!k){if(qx.core.Variant.isSet($[7],"on")){throw new Error("Missing appearance entry: "+e)}return null}if(!k.style){if(k.include){return this.styleFromTheme(i,k.include,m)}else{return null}}var b=this.__stateMap;var f=[e];for(var c in m){if(!b[c]){b[c]=this.__stateMapLength++}f[b[c]]=true}var h=f.join();var a=this.__cache[i.name];if(a&&a[h]!==undefined){return a[h]}var n;if(k.include||k.base){var j=k.style(m);var g;if(k.include){g=this.styleFromTheme(i,k.include,m)}n={};if(k.base){var d=this.styleFromTheme(k.base,e,m);if(k.include){for(var l in d){if(g[l]===undefined&&j[l]===undefined){n[l]=d[l]}}}else{for(var l in d){if(j[l]===undefined){n[l]=d[l]}}}}if(k.include){for(var l in g){if(j[l]===undefined){n[l]=g[l]}}}for(var l in j){n[l]=j[l]}}else{n=k.style(m)}if(a){a[h]=n||null}return n||null}},destruct:function(){this._disposeFields("__cache","__stateMap")}});
+qx.Class.define("qx.theme.manager.Meta",{type:$[29],extend:qx.core.Target,properties:{theme:{check:$[110],nullable:true,apply:"_applyTheme",event:"changeTheme"},autoSync:{check:$[3],init:true,apply:"_applyAutoSync"}},members:{_applyTheme:function(l,c){var f=null;var e=null;var b=null;var h=null;var k=null;var j=null;if(l){f=l.meta.color||null;e=l.meta.border||null;b=l.meta.font||null;h=l.meta.widget||null;k=l.meta.icon||null;j=l.meta.appearance||null}if(c){this.setAutoSync(false)}var a=qx.theme.manager.Color.getInstance();var i=qx.theme.manager.Border.getInstance();var g=qx.theme.manager.Font.getInstance();var m=qx.theme.manager.Icon.getInstance();var d=qx.theme.manager.Widget.getInstance();var n=qx.theme.manager.Appearance.getInstance();a.setColorTheme(f);i.setBorderTheme(e);g.setFontTheme(b);d.setWidgetTheme(h);m.setIconTheme(k);n.setAppearanceTheme(j);if(c){this.setAutoSync(true)}},_applyAutoSync:function(b,a){if(b){qx.theme.manager.Appearance.getInstance().syncAppearanceTheme();qx.theme.manager.Icon.getInstance().syncIconTheme();qx.theme.manager.Widget.getInstance().syncWidgetTheme();qx.theme.manager.Font.getInstance().syncFontTheme();qx.theme.manager.Border.getInstance().syncBorderTheme();qx.theme.manager.Color.getInstance().syncColorTheme()}},initialize:function(){var a=qx.core.Setting;var c,b;c=a.get("qx.theme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The meta theme to use is not available: "+c)}this.setTheme(b)}c=a.get("qx.colorTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The color theme to use is not available: "+c)}qx.theme.manager.Color.getInstance().setColorTheme(b)}c=a.get("qx.borderTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The border theme to use is not available: "+c)}qx.theme.manager.Border.getInstance().setBorderTheme(b)}c=a.get("qx.fontTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The font theme to use is not available: "+c)}qx.theme.manager.Font.getInstance().setFontTheme(b)}c=a.get("qx.widgetTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The widget theme to use is not available: "+c)}qx.theme.manager.Widget.getInstance().setWidgetTheme(b)}c=a.get("qx.iconTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The icon theme to use is not available: "+c)}qx.theme.manager.Icon.getInstance().setIconTheme(b)}c=a.get("qx.appearanceTheme");if(c){b=qx.Theme.getByName(c);if(!b){throw new Error("The appearance theme to use is not available: "+c)}qx.theme.manager.Appearance.getInstance().setAppearanceTheme(b)}},__queryThemes:function(b){var c=qx.Theme.getAll();var e;var d=[];for(var a in c){e=c[a];if(e[b]){d.push(e)}}return d},getMetaThemes:function(){return this.__queryThemes("meta")},getColorThemes:function(){return this.__queryThemes("colors")},getBorderThemes:function(){return this.__queryThemes("borders")},getFontThemes:function(){return this.__queryThemes("fonts")},getWidgetThemes:function(){return this.__queryThemes("widgets")},getIconThemes:function(){return this.__queryThemes("icons")},getAppearanceThemes:function(){return this.__queryThemes($[367])}},settings:{"qx.theme":"qx.theme.ClassicRoyale","qx.colorTheme":null,"qx.borderTheme":null,"qx.fontTheme":null,"qx.widgetTheme":null,"qx.appearanceTheme":null,"qx.iconTheme":null}});
qx.Class.define("qx.util.manager.Value",{type:$[102],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this._registry={};this._dynamic={};this._connectedObjects={}},members:{disconnect:function(e){if(this.isDisposed()){return}var c=e.toHashCode();var b=this._connectedObjects;var d=this._registry;if(qx.core.Variant.isSet($[7],"on")){if(!e){throw new Error("Can not disconnect from an empty object")}if(!b[c]){throw new Error("disconnect: themed value "+this+" has no connection to object: "+e)}}var a=b[c];while(a.length){delete d[a.pop()]}delete b[c]},connect:function(f,e,d){if(qx.core.Variant.isSet($[7],"on")){if(!f){throw new Error("Can not connect to invalid callback: "+f)}if(!e){throw new Error("Can not connect to invalid object: "+e)}if(typeof e.hasConnectionTo!=$[45]){throw new Error("The Connected object '"+e+"' must include the mixin 'qx.util.manager.MConnectedObject'!")}if(d===undefined){throw new Error("Undefined values are not allowed for connect: "+f+"["+e+"]")}if(typeof d===$[121]){throw new Error("Boolean values are not allowed for connect: "+f+"["+e+"]")}}var b=e.toHashCode();var a="v"+b+"$"+qx.core.Object.toHashCode(f);var c=this._registry;if(d!==null&&this._preprocess){d=this._preprocess(d)}if(this.isDynamic(d)){c[a]={callback:f,object:e,value:d};if(!this._connectedObjects[b]){this._connectedObjects[b]=[]}this._connectedObjects[b].push(a);e.hasConnectionTo(this)}else{if(c[a]){delete c[a]}}f.call(e,this.resolveDynamic(d)||d)},resolveDynamic:function(a){return this._dynamic[a]},isDynamic:function(a){return this._dynamic[a]!==undefined},_updateObjects:function(){var b=this._registry;var c;for(var a in b){c=b[a];c.callback.call(c.object,this.resolveDynamic(c.value))}}},destruct:function(){this._disposeFields("_registry","_dynamic","_connectedObjects")}});
-qx.Class.define("qx.theme.manager.Color",{type:$[30],extend:qx.util.manager.Value,properties:{colorTheme:{check:$[110],nullable:true,apply:"_applyColorTheme",event:"changeColorTheme"}},members:{_applyColorTheme:function(f){var c=this._dynamic={};if(f){var e=f.colors;var a=qx.util.ColorUtil;var b;for(var d in e){b=e[d];if(typeof b===$[14]){if(!a.isCssString(b)){throw new Error($[287]+b)}}else{if(b instanceof Array){b=a.rgbToRgbString(b)}else{throw new Error($[287]+b)}}c[d]=b}}if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncColorTheme()}},syncColorTheme:function(){this._updateObjects()}}});
-qx.Class.define("qx.util.ColorUtil",{statics:{REGEXP:{hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,rgb:/^rgb\(\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*\)$/},SYSTEM:{activeborder:true,activecaption:true,appworkspace:true,background:true,buttonface:true,buttonhighlight:true,buttonshadow:true,buttontext:true,captiontext:true,graytext:true,highlight:true,highlighttext:true,inactiveborder:true,inactivecaption:true,inactivecaptiontext:true,infobackground:true,infotext:true,menu:true,menutext:true,scrollbar:true,threeddarkshadow:true,threedface:true,threedhighlight:true,threedlightshadow:true,threedshadow:true,window:true,windowframe:true,windowtext:true},NAMED:{black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:[-1,-1,-1],grey:[128,128,128],magenta:[255,0,255],orange:[255,165,0],brown:[165,42,42]},isNamedColor:function(a){return this.NAMED[a]!==undefined},isSystemColor:function(a){return this.SYSTEM[a]!==undefined},isThemedColor:function(a){return qx.theme.manager.Color.getInstance().isDynamic(a)},stringToRgb:function(a){if(this.isThemedColor(a)){var a=qx.theme.manager.Color.getInstance().resolveDynamic(a)}if(this.isNamedColor(a)){return this.NAMED[a]}else{if(this.isSystemColor(a)){throw new Error($[522]+a)}else{if(this.isRgbString(a)){return this.__rgbStringToRgb()}else{if(this.isHex3String(a)){return this.__hex3StringToRgb()}else{if(this.isHex6String(a)){return this.__hex6StringToRgb()}}}}}throw new Error($[287]+a)},cssStringToRgb:function(a){if(this.isNamedColor(a)){return this.NAMED[a]}else{if(this.isSystemColor(a)){throw new Error($[522]+a)}else{if(this.isRgbString(a)){return this.__rgbStringToRgb()}else{if(this.isHex3String(a)){return this.__hex3StringToRgb()}else{if(this.isHex6String(a)){return this.__hex6StringToRgb()}}}}}throw new Error($[287]+a)},stringToRgbString:function(a){return this.rgbToRgbString(this.stringToRgb(a))},rgbToRgbString:function(a){return"rgb("+a[0]+","+a[1]+","+a[2]+")"},rgbToHexString:function(a){return(qx.lang.String.pad(a[0].toString(16).toUpperCase(),2)+qx.lang.String.pad(a[1].toString(16).toUpperCase(),2)+qx.lang.String.pad(a[2].toString(16).toUpperCase(),2))},isValid:function(a){return this.isThemedColor(a)||this.isCssString(a)},isCssString:function(a){return this.isSystemColor(a)||this.isNamedColor(a)||this.isHex3String(a)||this.isHex6String(a)||this.isRgbString(a)},isHex3String:function(a){return this.REGEXP.hex3.test(a)},isHex6String:function(a){return this.REGEXP.hex6.test(a)},isRgbString:function(a){return this.REGEXP.rgb.test(a)},__rgbStringToRgb:function(){var c=parseInt(RegExp.$1);var b=parseInt(RegExp.$2);var a=parseInt(RegExp.$3);return[c,b,a]},__hex3StringToRgb:function(){var c=parseInt(RegExp.$1,16)*17;var b=parseInt(RegExp.$2,16)*17;var a=parseInt(RegExp.$3,16)*17;return[c,b,a]},__hex6StringToRgb:function(){var c=(parseInt(RegExp.$1,16)*16)+parseInt(RegExp.$2,16);var b=(parseInt(RegExp.$3,16)*16)+parseInt(RegExp.$4,16);var a=(parseInt(RegExp.$5,16)*16)+parseInt(RegExp.$6,16);return[c,b,a]},hex3StringToRgb:function(a){if(this.isHex3String(a)){return this.__hex3StringToRgb(a)}throw new Error("Invalid hex3 value: "+a)},hex6StringToRgb:function(a){if(this.isHex6String(a)){return this.__hex6StringToRgb(a)}throw new Error("Invalid hex6 value: "+a)},hexStringToRgb:function(a){if(this.isHex3String(a)){return this.__hex3StringToRgb(a)}if(this.isHex6String(a)){return this.__hex6StringToRgb(a)}throw new Error("Invalid hex value: "+a)}}});
-qx.Class.define("qx.theme.manager.Border",{type:$[30],extend:qx.util.manager.Value,properties:{borderTheme:{check:$[110],nullable:true,apply:"_applyBorderTheme",event:"changeBorderTheme"}},members:{resolveDynamic:function(a){return a instanceof qx.ui.core.Border?a:this._dynamic[a]},isDynamic:function(a){return a&&(a instanceof qx.ui.core.Border||this._dynamic[a]!==undefined)},syncBorderTheme:function(){this._updateObjects()},updateObjectsEdge:function(b,f){var d=this._registry;var a=this._dynamic;var e;for(var c in d){e=d[c];if(e.value===b||a[e.value]===b){e.callback.call(e.object,b,f)}}},_applyBorderTheme:function(e){var b=this._dynamic;for(var c in b){if(b[c].themed){b[c].dispose();delete b[c]}}if(e){var d=e.borders;var a=qx.ui.core.Border;for(var c in d){b[c]=(new a).set(d[c]);b[c].themed=true}}if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncBorderTheme()}}}});
-qx.Class.define("qx.ui.core.Border",{extend:qx.core.Object,include:qx.util.manager.MConnectedObject,construct:function(c,b,a){arguments.callee.base.call(this);if(c!==undefined){this.setWidth(c)}if(b!==undefined){this.setStyle(b)}if(a!==undefined){this.setColor(a)}},statics:{fromString:function(g){var d=new qx.ui.core.Border;var f=g.split(/\s+/);var c,b;for(var e=0,a=f.length;e<a;e++){c=f[e];switch(c){case $[176]:case"ridge":case $[130]:case $[122]:case $[18]:case $[217]:case $[229]:case $[214]:case"none":d.setStyle(c);break;default:b=parseInt(c);if(b===c||qx.lang.String.contains(c,"px")){d.setWidth(b)}else{d.setColor(c)}break}}return d},fromConfig:function(b){var a=new qx.ui.core.Border;a.set(b);return a},resetTop:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=a.MozBorderTopColors=""}},"default":function(b){var a=b._style;if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=""}a=b._innerStyle;if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=""}}}),resetRight:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=a.MozBorderRightColors=""}},"default":function(b){var a=b._style;if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=""}a=b._innerStyle;if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=""}}}),resetBottom:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=a.MozBorderBottomColors=""}},"default":function(b){var a=b._style;if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=""}a=b._innerStyle;if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=""}}}),resetLeft:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=a.MozBorderLeftColors=""}},"default":function(b){var a=b._style;if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=""}a=b._innerStyle;if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=""}}})},properties:{widthTop:{check:$[57],init:0,apply:"_applyWidthTop"},widthRight:{check:$[57],init:0,apply:"_applyWidthRight"},widthBottom:{check:$[57],init:0,apply:"_applyWidthBottom"},widthLeft:{check:$[57],init:0,apply:"_applyWidthLeft"},styleTop:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[176]],init:$[18],apply:"_applyStyleTop"},styleRight:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[176]],init:$[18],apply:"_applyStyleRight"},styleBottom:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[176]],init:$[18],apply:"_applyStyleBottom"},styleLeft:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[176]],init:$[18],apply:"_applyStyleLeft"},colorTop:{nullable:true,check:$[105],apply:"_applyColorTop"},colorRight:{nullable:true,check:$[105],apply:"_applyColorRight"},colorBottom:{nullable:true,check:$[105],apply:"_applyColorBottom"},colorLeft:{nullable:true,check:$[105],apply:"_applyColorLeft"},colorInnerTop:{nullable:true,check:$[105],apply:"_applyColorInnerTop"},colorInnerRight:{nullable:true,check:$[105],apply:"_applyColorInnerRight"},colorInnerBottom:{nullable:true,check:$[105],apply:"_applyColorInnerBottom"},colorInnerLeft:{nullable:true,check:$[105],apply:"_applyColorInnerLeft"},left:{group:["widthLeft","styleLeft","colorLeft"]},right:{group:["widthRight","styleRight","colorRight"]},top:{group:["widthTop","styleTop","colorTop"]},bottom:{group:[$[563],$[485],$[478]]},width:{group:["widthTop","widthRight",$[563],"widthLeft"],mode:$[132]},style:{group:["styleTop","styleRight",$[485],"styleLeft"],mode:$[132]},color:{group:["colorTop","colorRight",$[478],"colorLeft"],mode:$[132]},innerColor:{group:["colorInnerTop","colorInnerRight","colorInnerBottom","colorInnerLeft"],mode:$[132]}},members:{_applyWidthTop:function(b,a){this.__widthTop=b==null?"0px":b+"px";this.__computeComplexTop();this.__informManager("top")},_applyWidthRight:function(b,a){this.__widthRight=b==null?"0px":b+"px";this.__computeComplexRight();this.__informManager($[21])},_applyWidthBottom:function(b,a){this.__widthBottom=b==null?"0px":b+"px";this.__computeComplexBottom();this.__informManager($[35])},_applyWidthLeft:function(b,a){this.__widthLeft=b==null?"0px":b+"px";this.__computeComplexLeft();this.__informManager("left")},_applyColorTop:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorTop,this,b)},_applyColorRight:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorRight,this,b)},_applyColorBottom:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorBottom,this,b)},_applyColorLeft:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorLeft,this,b)},_applyColorInnerTop:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerTop,this,b)},_applyColorInnerRight:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerRight,this,b)},_applyColorInnerBottom:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerBottom,this,b)},_applyColorInnerLeft:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerLeft,this,b)},_applyStyleTop:function(){this.__informManager("top")},_applyStyleRight:function(){this.__informManager($[21])},_applyStyleBottom:function(){this.__informManager($[35])},_applyStyleLeft:function(){this.__informManager("left")},_changeColorTop:function(a){this.__colorTop=a;this.__computeComplexTop();this.__informManager("top")},_changeColorInnerTop:function(a){this.__colorInnerTop=a;this.__computeComplexTop();this.__informManager("top")},_changeColorRight:function(a){this.__colorRight=a;this.__computeComplexRight();this.__informManager($[21])},_changeColorInnerRight:function(a){this.__colorInnerRight=a;this.__computeComplexRight();this.__informManager($[21])},_changeColorBottom:function(a){this.__colorBottom=a;this.__computeComplexBottom();this.__informManager($[35])},_changeColorInnerBottom:function(a){this.__colorInnerBottom=a;this.__computeComplexBottom();this.__informManager($[35])},_changeColorLeft:function(a){this.__colorLeft=a;this.__computeComplexLeft();this.__informManager("left")},_changeColorInnerLeft:function(a){this.__colorInnerLeft=a;this.__computeComplexLeft();this.__informManager("left")},__computeComplexTop:function(){this.__complexTop=this.getWidthTop()===2&&this.__colorInnerTop!=null&&this.__colorTop!=this.__colorInnerTop},__computeComplexRight:function(){this.__complexRight=this.getWidthRight()===2&&this.__colorInnerRight!=null&&this.__colorRight!=this.__colorInnerRight},__computeComplexBottom:function(){this.__complexBottom=this.getWidthBottom()===2&&this.__colorInnerBottom!=null&&this.__colorBottom!=this.__colorInnerBottom},__computeComplexLeft:function(){this.__complexLeft=this.getWidthLeft()===2&&this.__colorInnerLeft!=null&&this.__colorLeft!=this.__colorInnerLeft},__informManager:function(a){qx.theme.manager.Border.getInstance().updateObjectsEdge(this,a)},renderTop:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderTopWidth=this.__widthTop||"0px";a.borderTopColor=this.__colorTop||"";if(this.__complexTop){a.borderTopStyle=$[18];a.MozBorderTopColors=this.__colorTop+" "+this.__colorInnerTop}else{a.borderTopStyle=this.getStyleTop()||"none";a.MozBorderTopColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexTop){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderTopWidth=a.borderTopWidth="1px";b.borderTopStyle=a.borderTopStyle=$[18];b.borderTopColor=this.__colorTop;a.borderTopColor=this.__colorInnerTop}else{b.borderTopWidth=this.__widthTop||"0px";b.borderTopStyle=this.getStyleTop()||"none";b.borderTopColor=this.__colorTop||"";if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=""}}}}),renderRight:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderRightWidth=this.__widthRight||"0px";a.borderRightColor=this.__colorRight||"";if(this.__complexRight){a.borderRightStyle=$[18];a.MozBorderRightColors=this.__colorRight+" "+this.__colorInnerRight}else{a.borderRightStyle=this.getStyleRight()||"none";a.MozBorderRightColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexRight){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderRightWidth=a.borderRightWidth="1px";b.borderRightStyle=a.borderRightStyle=$[18];b.borderRightColor=this.__colorRight;a.borderRightColor=this.__colorInnerRight}else{b.borderRightWidth=this.__widthRight||"0px";b.borderRightStyle=this.getStyleRight()||"none";b.borderRightColor=this.__colorRight||"";if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=""}}}}),renderBottom:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderBottomWidth=this.__widthBottom||"0px";a.borderBottomColor=this.__colorBottom||"";if(this.__complexBottom){a.borderBottomStyle=$[18];a.MozBorderBottomColors=this.__colorBottom+" "+this.__colorInnerBottom}else{a.borderBottomStyle=this.getStyleBottom()||"none";a.MozBorderBottomColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexBottom){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderBottomWidth=a.borderBottomWidth="1px";b.borderBottomStyle=a.borderBottomStyle=$[18];b.borderBottomColor=this.__colorBottom;a.borderBottomColor=this.__colorInnerBottom}else{b.borderBottomWidth=this.__widthBottom||"0px";b.borderBottomStyle=this.getStyleBottom()||"none";b.borderBottomColor=this.__colorBottom||"";if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=""}}}}),renderLeft:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderLeftWidth=this.__widthLeft||"0px";a.borderLeftColor=this.__colorLeft||"";if(this.__complexLeft){a.borderLeftStyle=$[18];a.MozBorderLeftColors=this.__colorLeft+" "+this.__colorInnerLeft}else{a.borderLeftStyle=this.getStyleLeft()||"none";a.MozBorderLeftColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexLeft){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderLeftWidth=a.borderLeftWidth="1px";b.borderLeftStyle=a.borderLeftStyle=$[18];b.borderLeftColor=this.__colorLeft;a.borderLeftColor=this.__colorInnerLeft}else{b.borderLeftWidth=this.__widthLeft||"0px";b.borderLeftStyle=this.getStyleLeft()||"none";b.borderLeftColor=this.__colorLeft||"";if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=""}}}})}});
-qx.Class.define("qx.theme.manager.Font",{type:$[30],extend:qx.util.manager.Value,properties:{fontTheme:{check:$[110],nullable:true,apply:"_applyFontTheme",event:"changeFontTheme"}},members:{resolveDynamic:function(a){return a instanceof qx.ui.core.Font?a:this._dynamic[a]},isDynamic:function(a){return a&&(a instanceof qx.ui.core.Font||this._dynamic[a]!==undefined)},syncFontTheme:function(){this._updateObjects()},_applyFontTheme:function(e){var b=this._dynamic;for(var c in b){if(b[c].themed){b[c].dispose();delete b[c]}}if(e){var d=e.fonts;var a=qx.ui.core.Font;for(var c in d){b[c]=(new a).set(d[c]);b[c].themed=true}}if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncFontTheme()}}}});
-qx.Class.define("qx.ui.core.Font",{extend:qx.core.Object,construct:function(a,b){arguments.callee.base.call(this);if(a!==undefined){this.setSize(a)}if(b!==undefined){this.setFamily(b)}},statics:{fromString:function(g){var b=new qx.ui.core.Font;var f=g.split(/\s+/);var d=[];var c;for(var e=0;e<f.length;e++){switch(c=f[e]){case"bold":b.setBold(true);break;case"italic":b.setItalic(true);break;case $[336]:b.setDecoration($[336]);break;default:var a=parseInt(c);if(a==c||qx.lang.String.contains(c,"px")){b.setSize(a)}else{d.push(c)}break}}if(d.length>0){b.setFamily(d)}return b},fromConfig:function(b){var a=new qx.ui.core.Font;a.set(b);return a},reset:function(a){a.removeStyleProperty("fontFamily");a.removeStyleProperty($[193]);a.removeStyleProperty("fontWeight");a.removeStyleProperty("fontStyle");a.removeStyleProperty($[527])},resetElement:function(a){var b=a.style;b.fontFamily="";b.fontSize="";b.fontWeight="";b.fontStyle="";b.textDecoration=""},resetStyle:function(a){a.fontFamily="";a.fontSize="";a.fontWeight="";a.fontStyle="";a.textDecoration=""}},properties:{size:{check:$[22],nullable:true,apply:"_applySize"},family:{check:"Array",nullable:true,apply:"_applyFamily"},bold:{check:$[3],nullable:true,apply:"_applyBold"},italic:{check:$[3],nullable:true,apply:"_applyItalic"},decoration:{check:[$[336],"line-through","overline"],nullable:true,apply:"_applyDecoration"}},members:{__size:null,__family:null,__bold:null,__italic:null,__decoration:null,_applySize:function(b,a){this.__size=b===null?null:b+"px"},_applyFamily:function(e,b){var d="";for(var c=0,a=e.length;c<a;c++){if(e[c].indexOf(" ")>0){d+='"'+e[c]+'"'}else{d+=e[c]}if(c!=a-1){d+=","}}this.__family=d},_applyBold:function(b,a){this.__bold=b===null?null:b?"bold":$[131]},_applyItalic:function(b,a){this.__italic=b===null?null:b?"italic":$[131]},_applyDecoration:function(b,a){this.__decoration=b===null?null:b},render:function(a){a.setStyleProperty("fontFamily",this.__family);a.setStyleProperty($[193],this.__size);a.setStyleProperty("fontWeight",this.__bold);a.setStyleProperty("fontStyle",this.__italic);a.setStyleProperty($[527],this.__decoration)},renderStyle:function(a){a.fontFamily=this.__family||"";a.fontSize=this.__size||"";a.fontWeight=this.__bold||"";a.fontStyle=this.__italic||"";a.textDecoration=this.__decoration||""},renderElement:function(a){var b=a.style;b.fontFamily=this.__family||"";b.fontSize=this.__size||"";b.fontWeight=this.__bold||"";b.fontStyle=this.__italic||"";b.textDecoration=this.__decoration||""},generateStyle:function(){return(this.__family?"font-family:"+this.__family.replace(/\"/g,"'")+";":"")+(this.__size?"font-size:"+this.__size+";":"")+(this.__weight?"font-weight:"+this.__weight+";":"")+(this.__style?"font-style:"+this.__style+";":"")+(this.__decoration?"text-decoration:"+this.__decoration+";":"")}}});
-qx.Class.define("qx.theme.manager.Icon",{type:$[30],extend:qx.core.Target,properties:{iconTheme:{check:$[110],nullable:true,apply:"_applyIconTheme",event:"changeIconTheme"}},members:{_applyIconTheme:function(b,a){if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncIconTheme()}},syncIconTheme:function(){var b=this.getIconTheme();var a=qx.io.Alias.getInstance();b?a.add("icon",b.icons.uri):a.remove("icon")}}});
-qx.Class.define("qx.io.Alias",{type:$[30],extend:qx.util.manager.Value,construct:function(){arguments.callee.base.call(this);this._aliases={};this._addStatic()},members:{_addStatic:function(){this.add($[129],qx.core.Setting.isSet($[540])?qx.core.Setting.get($[540]):qx.core.Setting.get($[554])+"/static")},_preprocess:function(f){var d=this._dynamic;if(d[f]===false){return f}else{if(d[f]===undefined){if(f.indexOf("http://")===0||f.indexOf("https://")===0||f.indexOf("file://")===0){d[f]=false;return f}var e=f.substring(0,f.indexOf("/"));var c=this._aliases[e];if(c===undefined){if(qx.core.Variant.isSet($[0],$[19])){if(window.location.protocol==="https:"){var b=f.match(/^[\.\/]/);var a=f.match(/^\w/);if(b!=null||a!=null){if(a!=null&&b==null){f="./"+f}return this.__rewriteUrl(f)}}}return f}else{if(qx.core.Variant.isSet($[0],$[19])){if(window.location.protocol==="https:"){c=this.__rewriteUrl(c)}}d[f]=c+f.substring(e.length)}}}return f},__rewriteUrl:function(b){var a="";if(b.match(/^\/\//)!=null){a=window.location.protocol}else{if(b.match(/^\.\//)!=null&&qx.core.Setting.get($[520])){b=b.substring(1);a=document.URL.substring(0,document.URL.lastIndexOf("/"))}else{if(b.match(/^\//)){a=window.location.protocol+"//"+window.location.host}else{if(b.match(/^http/)!=null){}else{a=window.location.href.substring(0,window.location.href.lastIndexOf("/")+1)}}}}return a+b},add:function(c,f){this._aliases[c]=f;var a=this._dynamic;var d=this._registry;var e;var h={};for(var g in a){if(g.substring(0,g.indexOf("/"))===c){a[g]=f+g.substring(c.length);h[g]=true}}for(var b in d){e=d[b];if(h[e.value]){e.callback.call(e.object,a[e.value])}}},remove:function(a){delete this._aliases[a]},resolve:function(a){if(a!==null){a=this._preprocess(a)}return this._dynamic[a]||a}},destruct:function(){this._disposeFields("_aliases")}});
-qx.Class.define("qx.theme.manager.Widget",{type:$[30],extend:qx.core.Target,properties:{widgetTheme:{check:$[110],nullable:true,apply:"_applyWidgetTheme",event:"changeWidgetTheme"}},members:{_applyWidgetTheme:function(b,a){if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncWidgetTheme()}},syncWidgetTheme:function(){var b=this.getWidgetTheme();var a=qx.io.Alias.getInstance();b?a.add("widget",b.widgets.uri):a.remove("widget")}}});
-qx.Class.define($[479],{extend:qx.core.Target,construct:function(a){arguments.callee.base.call(this);if(a!=null){this._attachedWidget=a}},statics:{mouseFocus:false},members:{getAttachedWidget:function(){return this._attachedWidget},_onkeyevent:function(a,d){if(d.getKeyIdentifier()!="Tab"){return}d.stopPropagation();d.preventDefault();qx.event.handler.FocusHandler.mouseFocus=false;var c=this.getAttachedWidget().getFocusedChild();if(!d.isShiftPressed()){var b=c?this.getWidgetAfter(a,c):this.getFirstWidget(a)}else{var b=c?this.getWidgetBefore(a,c):this.getLastWidget(a)}if(b){b.setFocused(true);b._ontabfocus()}},compareTabOrder:function(f,d){if(f==d){return 0}var h=f.getTabIndex();var g=d.getTabIndex();if(h!=g){return h-g}var j=qx.bom.element.Location.getTop(f.getElement());var i=qx.bom.element.Location.getTop(d.getElement());if(j!=i){return j-i}var b=qx.bom.element.Location.getLeft(f.getElement());var a=qx.bom.element.Location.getLeft(d.getElement());if(b!=a){return b-a}var e=f.getZIndex();var c=d.getZIndex();if(e!=c){return e-c}return 0},getFirstWidget:function(a){return this._getFirst(a,null)},getLastWidget:function(a){return this._getLast(a,null)},getWidgetAfter:function(b,a){if(b==a){return this.getFirstWidget(b)}if(a.getAnonymous()){a=a.getParent()}if(a==null){return[]}var c=[];this._getAllAfter(b,a,c);c.sort(this.compareTabOrder);return c.length>0?c[0]:this.getFirstWidget(b)},getWidgetBefore:function(c,b){if(c==b){return this.getLastWidget(c)}if(b.getAnonymous()){b=b.getParent()}if(b==null){return[]}var d=[];this._getAllBefore(c,b,d);d.sort(this.compareTabOrder);var a=d.length;return a>0?d[a-1]:this.getLastWidget(c)},_getAllAfter:function(e,f,b){var d=e.getChildren();var g;var a=d.length||0;for(var c=0;c<a;c++){g=d[c];if(g.isDisposed()||!(g instanceof qx.ui.core.Parent)&&!(g instanceof qx.ui.basic.Terminator)){continue}if(g.isFocusable()&&g.getTabIndex()>0&&this.compareTabOrder(f,g)<0){b.push(d[c])}if(!g.isFocusRoot()&&g instanceof qx.ui.core.Parent){this._getAllAfter(g,f,b)}}},_getAllBefore:function(e,f,b){var d=e.getChildren();var g;var a=d.length;for(var c=0;c<a;c++){g=d[c];if(!(g instanceof qx.ui.core.Parent)&&!(g instanceof qx.ui.basic.Terminator)){continue}if(g.isFocusable()&&g.getTabIndex()>0&&this.compareTabOrder(f,g)>0){b.push(g)}if(!g.isFocusRoot()&&g instanceof qx.ui.core.Parent){this._getAllBefore(g,f,b)}}},_getFirst:function(d,f){var c=d.getChildren();var e;var a=c.length;for(var b=0;b<a;b++){e=c[b];if(!(e instanceof qx.ui.core.Parent)&&!(e instanceof qx.ui.basic.Terminator)){continue}if(e.isFocusable()&&e.getTabIndex()>0){if(f==null||this.compareTabOrder(e,f)<0){f=e}}if(!e.isFocusRoot()&&e instanceof qx.ui.core.Parent){f=this._getFirst(e,f)}}return f},_getLast:function(e,b){var d=e.getChildren();var f;var a=d.length;for(var c=0;c<a;c++){f=d[c];if(!(f instanceof qx.ui.core.Parent)&&!(f instanceof qx.ui.basic.Terminator)){continue}if(f.isFocusable()&&f.getTabIndex()>0){if(b==null||this.compareTabOrder(f,b)>0){b=f}}if(!f.isFocusRoot()&&f instanceof qx.ui.core.Parent){b=this._getLast(f,b)}}return b}},destruct:function(){this._disposeFields("_attachedWidget")}});
-qx.Class.define("qx.bom.element.Location",{statics:{__style:function(b,a){return qx.bom.element.Style.get(b,a,qx.bom.element.Style.COMPUTED_MODE,false)},__num:function(b,a){return parseInt(qx.bom.element.Style.get(b,a,qx.bom.element.Style.COMPUTED_MODE,false),10)||0},__computeScroll:function(b){var e=0,d=0;if(b.getBoundingClientRect){var c=qx.dom.Node.getWindow(b);if(!org.eclipse.rwt.Client.isMobileSafari()){e-=qx.bom.Viewport.getScrollLeft(c);d-=qx.bom.Viewport.getScrollTop(c)}}else{var a=qx.dom.Node.getDocument(b).body;b=b.parentNode;while(b&&b!=a){e+=b.scrollLeft;d+=b.scrollTop;b=b.parentNode}}return{left:e,top:d}},__computeBody:qx.core.Variant.select($[0],{mshtml:function(b){var e=qx.dom.Node.getDocument(b);var a=e.body;var d=a.offsetLeft;var c=a.offsetTop;d-=this.__num(a,$[86]);c-=this.__num(a,$[94]);if(e.compatMode===$[114]){d+=this.__num(a,$[207]);c+=this.__num(a,$[206])}return{left:d,top:c}},webkit:function(b){var e=qx.dom.Node.getDocument(b);var a=e.body;var d=a.offsetLeft;var c=a.offsetTop;d+=this.__num(a,$[86]);c+=this.__num(a,$[94]);if(e.compatMode===$[114]){d+=this.__num(a,$[207]);c+=this.__num(a,$[206])}return{left:d,top:c}},gecko:function(b){var a=qx.dom.Node.getDocument(b).body;var d=a.offsetLeft;var c=a.offsetTop;if(qx.bom.element.BoxSizing.get(a)!==$[269]){d+=this.__num(a,$[86]);c+=this.__num(a,$[94]);if(!b.getBoundingClientRect){var e;while(b){if(this.__style(b,$[144])===$[32]||this.__style(b,$[144])===$[152]){e=true;break}b=b.offsetParent}if(!e){d+=this.__num(a,$[86]);c+=this.__num(a,$[94])}}}return{left:d,top:c}},"default":function(b){var a=qx.dom.Node.getDocument(b).body;var d=a.offsetLeft;var c=a.offsetTop;return{left:d,top:c}}}),__computeOffset:qx.core.Variant.select($[0],{"mshtml|webkit":function(c){var f=qx.dom.Node.getDocument(c);if(c.getBoundingClientRect){var b=c.getBoundingClientRect();var e=b.left;var d=b.top;if(f.compatMode===$[114]){e-=this.__num(c,$[86]);d-=this.__num(c,$[94])}}else{var e=c.offsetLeft;var d=c.offsetTop;c=c.offsetParent;var a=f.body;while(c&&c!=a){e+=c.offsetLeft;d+=c.offsetTop;e+=this.__num(c,$[86]);d+=this.__num(c,$[94]);c=c.offsetParent}}return{left:e,top:d}},gecko:function(d){if(d.getBoundingClientRect){var c=d.getBoundingClientRect();var f=Math.round(c.left);var e=Math.round(c.top)}else{var f=0;var e=0;var a=qx.dom.Node.getDocument(d).body;var b=qx.bom.element.BoxSizing;if(b.get(d)!==$[269]){f-=this.__num(d,$[86]);e-=this.__num(d,$[94])}while(d&&d!==a){f+=d.offsetLeft;e+=d.offsetTop;if(b.get(d)!==$[269]){f+=this.__num(d,$[86]);e+=this.__num(d,$[94])}if(d.parentNode&&this.__style(d.parentNode,$[72])!="visible"){f+=this.__num(d.parentNode,$[86]);e+=this.__num(d.parentNode,$[94])}d=d.offsetParent}}return{left:f,top:e}},"default":function(b){var d=0;var c=0;var a=qx.dom.Node.getDocument(b).body;while(b&&b!==a){d+=b.offsetLeft;c+=b.offsetTop;b=b.offsetParent}return{left:d,top:c}}}),get:function(d,f){var g=this.__computeBody(d);if(d.tagName=="BODY"){var c=g.left;var h=g.top}else{var e=this.__computeOffset(d);var i=this.__computeScroll(d);var c=e.left+g.left-i.left;var h=e.top+g.top-i.top}var j=c+d.offsetWidth;var b=h+d.offsetHeight;if(f){if(f==$[33]||f==$[25]){var a=qx.bom.element.Overflow.getX(d);if(a==$[25]||a=="auto"){j+=d.scrollWidth-d.offsetWidth+this.__num(d,$[86])+this.__num(d,$[375])}var k=qx.bom.element.Overflow.getY(d);if(k==$[25]||k=="auto"){b+=d.scrollHeight-d.offsetHeight+this.__num(d,$[94])+this.__num(d,$[373])}}switch(f){case $[33]:c+=this.__num(d,$[238]);h+=this.__num(d,$[208]);j-=this.__num(d,$[220]);b-=this.__num(d,$[234]);case $[25]:c-=d.scrollLeft;h-=d.scrollTop;j-=d.scrollLeft;b-=d.scrollTop;case $[6]:c+=this.__num(d,$[86]);h+=this.__num(d,$[94]);j-=this.__num(d,$[375]);b-=this.__num(d,$[373]);break;case $[96]:c-=this.__num(d,$[207]);h-=this.__num(d,$[206]);j+=this.__num(d,$[260]);b+=this.__num(d,$[312]);break}}return{left:c,top:h,right:j,bottom:b}},getLeft:function(a,b){return this.get(a,b).left},getTop:function(a,b){return this.get(a,b).top},getRight:function(a,b){return this.get(a,b).right},getBottom:function(a,b){return this.get(a,b).bottom},getRelative:function(b,a,f,d){var e=this.get(b,f);var c=this.get(a,d);return{left:e.left-c.left,top:e.top-c.top,right:e.right-c.right,bottom:e.bottom-c.bottom}}}});
-qx.Class.define("qx.bom.element.Style",{statics:{__hints:{names:{"float":qx.core.Variant.isSet($[0],$[19])?"styleFloat":"cssFloat",boxSizing:qx.core.Variant.isSet($[0],$[43])?"mozBoxSizing":$[279]},mshtmlPixel:{width:"pixelWidth",height:"pixelHeight",left:"pixelLeft",right:"pixelRight",top:"pixelTop",bottom:"pixelBottom"}},COMPUTED_MODE:1,CASCADED_MODE:2,LOCAL_MODE:3,get:qx.core.Variant.select($[0],{mshtml:function(f,a,g,i){var b=this.__hints;a=b.names[a]||a;switch(g){case this.LOCAL_MODE:return f.style[a]||"";case this.CASCADED_MODE:return f.currentStyle[a];default:var c=f.currentStyle[a];if(/^-?[\.\d]+(px)?$/i.test(c)){return c}var d=b.mshtmlPixel[a];if(d){var e=f.style[a];f.style[a]=c||0;var h=f.style[d]+"px";f.style[a]=e;return h}if(/^-?[\.\d]+(em|pt|%)?$/i.test(c)){throw new Error("Untranslated computed property value: "+a+". Only pixel values work well across different clients.")}return c}},"default":function(b,a,g,f){var d=this.__hints;a=d.names[a]||a;switch(g){case this.LOCAL_MODE:return b.style[a];case this.CASCADED_MODE:if(b.currentStyle){return b.currentStyle[a]}throw new Error("Cascaded styles are not supported in this browser!");default:var e=qx.dom.Node.getDocument(b);var c=e.defaultView.getComputedStyle(b,null);return c?c[a]:null}}})}});
-qx.Class.define("qx.bom.element.BoxSizing",{statics:{__styleProperties:qx.core.Variant.select($[0],{mshtml:null,webkit:[$[279],"KhtmlBoxSizing","WebkitBoxSizing"],gecko:["MozBoxSizing",$[279]],opera:[$[279]]}),__nativeBorderBox:{tags:{button:true,select:true},types:{search:true,button:true,submit:true,reset:true,checkbox:true,radio:true}},__usesNativeBorderBox:function(a){var b=this.__nativeBorderBox;return b.tags[a.tagName.toLowerCase()]||b.types[a.type]},get:qx.core.Variant.select($[0],{mshtml:function(a){if(qx.bom.Document.isStandardMode(qx.dom.Node.getDocument(a))){if(!this.__usesNativeBorderBox(a)){return"content-box"}}return $[269]},"default":function(c){var d=this.__styleProperties;var e;if(d){for(var b=0,a=d.length;b<a;b++){e=qx.bom.element.Style.get(c,d[b],null,false);if(e!=null&&e!==""){return e}}}}})}});
+qx.Class.define("qx.theme.manager.Color",{type:$[29],extend:qx.util.manager.Value,properties:{colorTheme:{check:$[110],nullable:true,apply:"_applyColorTheme",event:"changeColorTheme"}},members:{_applyColorTheme:function(f){var c=this._dynamic={};if(f){var e=f.colors;var a=qx.util.ColorUtil;var b;for(var d in e){b=e[d];if(typeof b===$[13]){if(!a.isCssString(b)){throw new Error($[286]+b)}}else{if(b instanceof Array){b=a.rgbToRgbString(b)}else{throw new Error($[286]+b)}}c[d]=b}}if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncColorTheme()}},syncColorTheme:function(){this._updateObjects()}}});
+qx.Class.define("qx.util.ColorUtil",{statics:{REGEXP:{hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,rgb:/^rgb\(\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*\)$/},SYSTEM:{activeborder:true,activecaption:true,appworkspace:true,background:true,buttonface:true,buttonhighlight:true,buttonshadow:true,buttontext:true,captiontext:true,graytext:true,highlight:true,highlighttext:true,inactiveborder:true,inactivecaption:true,inactivecaptiontext:true,infobackground:true,infotext:true,menu:true,menutext:true,scrollbar:true,threeddarkshadow:true,threedface:true,threedhighlight:true,threedlightshadow:true,threedshadow:true,window:true,windowframe:true,windowtext:true},NAMED:{black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:[-1,-1,-1],grey:[128,128,128],magenta:[255,0,255],orange:[255,165,0],brown:[165,42,42]},isNamedColor:function(a){return this.NAMED[a]!==undefined},isSystemColor:function(a){return this.SYSTEM[a]!==undefined},isThemedColor:function(a){return qx.theme.manager.Color.getInstance().isDynamic(a)},stringToRgb:function(a){if(this.isThemedColor(a)){var a=qx.theme.manager.Color.getInstance().resolveDynamic(a)}if(this.isNamedColor(a)){return this.NAMED[a]}else{if(this.isSystemColor(a)){throw new Error($[520]+a)}else{if(this.isRgbString(a)){return this.__rgbStringToRgb()}else{if(this.isHex3String(a)){return this.__hex3StringToRgb()}else{if(this.isHex6String(a)){return this.__hex6StringToRgb()}}}}}throw new Error($[286]+a)},cssStringToRgb:function(a){if(this.isNamedColor(a)){return this.NAMED[a]}else{if(this.isSystemColor(a)){throw new Error($[520]+a)}else{if(this.isRgbString(a)){return this.__rgbStringToRgb()}else{if(this.isHex3String(a)){return this.__hex3StringToRgb()}else{if(this.isHex6String(a)){return this.__hex6StringToRgb()}}}}}throw new Error($[286]+a)},stringToRgbString:function(a){return this.rgbToRgbString(this.stringToRgb(a))},rgbToRgbString:function(a){return"rgb("+a[0]+","+a[1]+","+a[2]+")"},rgbToHexString:function(a){return(qx.lang.String.pad(a[0].toString(16).toUpperCase(),2)+qx.lang.String.pad(a[1].toString(16).toUpperCase(),2)+qx.lang.String.pad(a[2].toString(16).toUpperCase(),2))},isValid:function(a){return this.isThemedColor(a)||this.isCssString(a)},isCssString:function(a){return this.isSystemColor(a)||this.isNamedColor(a)||this.isHex3String(a)||this.isHex6String(a)||this.isRgbString(a)},isHex3String:function(a){return this.REGEXP.hex3.test(a)},isHex6String:function(a){return this.REGEXP.hex6.test(a)},isRgbString:function(a){return this.REGEXP.rgb.test(a)},__rgbStringToRgb:function(){var c=parseInt(RegExp.$1);var b=parseInt(RegExp.$2);var a=parseInt(RegExp.$3);return[c,b,a]},__hex3StringToRgb:function(){var c=parseInt(RegExp.$1,16)*17;var b=parseInt(RegExp.$2,16)*17;var a=parseInt(RegExp.$3,16)*17;return[c,b,a]},__hex6StringToRgb:function(){var c=(parseInt(RegExp.$1,16)*16)+parseInt(RegExp.$2,16);var b=(parseInt(RegExp.$3,16)*16)+parseInt(RegExp.$4,16);var a=(parseInt(RegExp.$5,16)*16)+parseInt(RegExp.$6,16);return[c,b,a]},hex3StringToRgb:function(a){if(this.isHex3String(a)){return this.__hex3StringToRgb(a)}throw new Error("Invalid hex3 value: "+a)},hex6StringToRgb:function(a){if(this.isHex6String(a)){return this.__hex6StringToRgb(a)}throw new Error("Invalid hex6 value: "+a)},hexStringToRgb:function(a){if(this.isHex3String(a)){return this.__hex3StringToRgb(a)}if(this.isHex6String(a)){return this.__hex6StringToRgb(a)}throw new Error("Invalid hex value: "+a)}}});
+qx.Class.define("qx.theme.manager.Border",{type:$[29],extend:qx.util.manager.Value,properties:{borderTheme:{check:$[110],nullable:true,apply:"_applyBorderTheme",event:"changeBorderTheme"}},members:{resolveDynamic:function(a){return a instanceof qx.ui.core.Border?a:this._dynamic[a]},isDynamic:function(a){return a&&(a instanceof qx.ui.core.Border||this._dynamic[a]!==undefined)},syncBorderTheme:function(){this._updateObjects()},updateObjectsEdge:function(b,f){var d=this._registry;var a=this._dynamic;var e;for(var c in d){e=d[c];if(e.value===b||a[e.value]===b){e.callback.call(e.object,b,f)}}},_applyBorderTheme:function(e){var b=this._dynamic;for(var c in b){if(b[c].themed){b[c].dispose();delete b[c]}}if(e){var d=e.borders;var a=qx.ui.core.Border;for(var c in d){b[c]=(new a).set(d[c]);b[c].themed=true}}if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncBorderTheme()}}}});
+qx.Class.define("qx.ui.core.Border",{extend:qx.core.Object,include:qx.util.manager.MConnectedObject,construct:function(c,b,a){arguments.callee.base.call(this);if(c!==undefined){this.setWidth(c)}if(b!==undefined){this.setStyle(b)}if(a!==undefined){this.setColor(a)}},statics:{fromString:function(g){var d=new qx.ui.core.Border;var f=g.split(/\s+/);var c,b;for(var e=0,a=f.length;e<a;e++){c=f[e];switch(c){case $[175]:case"ridge":case $[130]:case $[122]:case $[18]:case $[217]:case $[229]:case $[214]:case"none":d.setStyle(c);break;default:b=parseInt(c);if(b===c||qx.lang.String.contains(c,"px")){d.setWidth(b)}else{d.setColor(c)}break}}return d},fromConfig:function(b){var a=new qx.ui.core.Border;a.set(b);return a},resetTop:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=a.MozBorderTopColors=""}},"default":function(b){var a=b._style;if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=""}a=b._innerStyle;if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=""}}}),resetRight:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=a.MozBorderRightColors=""}},"default":function(b){var a=b._style;if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=""}a=b._innerStyle;if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=""}}}),resetBottom:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=a.MozBorderBottomColors=""}},"default":function(b){var a=b._style;if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=""}a=b._innerStyle;if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=""}}}),resetLeft:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=a.MozBorderLeftColors=""}},"default":function(b){var a=b._style;if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=""}a=b._innerStyle;if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=""}}})},properties:{widthTop:{check:$[57],init:0,apply:"_applyWidthTop"},widthRight:{check:$[57],init:0,apply:"_applyWidthRight"},widthBottom:{check:$[57],init:0,apply:"_applyWidthBottom"},widthLeft:{check:$[57],init:0,apply:"_applyWidthLeft"},styleTop:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[175]],init:$[18],apply:"_applyStyleTop"},styleRight:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[175]],init:$[18],apply:"_applyStyleRight"},styleBottom:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[175]],init:$[18],apply:"_applyStyleBottom"},styleLeft:{nullable:true,check:[$[18],$[217],$[229],$[214],$[122],$[130],"ridge",$[175]],init:$[18],apply:"_applyStyleLeft"},colorTop:{nullable:true,check:$[105],apply:"_applyColorTop"},colorRight:{nullable:true,check:$[105],apply:"_applyColorRight"},colorBottom:{nullable:true,check:$[105],apply:"_applyColorBottom"},colorLeft:{nullable:true,check:$[105],apply:"_applyColorLeft"},colorInnerTop:{nullable:true,check:$[105],apply:"_applyColorInnerTop"},colorInnerRight:{nullable:true,check:$[105],apply:"_applyColorInnerRight"},colorInnerBottom:{nullable:true,check:$[105],apply:"_applyColorInnerBottom"},colorInnerLeft:{nullable:true,check:$[105],apply:"_applyColorInnerLeft"},left:{group:["widthLeft","styleLeft","colorLeft"]},right:{group:["widthRight","styleRight","colorRight"]},top:{group:["widthTop","styleTop","colorTop"]},bottom:{group:[$[561],$[483],$[476]]},width:{group:["widthTop","widthRight",$[561],"widthLeft"],mode:$[132]},style:{group:["styleTop","styleRight",$[483],"styleLeft"],mode:$[132]},color:{group:["colorTop","colorRight",$[476],"colorLeft"],mode:$[132]},innerColor:{group:["colorInnerTop","colorInnerRight","colorInnerBottom","colorInnerLeft"],mode:$[132]}},members:{_applyWidthTop:function(b,a){this.__widthTop=b==null?"0px":b+"px";this.__computeComplexTop();this.__informManager("top")},_applyWidthRight:function(b,a){this.__widthRight=b==null?"0px":b+"px";this.__computeComplexRight();this.__informManager($[21])},_applyWidthBottom:function(b,a){this.__widthBottom=b==null?"0px":b+"px";this.__computeComplexBottom();this.__informManager($[34])},_applyWidthLeft:function(b,a){this.__widthLeft=b==null?"0px":b+"px";this.__computeComplexLeft();this.__informManager("left")},_applyColorTop:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorTop,this,b)},_applyColorRight:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorRight,this,b)},_applyColorBottom:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorBottom,this,b)},_applyColorLeft:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorLeft,this,b)},_applyColorInnerTop:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerTop,this,b)},_applyColorInnerRight:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerRight,this,b)},_applyColorInnerBottom:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerBottom,this,b)},_applyColorInnerLeft:function(b,a){qx.theme.manager.Color.getInstance().connect(this._changeColorInnerLeft,this,b)},_applyStyleTop:function(){this.__informManager("top")},_applyStyleRight:function(){this.__informManager($[21])},_applyStyleBottom:function(){this.__informManager($[34])},_applyStyleLeft:function(){this.__informManager("left")},_changeColorTop:function(a){this.__colorTop=a;this.__computeComplexTop();this.__informManager("top")},_changeColorInnerTop:function(a){this.__colorInnerTop=a;this.__computeComplexTop();this.__informManager("top")},_changeColorRight:function(a){this.__colorRight=a;this.__computeComplexRight();this.__informManager($[21])},_changeColorInnerRight:function(a){this.__colorInnerRight=a;this.__computeComplexRight();this.__informManager($[21])},_changeColorBottom:function(a){this.__colorBottom=a;this.__computeComplexBottom();this.__informManager($[34])},_changeColorInnerBottom:function(a){this.__colorInnerBottom=a;this.__computeComplexBottom();this.__informManager($[34])},_changeColorLeft:function(a){this.__colorLeft=a;this.__computeComplexLeft();this.__informManager("left")},_changeColorInnerLeft:function(a){this.__colorInnerLeft=a;this.__computeComplexLeft();this.__informManager("left")},__computeComplexTop:function(){this.__complexTop=this.getWidthTop()===2&&this.__colorInnerTop!=null&&this.__colorTop!=this.__colorInnerTop},__computeComplexRight:function(){this.__complexRight=this.getWidthRight()===2&&this.__colorInnerRight!=null&&this.__colorRight!=this.__colorInnerRight},__computeComplexBottom:function(){this.__complexBottom=this.getWidthBottom()===2&&this.__colorInnerBottom!=null&&this.__colorBottom!=this.__colorInnerBottom},__computeComplexLeft:function(){this.__complexLeft=this.getWidthLeft()===2&&this.__colorInnerLeft!=null&&this.__colorLeft!=this.__colorInnerLeft},__informManager:function(a){qx.theme.manager.Border.getInstance().updateObjectsEdge(this,a)},renderTop:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderTopWidth=this.__widthTop||"0px";a.borderTopColor=this.__colorTop||"";if(this.__complexTop){a.borderTopStyle=$[18];a.MozBorderTopColors=this.__colorTop+" "+this.__colorInnerTop}else{a.borderTopStyle=this.getStyleTop()||"none";a.MozBorderTopColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexTop){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderTopWidth=a.borderTopWidth="1px";b.borderTopStyle=a.borderTopStyle=$[18];b.borderTopColor=this.__colorTop;a.borderTopColor=this.__colorInnerTop}else{b.borderTopWidth=this.__widthTop||"0px";b.borderTopStyle=this.getStyleTop()||"none";b.borderTopColor=this.__colorTop||"";if(a){a.borderTopWidth=a.borderTopStyle=a.borderTopColor=""}}}}),renderRight:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderRightWidth=this.__widthRight||"0px";a.borderRightColor=this.__colorRight||"";if(this.__complexRight){a.borderRightStyle=$[18];a.MozBorderRightColors=this.__colorRight+" "+this.__colorInnerRight}else{a.borderRightStyle=this.getStyleRight()||"none";a.MozBorderRightColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexRight){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderRightWidth=a.borderRightWidth="1px";b.borderRightStyle=a.borderRightStyle=$[18];b.borderRightColor=this.__colorRight;a.borderRightColor=this.__colorInnerRight}else{b.borderRightWidth=this.__widthRight||"0px";b.borderRightStyle=this.getStyleRight()||"none";b.borderRightColor=this.__colorRight||"";if(a){a.borderRightWidth=a.borderRightStyle=a.borderRightColor=""}}}}),renderBottom:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderBottomWidth=this.__widthBottom||"0px";a.borderBottomColor=this.__colorBottom||"";if(this.__complexBottom){a.borderBottomStyle=$[18];a.MozBorderBottomColors=this.__colorBottom+" "+this.__colorInnerBottom}else{a.borderBottomStyle=this.getStyleBottom()||"none";a.MozBorderBottomColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexBottom){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderBottomWidth=a.borderBottomWidth="1px";b.borderBottomStyle=a.borderBottomStyle=$[18];b.borderBottomColor=this.__colorBottom;a.borderBottomColor=this.__colorInnerBottom}else{b.borderBottomWidth=this.__widthBottom||"0px";b.borderBottomStyle=this.getStyleBottom()||"none";b.borderBottomColor=this.__colorBottom||"";if(a){a.borderBottomWidth=a.borderBottomStyle=a.borderBottomColor=""}}}}),renderLeft:qx.core.Variant.select($[0],{gecko:function(b){var a=b._style;a.borderLeftWidth=this.__widthLeft||"0px";a.borderLeftColor=this.__colorLeft||"";if(this.__complexLeft){a.borderLeftStyle=$[18];a.MozBorderLeftColors=this.__colorLeft+" "+this.__colorInnerLeft}else{a.borderLeftStyle=this.getStyleLeft()||"none";a.MozBorderLeftColors=""}},"default":function(c){var b=c._style;var a=c._innerStyle;if(this.__complexLeft){if(!a){c.prepareEnhancedBorder();a=c._innerStyle}b.borderLeftWidth=a.borderLeftWidth="1px";b.borderLeftStyle=a.borderLeftStyle=$[18];b.borderLeftColor=this.__colorLeft;a.borderLeftColor=this.__colorInnerLeft}else{b.borderLeftWidth=this.__widthLeft||"0px";b.borderLeftStyle=this.getStyleLeft()||"none";b.borderLeftColor=this.__colorLeft||"";if(a){a.borderLeftWidth=a.borderLeftStyle=a.borderLeftColor=""}}}})}});
+qx.Class.define("qx.theme.manager.Font",{type:$[29],extend:qx.util.manager.Value,properties:{fontTheme:{check:$[110],nullable:true,apply:"_applyFontTheme",event:"changeFontTheme"}},members:{resolveDynamic:function(a){return a instanceof qx.ui.core.Font?a:this._dynamic[a]},isDynamic:function(a){return a&&(a instanceof qx.ui.core.Font||this._dynamic[a]!==undefined)},syncFontTheme:function(){this._updateObjects()},_applyFontTheme:function(e){var b=this._dynamic;for(var c in b){if(b[c].themed){b[c].dispose();delete b[c]}}if(e){var d=e.fonts;var a=qx.ui.core.Font;for(var c in d){b[c]=(new a).set(d[c]);b[c].themed=true}}if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncFontTheme()}}}});
+qx.Class.define("qx.ui.core.Font",{extend:qx.core.Object,construct:function(a,b){arguments.callee.base.call(this);if(a!==undefined){this.setSize(a)}if(b!==undefined){this.setFamily(b)}},statics:{fromString:function(g){var b=new qx.ui.core.Font;var f=g.split(/\s+/);var d=[];var c;for(var e=0;e<f.length;e++){switch(c=f[e]){case"bold":b.setBold(true);break;case"italic":b.setItalic(true);break;case $[334]:b.setDecoration($[334]);break;default:var a=parseInt(c);if(a==c||qx.lang.String.contains(c,"px")){b.setSize(a)}else{d.push(c)}break}}if(d.length>0){b.setFamily(d)}return b},fromConfig:function(b){var a=new qx.ui.core.Font;a.set(b);return a},reset:function(a){a.removeStyleProperty("fontFamily");a.removeStyleProperty($[193]);a.removeStyleProperty("fontWeight");a.removeStyleProperty("fontStyle");a.removeStyleProperty($[525])},resetElement:function(a){var b=a.style;b.fontFamily="";b.fontSize="";b.fontWeight="";b.fontStyle="";b.textDecoration=""},resetStyle:function(a){a.fontFamily="";a.fontSize="";a.fontWeight="";a.fontStyle="";a.textDecoration=""}},properties:{size:{check:$[22],nullable:true,apply:"_applySize"},family:{check:"Array",nullable:true,apply:"_applyFamily"},bold:{check:$[3],nullable:true,apply:"_applyBold"},italic:{check:$[3],nullable:true,apply:"_applyItalic"},decoration:{check:[$[334],"line-through","overline"],nullable:true,apply:"_applyDecoration"}},members:{__size:null,__family:null,__bold:null,__italic:null,__decoration:null,_applySize:function(b,a){this.__size=b===null?null:b+"px"},_applyFamily:function(e,b){var d="";for(var c=0,a=e.length;c<a;c++){if(e[c].indexOf(" ")>0){d+='"'+e[c]+'"'}else{d+=e[c]}if(c!=a-1){d+=","}}this.__family=d},_applyBold:function(b,a){this.__bold=b===null?null:b?"bold":$[131]},_applyItalic:function(b,a){this.__italic=b===null?null:b?"italic":$[131]},_applyDecoration:function(b,a){this.__decoration=b===null?null:b},render:function(a){a.setStyleProperty("fontFamily",this.__family);a.setStyleProperty($[193],this.__size);a.setStyleProperty("fontWeight",this.__bold);a.setStyleProperty("fontStyle",this.__italic);a.setStyleProperty($[525],this.__decoration)},renderStyle:function(a){a.fontFamily=this.__family||"";a.fontSize=this.__size||"";a.fontWeight=this.__bold||"";a.fontStyle=this.__italic||"";a.textDecoration=this.__decoration||""},renderElement:function(a){var b=a.style;b.fontFamily=this.__family||"";b.fontSize=this.__size||"";b.fontWeight=this.__bold||"";b.fontStyle=this.__italic||"";b.textDecoration=this.__decoration||""},generateStyle:function(){return(this.__family?"font-family:"+this.__family.replace(/\"/g,"'")+";":"")+(this.__size?"font-size:"+this.__size+";":"")+(this.__weight?"font-weight:"+this.__weight+";":"")+(this.__style?"font-style:"+this.__style+";":"")+(this.__decoration?"text-decoration:"+this.__decoration+";":"")}}});
+qx.Class.define("qx.theme.manager.Icon",{type:$[29],extend:qx.core.Target,properties:{iconTheme:{check:$[110],nullable:true,apply:"_applyIconTheme",event:"changeIconTheme"}},members:{_applyIconTheme:function(b,a){if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncIconTheme()}},syncIconTheme:function(){var b=this.getIconTheme();var a=qx.io.Alias.getInstance();b?a.add("icon",b.icons.uri):a.remove("icon")}}});
+qx.Class.define("qx.io.Alias",{type:$[29],extend:qx.util.manager.Value,construct:function(){arguments.callee.base.call(this);this._aliases={};this._addStatic()},members:{_addStatic:function(){this.add($[129],qx.core.Setting.isSet($[538])?qx.core.Setting.get($[538]):qx.core.Setting.get($[552])+"/static")},_preprocess:function(f){var d=this._dynamic;if(d[f]===false){return f}else{if(d[f]===undefined){if(f.indexOf("http://")===0||f.indexOf("https://")===0||f.indexOf("file://")===0){d[f]=false;return f}var e=f.substring(0,f.indexOf("/"));var c=this._aliases[e];if(c===undefined){if(qx.core.Variant.isSet($[0],$[20])){if(window.location.protocol==="https:"){var b=f.match(/^[\.\/]/);var a=f.match(/^\w/);if(b!=null||a!=null){if(a!=null&&b==null){f="./"+f}return this.__rewriteUrl(f)}}}return f}else{if(qx.core.Variant.isSet($[0],$[20])){if(window.location.protocol==="https:"){c=this.__rewriteUrl(c)}}d[f]=c+f.substring(e.length)}}}return f},__rewriteUrl:function(b){var a="";if(b.match(/^\/\//)!=null){a=window.location.protocol}else{if(b.match(/^\.\//)!=null&&qx.core.Setting.get($[518])){b=b.substring(1);a=document.URL.substring(0,document.URL.lastIndexOf("/"))}else{if(b.match(/^\//)){a=window.location.protocol+"//"+window.location.host}else{if(b.match(/^http/)!=null){}else{a=window.location.href.substring(0,window.location.href.lastIndexOf("/")+1)}}}}return a+b},add:function(c,f){this._aliases[c]=f;var a=this._dynamic;var d=this._registry;var e;var h={};for(var g in a){if(g.substring(0,g.indexOf("/"))===c){a[g]=f+g.substring(c.length);h[g]=true}}for(var b in d){e=d[b];if(h[e.value]){e.callback.call(e.object,a[e.value])}}},remove:function(a){delete this._aliases[a]},resolve:function(a){if(a!==null){a=this._preprocess(a)}return this._dynamic[a]||a}},destruct:function(){this._disposeFields("_aliases")}});
+qx.Class.define("qx.theme.manager.Widget",{type:$[29],extend:qx.core.Target,properties:{widgetTheme:{check:$[110],nullable:true,apply:"_applyWidgetTheme",event:"changeWidgetTheme"}},members:{_applyWidgetTheme:function(b,a){if(qx.theme.manager.Meta.getInstance().getAutoSync()){this.syncWidgetTheme()}},syncWidgetTheme:function(){var b=this.getWidgetTheme();var a=qx.io.Alias.getInstance();b?a.add("widget",b.widgets.uri):a.remove("widget")}}});
+qx.Class.define($[477],{extend:qx.core.Target,construct:function(a){arguments.callee.base.call(this);if(a!=null){this._attachedWidget=a}},statics:{mouseFocus:false},members:{getAttachedWidget:function(){return this._attachedWidget},_onkeyevent:function(a,d){if(d.getKeyIdentifier()!="Tab"){return}d.stopPropagation();d.preventDefault();qx.event.handler.FocusHandler.mouseFocus=false;var c=this.getAttachedWidget().getFocusedChild();if(!d.isShiftPressed()){var b=c?this.getWidgetAfter(a,c):this.getFirstWidget(a)}else{var b=c?this.getWidgetBefore(a,c):this.getLastWidget(a)}if(b){b.setFocused(true);b._ontabfocus()}},compareTabOrder:function(f,d){if(f==d){return 0}var h=f.getTabIndex();var g=d.getTabIndex();if(h!=g){return h-g}var j=qx.bom.element.Location.getTop(f.getElement());var i=qx.bom.element.Location.getTop(d.getElement());if(j!=i){return j-i}var b=qx.bom.element.Location.getLeft(f.getElement());var a=qx.bom.element.Location.getLeft(d.getElement());if(b!=a){return b-a}var e=f.getZIndex();var c=d.getZIndex();if(e!=c){return e-c}return 0},getFirstWidget:function(a){return this._getFirst(a,null)},getLastWidget:function(a){return this._getLast(a,null)},getWidgetAfter:function(b,a){if(b==a){return this.getFirstWidget(b)}if(a.getAnonymous()){a=a.getParent()}if(a==null){return[]}var c=[];this._getAllAfter(b,a,c);c.sort(this.compareTabOrder);return c.length>0?c[0]:this.getFirstWidget(b)},getWidgetBefore:function(c,b){if(c==b){return this.getLastWidget(c)}if(b.getAnonymous()){b=b.getParent()}if(b==null){return[]}var d=[];this._getAllBefore(c,b,d);d.sort(this.compareTabOrder);var a=d.length;return a>0?d[a-1]:this.getLastWidget(c)},_getAllAfter:function(e,f,b){var d=e.getChildren();var g;var a=d.length||0;for(var c=0;c<a;c++){g=d[c];if(g.isDisposed()||!(g instanceof qx.ui.core.Parent)&&!(g instanceof qx.ui.basic.Terminator)){continue}if(g.isFocusable()&&g.getTabIndex()>0&&this.compareTabOrder(f,g)<0){b.push(d[c])}if(!g.isFocusRoot()&&g instanceof qx.ui.core.Parent){this._getAllAfter(g,f,b)}}},_getAllBefore:function(e,f,b){var d=e.getChildren();var g;var a=d.length;for(var c=0;c<a;c++){g=d[c];if(!(g instanceof qx.ui.core.Parent)&&!(g instanceof qx.ui.basic.Terminator)){continue}if(g.isFocusable()&&g.getTabIndex()>0&&this.compareTabOrder(f,g)>0){b.push(g)}if(!g.isFocusRoot()&&g instanceof qx.ui.core.Parent){this._getAllBefore(g,f,b)}}},_getFirst:function(d,f){var c=d.getChildren();var e;var a=c.length;for(var b=0;b<a;b++){e=c[b];if(!(e instanceof qx.ui.core.Parent)&&!(e instanceof qx.ui.basic.Terminator)){continue}if(e.isFocusable()&&e.getTabIndex()>0){if(f==null||this.compareTabOrder(e,f)<0){f=e}}if(!e.isFocusRoot()&&e instanceof qx.ui.core.Parent){f=this._getFirst(e,f)}}return f},_getLast:function(e,b){var d=e.getChildren();var f;var a=d.length;for(var c=0;c<a;c++){f=d[c];if(!(f instanceof qx.ui.core.Parent)&&!(f instanceof qx.ui.basic.Terminator)){continue}if(f.isFocusable()&&f.getTabIndex()>0){if(b==null||this.compareTabOrder(f,b)>0){b=f}}if(!f.isFocusRoot()&&f instanceof qx.ui.core.Parent){b=this._getLast(f,b)}}return b}},destruct:function(){this._disposeFields("_attachedWidget")}});
+qx.Class.define("qx.bom.element.Location",{statics:{__style:function(b,a){return qx.bom.element.Style.get(b,a,qx.bom.element.Style.COMPUTED_MODE,false)},__num:function(b,a){return parseInt(qx.bom.element.Style.get(b,a,qx.bom.element.Style.COMPUTED_MODE,false),10)||0},__computeScroll:function(b){var e=0,d=0;if(b.getBoundingClientRect){var c=qx.dom.Node.getWindow(b);if(!org.eclipse.rwt.Client.isMobileSafari()){e-=qx.bom.Viewport.getScrollLeft(c);d-=qx.bom.Viewport.getScrollTop(c)}}else{var a=qx.dom.Node.getDocument(b).body;b=b.parentNode;while(b&&b!=a){e+=b.scrollLeft;d+=b.scrollTop;b=b.parentNode}}return{left:e,top:d}},__computeBody:qx.core.Variant.select($[0],{mshtml:function(b){var e=qx.dom.Node.getDocument(b);var a=e.body;var d=a.offsetLeft;var c=a.offsetTop;d-=this.__num(a,$[86]);c-=this.__num(a,$[94]);if(e.compatMode===$[114]){d+=this.__num(a,$[207]);c+=this.__num(a,$[206])}return{left:d,top:c}},webkit:function(b){var e=qx.dom.Node.getDocument(b);var a=e.body;var d=a.offsetLeft;var c=a.offsetTop;d+=this.__num(a,$[86]);c+=this.__num(a,$[94]);if(e.compatMode===$[114]){d+=this.__num(a,$[207]);c+=this.__num(a,$[206])}return{left:d,top:c}},gecko:function(b){var a=qx.dom.Node.getDocument(b).body;var d=a.offsetLeft;var c=a.offsetTop;if(qx.bom.element.BoxSizing.get(a)!==$[268]){d+=this.__num(a,$[86]);c+=this.__num(a,$[94]);if(!b.getBoundingClientRect){var e;while(b){if(this.__style(b,$[143])===$[35]||this.__style(b,$[143])===$[150]){e=true;break}b=b.offsetParent}if(!e){d+=this.__num(a,$[86]);c+=this.__num(a,$[94])}}}return{left:d,top:c}},"default":function(b){var a=qx.dom.Node.getDocument(b).body;var d=a.offsetLeft;var c=a.offsetTop;return{left:d,top:c}}}),__computeOffset:qx.core.Variant.select($[0],{"mshtml|webkit":function(c){var f=qx.dom.Node.getDocument(c);if(c.getBoundingClientRect){var b=c.getBoundingClientRect();var e=b.left;var d=b.top;if(f.compatMode===$[114]){e-=this.__num(c,$[86]);d-=this.__num(c,$[94])}}else{var e=c.offsetLeft;var d=c.offsetTop;c=c.offsetParent;var a=f.body;while(c&&c!=a){e+=c.offsetLeft;d+=c.offsetTop;e+=this.__num(c,$[86]);d+=this.__num(c,$[94]);c=c.offsetParent}}return{left:e,top:d}},gecko:function(d){if(d.getBoundingClientRect){var c=d.getBoundingClientRect();var f=Math.round(c.left);var e=Math.round(c.top)}else{var f=0;var e=0;var a=qx.dom.Node.getDocument(d).body;var b=qx.bom.element.BoxSizing;if(b.get(d)!==$[268]){f-=this.__num(d,$[86]);e-=this.__num(d,$[94])}while(d&&d!==a){f+=d.offsetLeft;e+=d.offsetTop;if(b.get(d)!==$[268]){f+=this.__num(d,$[86]);e+=this.__num(d,$[94])}if(d.parentNode&&this.__style(d.parentNode,$[71])!="visible"){f+=this.__num(d.parentNode,$[86]);e+=this.__num(d.parentNode,$[94])}d=d.offsetParent}}return{left:f,top:e}},"default":function(b){var d=0;var c=0;var a=qx.dom.Node.getDocument(b).body;while(b&&b!==a){d+=b.offsetLeft;c+=b.offsetTop;b=b.offsetParent}return{left:d,top:c}}}),get:function(d,f){var g=this.__computeBody(d);if(d.tagName=="BODY"){var c=g.left;var h=g.top}else{var e=this.__computeOffset(d);var i=this.__computeScroll(d);var c=e.left+g.left-i.left;var h=e.top+g.top-i.top}var j=c+d.offsetWidth;var b=h+d.offsetHeight;if(f){if(f==$[32]||f==$[24]){var a=qx.bom.element.Overflow.getX(d);if(a==$[24]||a=="auto"){j+=d.scrollWidth-d.offsetWidth+this.__num(d,$[86])+this.__num(d,$[373])}var k=qx.bom.element.Overflow.getY(d);if(k==$[24]||k=="auto"){b+=d.scrollHeight-d.offsetHeight+this.__num(d,$[94])+this.__num(d,$[371])}}switch(f){case $[32]:c+=this.__num(d,$[238]);h+=this.__num(d,$[208]);j-=this.__num(d,$[220]);b-=this.__num(d,$[234]);case $[24]:c-=d.scrollLeft;h-=d.scrollTop;j-=d.scrollLeft;b-=d.scrollTop;case $[6]:c+=this.__num(d,$[86]);h+=this.__num(d,$[94]);j-=this.__num(d,$[373]);b-=this.__num(d,$[371]);break;case $[96]:c-=this.__num(d,$[207]);h-=this.__num(d,$[206]);j+=this.__num(d,$[259]);b+=this.__num(d,$[312]);break}}return{left:c,top:h,right:j,bottom:b}},getLeft:function(a,b){return this.get(a,b).left},getTop:function(a,b){return this.get(a,b).top},getRight:function(a,b){return this.get(a,b).right},getBottom:function(a,b){return this.get(a,b).bottom},getRelative:function(b,a,f,d){var e=this.get(b,f);var c=this.get(a,d);return{left:e.left-c.left,top:e.top-c.top,right:e.right-c.right,bottom:e.bottom-c.bottom}}}});
+qx.Class.define("qx.bom.element.Style",{statics:{__hints:{names:{"float":qx.core.Variant.isSet($[0],$[20])?"styleFloat":"cssFloat",boxSizing:qx.core.Variant.isSet($[0],$[43])?"mozBoxSizing":$[278]},mshtmlPixel:{width:"pixelWidth",height:"pixelHeight",left:"pixelLeft",right:"pixelRight",top:"pixelTop",bottom:"pixelBottom"}},COMPUTED_MODE:1,CASCADED_MODE:2,LOCAL_MODE:3,get:qx.core.Variant.select($[0],{mshtml:function(f,a,g,i){var b=this.__hints;a=b.names[a]||a;switch(g){case this.LOCAL_MODE:return f.style[a]||"";case this.CASCADED_MODE:return f.currentStyle[a];default:var c=f.currentStyle[a];if(/^-?[\.\d]+(px)?$/i.test(c)){return c}var d=b.mshtmlPixel[a];if(d){var e=f.style[a];f.style[a]=c||0;var h=f.style[d]+"px";f.style[a]=e;return h}if(/^-?[\.\d]+(em|pt|%)?$/i.test(c)){throw new Error("Untranslated computed property value: "+a+". Only pixel values work well across different clients.")}return c}},"default":function(b,a,g,f){var d=this.__hints;a=d.names[a]||a;switch(g){case this.LOCAL_MODE:return b.style[a];case this.CASCADED_MODE:if(b.currentStyle){return b.currentStyle[a]}throw new Error("Cascaded styles are not supported in this browser!");default:var e=qx.dom.Node.getDocument(b);var c=e.defaultView.getComputedStyle(b,null);return c?c[a]:null}}})}});
+qx.Class.define("qx.bom.element.BoxSizing",{statics:{__styleProperties:qx.core.Variant.select($[0],{mshtml:null,webkit:[$[278],"KhtmlBoxSizing","WebkitBoxSizing"],gecko:["MozBoxSizing",$[278]],opera:[$[278]]}),__nativeBorderBox:{tags:{button:true,select:true},types:{search:true,button:true,submit:true,reset:true,checkbox:true,radio:true}},__usesNativeBorderBox:function(a){var b=this.__nativeBorderBox;return b.tags[a.tagName.toLowerCase()]||b.types[a.type]},get:qx.core.Variant.select($[0],{mshtml:function(a){if(qx.bom.Document.isStandardMode(qx.dom.Node.getDocument(a))){if(!this.__usesNativeBorderBox(a)){return"content-box"}}return $[268]},"default":function(c){var d=this.__styleProperties;var e;if(d){for(var b=0,a=d.length;b<a;b++){e=qx.bom.element.Style.get(c,d[b],null,false);if(e!=null&&e!==""){return e}}}}})}});
qx.Class.define("qx.bom.Document",{statics:{isQuirksMode:function(a){return(a||window).document.compatMode!==$[114]},isStandardMode:function(a){return(a||window).document.compatMode===$[114]},getWidth:function(d){var c=(d||window).document;var b=qx.bom.Viewport.getWidth(d);var a=c.compatMode===$[114]?c.documentElement.scrollWidth:c.body.scrollWidth;return Math.max(a,b)},getHeight:function(d){var c=(d||window).document;var b=qx.bom.Viewport.getHeight(d);var a=c.compatMode===$[114]?c.documentElement.scrollHeight:c.body.scrollHeight;return Math.max(a,b)}}});
-qx.Class.define("qx.bom.element.Overflow",{statics:{getX:qx.core.Variant.select($[0],{gecko:org.eclipse.rwt.Client.getVersion()<1.8?function(a,b){var c=qx.bom.element.Style.get(a,$[72],b,false);if(c===$[284]){c=$[13]}return c}:function(a,b){return qx.bom.element.Style.get(a,$[103],b,false)},opera:org.eclipse.rwt.Client.getVersion()<9.5?function(a,b){return qx.bom.element.Style.get(a,$[72],b,false)}:function(a,b){return qx.bom.element.Style.get(a,$[103],b,false)},"default":function(a,b){return qx.bom.element.Style.get(a,$[103],b,false)}}),getY:qx.core.Variant.select($[0],{gecko:org.eclipse.rwt.Client.getVersion()<1.8?function(a,b){var c=qx.bom.element.Style.get(a,$[72],b,false);if(c===$[284]){c=$[13]}return c}:function(a,b){return qx.bom.element.Style.get(a,$[104],b,false)},opera:org.eclipse.rwt.Client.getVersion()<9.5?function(a,b){return qx.bom.element.Style.get(a,$[72],b,false)}:function(a,b){return qx.bom.element.Style.get(a,$[104],b,false)},"default":function(a,b){return qx.bom.element.Style.get(a,$[104],b,false)}})}});
-qx.Class.define("qx.io.image.Manager",{type:$[30],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this.__visible={};this.__all={}},members:{add:function(b){var a=this.__all;if(a[b]===undefined){a[b]=1}else{a[b]++}},remove:function(b){var a=this.__all;if(a[b]!==undefined){a[b]--}if(a[b]<=0){delete a[b]}},show:function(b){var a=this.__visible;if(a[b]===undefined){a[b]=1}else{a[b]++}},hide:function(b){var a=this.__visible;if(a[b]!==undefined){a[b]--}if(a[b]<=0){delete a[b]}},getVisibleImages:function(){var c=this.__visible;var b={};for(var a in c){if(c[a]>0){b[a]=true}}return b},getHiddenImages:function(){var d=this.__visible;var a=this.__all;var c={};for(var b in a){if(d[b]===undefined){c[b]=true}}return c}},destruct:function(){this._disposeFields("__all","__visible")}});
-qx.Class.define("qx.html.Offset",{statics:{getLeft:qx.core.Variant.select($[0],{gecko:function(c){var f=c.offsetLeft;var b=c.parentNode;var e=qx.html.Style.getStyleProperty(c,$[144]);var d=qx.html.Style.getStyleProperty(b,$[144]);if(e!=$[32]&&e!=$[152]){f-=qx.html.Style.getBorderLeft(b)}if(d!=$[32]&&d!=$[152]){while(b){b=b.parentNode;if(!b||typeof b.tagName!==$[14]){break}var a=qx.html.Style.getStyleProperty(b,$[144]);if(a==$[32]||a==$[152]){f-=qx.html.Style.getBorderLeft(b)+qx.html.Style.getPaddingLeft(b);break}}}return f},"default":function(a){return a.offsetLeft}}),getTop:qx.core.Variant.select($[0],{gecko:function(c){var f=c.offsetTop;var b=c.parentNode;var e=qx.html.Style.getStyleProperty(c,$[144]);var d=qx.html.Style.getStyleProperty(b,$[144]);if(e!=$[32]&&e!=$[152]){f-=qx.html.Style.getBorderTop(b)}if(d!=$[32]&&d!=$[152]){while(b){b=b.parentNode;if(!b||typeof b.tagName!==$[14]){break}var a=qx.html.Style.getStyleProperty(b,$[144]);if(a==$[32]||a==$[152]){f-=qx.html.Style.getBorderTop(b)+qx.html.Style.getPaddingTop(b);break}}}return f},"default":function(a){return a.offsetTop}})}});
-qx.Class.define("qx.html.ScrollIntoView",{statics:{scrollX:function(b,c){var a,f,e,d;var g=b.parentNode;var h=b.offsetLeft;var e=b.offsetWidth;while(g){switch(qx.html.Style.getStyleProperty(g,$[72])){case $[25]:case"auto":case $[313]:d=true;break;default:switch(qx.html.Style.getStyleProperty(g,$[103])){case $[25]:case"auto":d=true;break;default:d=false}}if(d){a=g.clientWidth;f=g.scrollLeft;if(c){g.scrollLeft=h}else{if(c==false){g.scrollLeft=h+e-a}else{if(e>a||h<f){g.scrollLeft=h}else{if((h+e)>(f+a)){g.scrollLeft=h+e-a}}}}h=g.offsetLeft;e=g.offsetWidth}else{h+=g.offsetLeft}if(g.tagName.toLowerCase()=="body"){break}g=g.offsetParent}return true},scrollY:function(b,d){var g,a,c,e;var f=b.parentNode;var h=b.offsetTop;var c=b.offsetHeight;while(f){switch(qx.html.Style.getStyleProperty(f,$[72])){case $[25]:case"auto":case $[254]:e=true;break;default:switch(qx.html.Style.getStyleProperty(f,$[104])){case $[25]:case"auto":e=true;break;default:e=false}}if(e){g=f.clientHeight;a=f.scrollTop;if(d){f.scrollTop=h}else{if(d==false){f.scrollTop=h+c-g}else{if(c>g||h<a){f.scrollTop=h}else{if((h+c)>(a+g)){f.scrollTop=h+c-g}}}}h=f.offsetTop;c=f.offsetHeight}else{h+=f.offsetTop}if(f.tagName.toLowerCase()=="body"){break}f=f.offsetParent}return true}}});
-qx.Class.define("qx.ui.layout.BoxLayout",{extend:qx.ui.core.Parent,construct:function(a){arguments.callee.base.call(this);if(a!=null){this.setOrientation(a)}else{this.initOrientation()}},statics:{STR_REVERSED:"-reversed"},properties:{orientation:{check:[$[52],$[44]],init:$[52],apply:$[430],event:"changeOrientation"},spacing:{check:$[22],init:0,themeable:true,apply:$[542],event:$[529]},horizontalChildrenAlign:{check:["left",$[39],$[21]],init:"left",themeable:true,apply:$[503]},verticalChildrenAlign:{check:["top",$[31],$[35]],init:"top",themeable:true,apply:$[541]},reverseChildrenOrder:{check:$[3],init:false,apply:"_applyReverseChildrenOrder"},stretchChildrenOrthogonalAxis:{check:$[3],init:true,apply:"_applyStretchChildrenOrthogonalAxis"},useAdvancedFlexAllocation:{check:$[3],init:false,apply:"_applyUseAdvancedFlexAllocation"},accumulatedChildrenOuterWidth:{_cached:true,defaultValue:null},accumulatedChildrenOuterHeight:{_cached:true,defaultValue:null}},members:{_createLayoutImpl:function(){return this.getOrientation()==$[44]?new qx.ui.layout.impl.VerticalBoxLayoutImpl(this):new qx.ui.layout.impl.HorizontalBoxLayoutImpl(this)},_layoutHorizontal:false,_layoutVertical:false,_layoutMode:"left",isHorizontal:function(){return this._layoutHorizontal},isVertical:function(){return this._layoutVertical},getLayoutMode:function(){if(this._layoutMode==null){this._updateLayoutMode()}return this._layoutMode},_updateLayoutMode:function(){this._layoutMode=this._layoutVertical?this.getVerticalChildrenAlign():this.getHorizontalChildrenAlign();if(this.getReverseChildrenOrder()){this._layoutMode+=qx.ui.layout.BoxLayout.STR_REVERSED}},_invalidateLayoutMode:function(){this._layoutMode=null},_applyOrientation:function(b,a){this._layoutHorizontal=b==$[52];this._layoutVertical=b==$[44];if(this._layoutImpl){this._layoutImpl.dispose();this._layoutImpl=null}if(b){this._layoutImpl=this._createLayoutImpl()}this._doLayoutOrder(b,a);this.addToQueueRuntime("orientation")},_applySpacing:function(b,a){this._doLayout();this.addToQueueRuntime($[106])},_applyHorizontalChildrenAlign:function(b,a){this._doLayoutOrder();this.addToQueueRuntime("horizontalChildrenAlign")},_applyVerticalChildrenAlign:function(b,a){this._doLayoutOrder();this.addToQueueRuntime("verticalChildrenAlign")},_applyReverseChildrenOrder:function(b,a){this._doLayoutOrder();this.addToQueueRuntime("reverseChildrenOrder")},_applyStretchChildrenOrthogonalAxis:function(b,a){this.addToQueueRuntime("stretchChildrenOrthogonalAxis")},_applyUseAdvancedFlexAllocation:function(b,a){this.addToQueueRuntime("useAdvancedFlexAllocation")},_doLayoutOrder:function(){this._invalidateLayoutMode();this._doLayout()},_doLayout:function(){this._invalidatePreferredInnerDimensions();this._invalidateAccumulatedChildrenOuterWidth();this._invalidateAccumulatedChildrenOuterHeight()},_computeAccumulatedChildrenOuterWidth:function(){var c=this.getVisibleChildren(),e,a=-1,d=this.getSpacing(),b=-d;while(e=c[++a]){b+=e.getOuterWidth()+d}return b},_computeAccumulatedChildrenOuterHeight:function(){var c=this.getVisibleChildren(),e,a=-1,d=this.getSpacing(),b=-d;while(e=c[++a]){b+=e.getOuterHeight()+d}return b},_recomputeChildrenStretchingX:function(){var b=this.getVisibleChildren(),c,a=-1;while(c=b[++a]){if(c._recomputeStretchingX()&&c._recomputeBoxWidth()){c._recomputeOuterWidth()}}},_recomputeChildrenStretchingY:function(){var b=this.getVisibleChildren(),c,a=-1;while(c=b[++a]){if(c._recomputeStretchingY()&&c._recomputeBoxHeight()){c._recomputeOuterHeight()}}}}});
-qx.Class.define("qx.ui.layout.impl.VerticalBoxLayoutImpl",{extend:qx.ui.layout.impl.LayoutImpl,properties:{enableFlexSupport:{check:$[3],init:true}},members:{computeChildBoxWidth:function(a){if(this.getWidget().getStretchChildrenOrthogonalAxis()&&a._computedWidthTypeNull&&a.getAllowStretchX()){return this.getWidget().getInnerWidth()}return a.getWidthValue()||a._computeBoxWidthFallback()},computeChildBoxHeight:function(a){return a.getHeightValue()||a._computeBoxHeightFallback()},computeChildrenFlexHeight:function(){if(this._childrenFlexHeightComputed||!this.getEnableFlexSupport()){return}this._childrenFlexHeightComputed=true;var j=this.getWidget();var i=j.getVisibleChildren();var g=i.length;var m;var e=[];var s=j.getInnerHeight();var n=j.getSpacing()*(g-1);var q;for(q=0;q<g;q++){m=i[q];if(m._computedHeightTypeFlex){e.push(m);if(j._computedHeightTypeAuto){n+=m.getPreferredBoxHeight()}}else{n+=m.getOuterHeight()}}var d=s-n;var c=e.length;var f=0;for(q=0;q<c;q++){f+=e[q]._computedHeightParsed}var h=d/f;if(!j.getUseAdvancedFlexAllocation()){for(q=0;q<c;q++){m=e[q];m._computedHeightFlexValue=Math.round(m._computedHeightParsed*h);n+=m._computedHeightFlexValue}}else{var b=0;var k,c,a,p,l,r;for(q=0;q<c;q++){m=e[q];r=m._computedHeightFlexValue=m._computedHeightParsed*h;b+=r-qx.lang.Number.limit(r,m.getMinHeightValue(),m.getMaxHeightValue())}b=Math.round(b);if(b==0){for(q=0;q<c;q++){m=e[q];m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=m._computedHeightFlexValue}}else{var o=b>0;for(q=c-1;q>=0;q--){m=e[q];if(o){a=(m.getMaxHeightValue()||Infinity)-m._computedHeightFlexValue;if(a>0){m._allocationLoops=Math.floor(a/m._computedHeightParsed)}else{qx.lang.Array.removeAt(e,q);m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=Math.round(m._computedHeightFlexValue+a)}}else{a=qx.util.Validation.isValidNumber(m.getMinHeightValue())?m._computedHeightFlexValue-m.getMinHeightValue():m._computedHeightFlexValue;if(a>0){m._allocationLoops=Math.floor(a/m._computedHeightParsed)}else{qx.lang.Array.removeAt(e,q);m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=Math.round(m._computedHeightFlexValue-a)}}}while(b!=0&&c>0){c=e.length;k=Infinity;l=0;for(q=0;q<c;q++){k=Math.min(k,e[q]._allocationLoops);l+=e[q]._computedHeightParsed}p=Math.min(l*k,b);b-=p;for(q=c-1;q>=0;q--){m=e[q];m._computedHeightFlexValue+=p/l*m._computedHeightParsed;if(m._allocationLoops==k){m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=m._computedHeightFlexValue;delete m._allocationLoops;qx.lang.Array.removeAt(e,q)}else{if(b==0){m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=m._computedHeightFlexValue;delete m._allocationLoops}else{m._allocationLoops-=k}}}}}}m._computedHeightFlexValue+=s-n},invalidateChildrenFlexHeight:function(){delete this._childrenFlexHeightComputed},computeChildrenNeededHeight:function(){var a=this.getWidget();return qx.ui.layout.impl.LayoutImpl.prototype.computeChildrenNeededHeight_sum.call(this)+((a.getVisibleChildrenLength()-1)*a.getSpacing())},updateSelfOnChildOuterHeightChange:function(a){this.getWidget()._invalidateAccumulatedChildrenOuterHeight()},updateChildOnInnerWidthChange:function(c){var a=c._recomputePercentX();var b=c._recomputeStretchingX();if((c.getHorizontalAlign()||this.getWidget().getHorizontalChildrenAlign())==$[39]){c.addToLayoutChanges($[140])}return a||b},updateChildOnInnerHeightChange:function(c){if(this.getWidget().getVerticalChildrenAlign()==$[31]){c.addToLayoutChanges($[141])}var a=c._recomputePercentY();var b=c._recomputeFlexY();return a||b},updateSelfOnJobQueueFlush:function(a){if(a.addChild||a.removeChild){this.getWidget()._invalidateAccumulatedChildrenOuterHeight()}},updateChildrenOnJobQueueFlush:function(a){var d=false,b=false;var c=this.getWidget();if(a.orientation){d=b=true}if(a.spacing||a.orientation||a.reverseChildrenOrder||a.verticalChildrenAlign){c._addChildrenToLayoutQueue($[141])}if(a.horizontalChildrenAlign){c._addChildrenToLayoutQueue($[140])}if(a.stretchChildrenOrthogonalAxis){d=true}if(d){c._recomputeChildrenStretchingX();c._addChildrenToLayoutQueue($[20])}if(b){c._recomputeChildrenStretchingY();c._addChildrenToLayoutQueue($[34])}return true},updateChildrenOnRemoveChild:function(g,c){var b=this.getWidget(),e=b.getVisibleChildren(),a=e.length,f,d=-1;if(this.getEnableFlexSupport()){for(var d=0;d<a;d++){f=e[d];if(f.getHasFlexY()){c=Math.min(c,d);break}}d=-1}switch(b.getLayoutMode()){case $[35]:case $[237]:while((f=e[++d])&&d<c){f.addToLayoutChanges($[141])}break;case $[31]:case $[247]:while(f=e[++d]){f.addToLayoutChanges($[141])}break;default:d+=c;while(f=e[++d]){f.addToLayoutChanges($[141])}}},updateChildrenOnMoveChild:function(g,b,e){var a=this.getWidget().getVisibleChildren();var f=Math.min(b,e);var d=Math.max(b,e)+1;d=Math.min(a.length,d);for(var c=f;c<d;c++){a[c].addToLayoutChanges($[141])}},flushChildrenQueue:function(d){var b=this.getWidget(),f=b.getVisibleChildren(),a=f.length,h,e;if(this.getEnableFlexSupport()){this.invalidateChildrenFlexHeight();for(e=0;e<a;e++){h=f[e];if(h.getHasFlexY()){h._computedHeightValue=null;if(h._recomputeBoxHeight()){h._recomputeOuterHeight();h._recomputeInnerHeight()}d[h.toHashCode()]=h;h._layoutChanges.height=true}}}switch(b.getLayoutMode()){case $[35]:case $[237]:for(var e=a-1;e>=0&&!d[f[e].toHashCode()];e--){}for(var c=0;c<=e;c++){b._layoutChild(h=f[c])}break;case $[31]:case $[247]:e=-1;while(h=f[++e]){b._layoutChild(h)}break;default:e=-1;var g=false;while(h=f[++e]){if(g||d[h.toHashCode()]){b._layoutChild(h);g=true}}}},layoutChild:function(b,a){this.layoutChild_sizeX(b,a);this.layoutChild_sizeY(b,a);this.layoutChild_sizeLimitX(b,a);this.layoutChild_sizeLimitY(b,a);this.layoutChild_locationX(b,a);this.layoutChild_locationY(b,a);this.layoutChild_marginX(b,a);this.layoutChild_marginY(b,a)},layoutChild_sizeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.width||a.minWidth||a.maxWidth){if((b._isWidthEssential()&&(!b._computedWidthTypeNull||!b._computedMinWidthTypeNull||!b._computedMaxWidthTypeNull))||(b.getAllowStretchX()&&this.getWidget().getStretchChildrenOrthogonalAxis())){b._renderRuntimeWidth(b.getBoxWidth())}else{b._resetRuntimeWidth()}}},"default":function(b,a){if(a.initial||a.width){if(b._isWidthEssential()&&!b._computedWidthTypeNull){b._renderRuntimeWidth(b.getWidthValue())}else{b._resetRuntimeWidth()}}}}),layoutChild_sizeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.height||a.minHeight||a.maxHeight){if(b._isHeightEssential()&&(!b._computedHeightTypeNull||!b._computedMinHeightTypeNull||!b._computedMaxHeightTypeNull)){b._renderRuntimeHeight(b.getBoxHeight())}else{b._resetRuntimeHeight()}}},"default":function(b,a){if(a.initial||a.height){if(b._isHeightEssential()&&!b._computedHeightTypeNull){b._renderRuntimeHeight(b.getHeightValue())}else{b._resetRuntimeHeight()}}}}),layoutChild_locationY:function(e,a){var d=this.getWidget();if(d.getFirstVisibleChild()==e){switch(d.getLayoutMode()){case $[35]:case $[237]:var b=d.getPaddingBottom()+d.getAccumulatedChildrenOuterHeight()-e.getOuterHeight();break;case $[31]:case $[247]:var b=d.getPaddingTop()+Math.round((d.getInnerHeight()-d.getAccumulatedChildrenOuterHeight())/2);break;default:var b=d.getPaddingTop()}}else{var c=e.getPreviousVisibleSibling();switch(d.getLayoutMode()){case $[35]:case $[237]:var b=c._cachedLocationVertical-e.getOuterHeight()-d.getSpacing();break;default:var b=c._cachedLocationVertical+c.getOuterHeight()+d.getSpacing()}}e._cachedLocationVertical=b;switch(this.getWidget().getLayoutMode()){case $[35]:case $[483]:case $[247]:b+=!e._computedBottomTypeNull?e.getBottomValue():!e._computedTopTypeNull?-(e.getTopValue()):0;e._resetRuntimeTop();e._renderRuntimeBottom(b);break;default:b+=!e._computedTopTypeNull?e.getTopValue():!e._computedBottomTypeNull?-(e.getBottomValue()):0;e._resetRuntimeBottom();e._renderRuntimeTop(b)}},layoutChild_locationX:function(e,a){var c=this.getWidget();if(qx.core.Variant.isSet($[0],$[43])){if(e.getAllowStretchX()&&c.getStretchChildrenOrthogonalAxis()&&e._computedWidthTypeNull){e._renderRuntimeLeft(c.getPaddingLeft()||0);e._renderRuntimeRight(c.getPaddingRight()||0);return}}var d=e.getHorizontalAlign()||c.getHorizontalChildrenAlign();var b=d==$[39]?Math.round((c.getInnerWidth()-e.getOuterWidth())/2):0;if(d==$[21]){b+=c.getPaddingRight();if(!e._computedRightTypeNull){b+=e.getRightValue()}else{if(!e._computedLeftTypeNull){b-=e.getLeftValue()}}e._resetRuntimeLeft();e._renderRuntimeRight(b)}else{b+=c.getPaddingLeft();if(!e._computedLeftTypeNull){b+=e.getLeftValue()}else{if(!e._computedRightTypeNull){b-=e.getRightValue()}}e._resetRuntimeRight();e._renderRuntimeLeft(b)}}}});
-qx.Class.define("qx.util.Validation",{statics:{isValidNumber:function(a){return typeof a===$[80]&&!isNaN(a)},isValidString:function(a){return typeof a===$[14]&&a!==""}}});
-qx.Class.define("qx.ui.layout.impl.HorizontalBoxLayoutImpl",{extend:qx.ui.layout.impl.LayoutImpl,properties:{enableFlexSupport:{check:$[3],init:true}},members:{computeChildBoxWidth:function(a){return a.getWidthValue()||a._computeBoxWidthFallback()},computeChildBoxHeight:function(a){if(this.getWidget().getStretchChildrenOrthogonalAxis()&&a._computedHeightTypeNull&&a.getAllowStretchY()){return this.getWidget().getInnerHeight()}return a.getHeightValue()||a._computeBoxHeightFallback()},computeChildrenFlexWidth:function(){if(this._childrenFlexWidthComputed||!this.getEnableFlexSupport()){return}this._childrenFlexWidthComputed=true;var j=this.getWidget();var i=j.getVisibleChildren();var g=i.length;var n;var e=[];var d=j.getInnerWidth();var o=j.getSpacing()*(g-1);var s;for(s=0;s<g;s++){n=i[s];if(n._computedWidthTypeFlex){e.push(n);if(j._computedWidthTypeAuto){o+=n.getPreferredBoxWidth()}}else{o+=n.getOuterWidth()}}var l=d-o;var c=e.length;var f=0;for(s=0;s<c;s++){f+=e[s]._computedWidthParsed}var h=l/f;if(!j.getUseAdvancedFlexAllocation()){for(s=0;s<c;s++){n=e[s];n._computedWidthFlexValue=Math.round(n._computedWidthParsed*h);o+=n._computedWidthFlexValue}}else{var b=0;var k,c,a,r,m,p;for(s=0;s<c;s++){n=e[s];p=n._computedWidthFlexValue=n._computedWidthParsed*h;b+=p-qx.lang.Number.limit(p,n.getMinWidthValue(),n.getMaxWidthValue())}b=Math.round(b);if(b==0){for(s=0;s<c;s++){n=e[s];n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=n._computedWidthFlexValue}}else{var q=b>0;for(s=c-1;s>=0;s--){n=e[s];if(q){a=(n.getMaxWidthValue()||Infinity)-n._computedWidthFlexValue;if(a>0){n._allocationLoops=Math.floor(a/n._computedWidthParsed)}else{qx.lang.Array.removeAt(e,s);n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=Math.round(n._computedWidthFlexValue+a)}}else{a=qx.util.Validation.isValidNumber(n.getMinWidthValue())?n._computedWidthFlexValue-n.getMinWidthValue():n._computedWidthFlexValue;if(a>0){n._allocationLoops=Math.floor(a/n._computedWidthParsed)}else{qx.lang.Array.removeAt(e,s);n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=Math.round(n._computedWidthFlexValue-a)}}}while(b!=0&&c>0){c=e.length;k=Infinity;m=0;for(s=0;s<c;s++){k=Math.min(k,e[s]._allocationLoops);m+=e[s]._computedWidthParsed}r=Math.min(m*k,b);b-=r;for(s=c-1;s>=0;s--){n=e[s];n._computedWidthFlexValue+=r/m*n._computedWidthParsed;if(n._allocationLoops==k){n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=n._computedWidthFlexValue;delete n._allocationLoops;qx.lang.Array.removeAt(e,s)}else{if(b==0){n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=n._computedWidthFlexValue;delete n._allocationLoops}else{n._allocationLoops-=k}}}}}}n._computedWidthFlexValue+=d-o},invalidateChildrenFlexWidth:function(){delete this._childrenFlexWidthComputed},computeChildrenNeededWidth:function(){var a=this.getWidget();return qx.ui.layout.impl.LayoutImpl.prototype.computeChildrenNeededWidth_sum.call(this)+((a.getVisibleChildrenLength()-1)*a.getSpacing())},updateSelfOnChildOuterWidthChange:function(a){this.getWidget()._invalidateAccumulatedChildrenOuterWidth()},updateChildOnInnerWidthChange:function(c){if(this.getWidget().getHorizontalChildrenAlign()==$[39]){c.addToLayoutChanges($[140])}var a=c._recomputePercentX();var b=c._recomputeFlexX();return a||b},updateChildOnInnerHeightChange:function(c){var a=c._recomputePercentY();var b=c._recomputeStretchingY();if((c.getVerticalAlign()||this.getWidget().getVerticalChildrenAlign())==$[31]){c.addToLayoutChanges($[141])}return a||b},updateSelfOnJobQueueFlush:function(a){if(a.addChild||a.removeChild){this.getWidget()._invalidateAccumulatedChildrenOuterWidth()}},updateChildrenOnJobQueueFlush:function(a){var d=false,b=false;var c=this.getWidget();if(a.orientation){d=b=true}if(a.spacing||a.orientation||a.reverseChildrenOrder||a.horizontalChildrenAlign){c._addChildrenToLayoutQueue($[140])}if(a.verticalChildrenAlign){c._addChildrenToLayoutQueue($[141])}if(a.stretchChildrenOrthogonalAxis){b=true}if(d){c._recomputeChildrenStretchingX();c._addChildrenToLayoutQueue($[20])}if(b){c._recomputeChildrenStretchingY();c._addChildrenToLayoutQueue($[34])}return true},updateChildrenOnRemoveChild:function(g,c){var b=this.getWidget(),e=b.getVisibleChildren(),a=e.length,f,d=-1;if(this.getEnableFlexSupport()){for(d=0;d<a;d++){f=e[d];if(f.getHasFlexX()){c=Math.min(c,d);break}}d=-1}switch(b.getLayoutMode()){case $[21]:case $[232]:while((f=e[++d])&&d<c){f.addToLayoutChanges($[140])}break;case $[39]:case $[243]:while(f=e[++d]){f.addToLayoutChanges($[140])}break;default:d+=c;while(f=e[++d]){f.addToLayoutChanges($[140])}}},updateChildrenOnMoveChild:function(g,b,e){var a=this.getWidget().getVisibleChildren();var f=Math.min(b,e);var d=Math.max(b,e)+1;d=Math.min(a.length,d);for(var c=f;c<d;c++){a[c].addToLayoutChanges($[140])}},flushChildrenQueue:function(d){var b=this.getWidget(),f=b.getVisibleChildren(),a=f.length,h,e;if(this.getEnableFlexSupport()){this.invalidateChildrenFlexWidth();for(e=0;e<a;e++){h=f[e];if(h.getHasFlexX()){h._computedWidthValue=null;if(h._recomputeBoxWidth()){h._recomputeOuterWidth();h._recomputeInnerWidth()}d[h.toHashCode()]=h;h._layoutChanges.width=true}}}switch(b.getLayoutMode()){case $[21]:case $[232]:for(var e=a-1;e>=0&&!d[f[e].toHashCode()];e--){}for(var c=0;c<=e;c++){b._layoutChild(h=f[c])}break;case $[39]:case $[243]:e=-1;while(h=f[++e]){b._layoutChild(h)}break;default:e=-1;var g=false;while(h=f[++e]){if(g||d[h.toHashCode()]){b._layoutChild(h);g=true}}}},layoutChild:function(b,a){this.layoutChild_sizeX(b,a);this.layoutChild_sizeY(b,a);this.layoutChild_sizeLimitX(b,a);this.layoutChild_sizeLimitY(b,a);this.layoutChild_locationX(b,a);this.layoutChild_locationY(b,a);this.layoutChild_marginX(b,a);this.layoutChild_marginY(b,a)},layoutChild_sizeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.width||a.minWidth||a.maxWidth){if(b._isWidthEssential()&&(!b._computedWidthTypeNull||!b._computedMinWidthTypeNull||!b._computedMaxWidthTypeNull)){b._renderRuntimeWidth(b.getBoxWidth())}else{b._resetRuntimeWidth()}}},"default":function(b,a){if(a.initial||a.width){if(b._isWidthEssential()&&!b._computedWidthTypeNull){b._renderRuntimeWidth(b.getWidthValue())}else{b._resetRuntimeWidth()}}}}),layoutChild_sizeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.height||a.minHeight||a.maxHeight){if((b._isHeightEssential()&&(!b._computedHeightTypeNull||!b._computedMinHeightTypeNull||!b._computedMaxHeightTypeNull))||(b.getAllowStretchY()&&this.getWidget().getStretchChildrenOrthogonalAxis())){b._renderRuntimeHeight(b.getBoxHeight())}else{b._resetRuntimeHeight()}}},"default":function(b,a){if(a.initial||a.height){if(b._isHeightEssential()&&!b._computedHeightTypeNull){b._renderRuntimeHeight(b.getHeightValue())}else{b._resetRuntimeHeight()}}}}),layoutChild_locationX:function(e,a){var d=this.getWidget();if(d.getFirstVisibleChild()==e){switch(d.getLayoutMode()){case $[21]:case $[232]:var b=d.getPaddingRight()+d.getAccumulatedChildrenOuterWidth()-e.getOuterWidth();break;case $[39]:case $[243]:var b=d.getPaddingLeft()+Math.round((d.getInnerWidth()-d.getAccumulatedChildrenOuterWidth())/2);break;default:var b=d.getPaddingLeft()}}else{var c=e.getPreviousVisibleSibling();switch(d.getLayoutMode()){case $[21]:case $[232]:var b=c._cachedLocationHorizontal-e.getOuterWidth()-d.getSpacing();break;default:var b=c._cachedLocationHorizontal+c.getOuterWidth()+d.getSpacing()}}e._cachedLocationHorizontal=b;switch(d.getLayoutMode()){case $[21]:case $[468]:case $[243]:b+=!e._computedRightTypeNull?e.getRightValue():!e._computedLeftTypeNull?-(e.getLeftValue()):0;e._resetRuntimeLeft();e._renderRuntimeRight(b);break;default:b+=!e._computedLeftTypeNull?e.getLeftValue():!e._computedRightTypeNull?-(e.getRightValue()):0;e._resetRuntimeRight();e._renderRuntimeLeft(b)}},layoutChild_locationY:function(e,a){var c=this.getWidget();if(qx.core.Variant.isSet($[0],$[43])){if(e.getAllowStretchY()&&c.getStretchChildrenOrthogonalAxis()&&e._computedHeightTypeNull){e._renderRuntimeTop(c.getPaddingTop()||0);e._renderRuntimeBottom(c.getPaddingBottom()||0);return}}var d=e.getVerticalAlign()||c.getVerticalChildrenAlign();var b=d==$[31]?Math.round((c.getInnerHeight()-e.getOuterHeight())/2):0;if(d==$[35]){b+=c.getPaddingBottom();if(!e._computedBottomTypeNull){b+=e.getBottomValue()}else{if(!e._computedTopTypeNull){b-=e.getTopValue()}}e._resetRuntimeTop();e._renderRuntimeBottom(b)}else{b+=c.getPaddingTop();if(!e._computedTopTypeNull){b+=e.getTopValue()}else{if(!e._computedBottomTypeNull){b-=e.getBottomValue()}}e._resetRuntimeBottom();e._renderRuntimeTop(b)}}}});
-qx.Class.define("qx.ui.basic.Atom",{extend:qx.ui.layout.BoxLayout,construct:function(c,e,d,a,b){arguments.callee.base.call(this);this.getLayoutImpl().setEnableFlexSupport(false);if(c!==undefined){this.setLabel(c)}if(qx.Class.isDefined($[407])&&b!=null&&d!=null&&a!=null&&qx.ui.embed.Flash.getPlayerVersion().getMajor()>0){this._flashMode=true;this.setIcon(b)}else{if(e!=null){this.setIcon(e)}}if(e||b){if(d!=null){this.setIconWidth(d)}if(a!=null){this.setIconHeight(a)}}this.initWidth();this.initHeight()},properties:{orientation:{refine:true,init:$[52]},allowStretchX:{refine:true,init:false},allowStretchY:{refine:true,init:false},appearance:{refine:true,init:"atom"},stretchChildrenOrthogonalAxis:{refine:true,init:false},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},horizontalChildrenAlign:{refine:true,init:$[39]},verticalChildrenAlign:{refine:true,init:$[31]},spacing:{refine:true,init:4},label:{apply:"_applyLabel",nullable:true,dispose:true,check:$[75]},icon:{check:$[27],apply:$[361],nullable:true,themeable:true},disabledIcon:{check:$[27],apply:"_applyDisabledIcon",nullable:true,themeable:true},show:{init:"both",check:["both",$[87],"icon","none"],themeable:true,nullable:true,inheritable:true,apply:"_applyShow",event:"changeShow"},iconPosition:{init:"left",check:["top",$[21],$[35],"left"],themeable:true,apply:"_applyIconPosition"},iconWidth:{check:$[22],themeable:true,apply:"_applyIconWidth",nullable:true},iconHeight:{check:$[22],themeable:true,apply:"_applyIconHeight",nullable:true}},members:{_flashMode:false,_labelObject:null,_iconObject:null,_createLabel:function(){var a=this._labelObject=new qx.ui.basic.Label(this.getLabel());a.setAnonymous(true);this.addAt(a,this._iconObject?1:0)},_createIcon:function(){if(this._flashMode&&qx.Class.isDefined($[407])){var b=this._iconObject=new qx.ui.embed.Flash(this.getIcon())}else{var b=this._iconObject=new qx.ui.basic.Image()}b.setAnonymous(true);var c=this.getIconWidth();if(c!==null){this._iconObject.setWidth(c)}var a=this.getIconWidth();if(a!==null){this._iconObject.setHeight(a)}this._updateIcon();this.addAt(b,0)},_updateIcon:function(){var a=this.getIcon();if(this._iconObject&&this.getIcon&&this.getDisabledIcon){var b=this.getDisabledIcon();if(b){if(this.getEnabled()){a?this._iconObject.setSource(a):this._iconObject.resetSource()}else{b?this._iconObject.setSource(b):this._iconObject.resetSource()}this._iconObject.setEnabled(true)}else{a?this._iconObject.setSource(a):this._iconObject.resetSource();this._iconObject.resetEnabled()}}},getLabelObject:function(){return this._labelObject},getIconObject:function(){return this._iconObject},_applyIconPosition:function(b,a){switch(b){case"top":case $[35]:this.setOrientation($[44]);this.setReverseChildrenOrder(b==$[35]);break;default:this.setOrientation($[52]);this.setReverseChildrenOrder(b==$[21]);break}},_applyShow:function(b,a){this._handleIcon();this._handleLabel()},_applyLabel:function(b,a){if(this._labelObject){b?this._labelObject.setText(b):this._labelObject.resetText()}this._handleLabel()},_applyIcon:function(b,a){this._updateIcon();this._handleIcon()},_applyDisabledIcon:function(b,a){this._updateIcon();this._handleIcon()},_applyIconWidth:function(b,a){if(this._iconObject){this._iconObject.setWidth(b)}},_applyIconHeight:function(b,a){if(this._iconObject){this._iconObject.setHeight(b)}},_iconIsVisible:false,_labelIsVisible:false,_handleLabel:function(){switch(this.getShow()){case $[87]:case"both":case $[153]:this._labelIsVisible=!!this.getLabel();break;default:this._labelIsVisible=false}if(this._labelIsVisible){this._labelObject?this._labelObject.setDisplay(true):this._createLabel()}else{if(this._labelObject){this._labelObject.setDisplay(false)}}},_handleIcon:function(){switch(this.getShow()){case"icon":case"both":case $[153]:this._iconIsVisible=!!this.getIcon();break;default:this._iconIsVisible=false}if(this._iconIsVisible){this._iconObject?this._iconObject.setDisplay(true):this._createIcon()}else{if(this._iconObject){this._iconObject.setDisplay(false)}}}},destruct:function(){this._disposeObjects("_iconObject","_labelObject")}});
-qx.Class.define("qx.ui.basic.Label",{extend:qx.ui.basic.Terminator,construct:function(a){arguments.callee.base.call(this);if(a!=null){this.setText(a)}this.initWidth();this.initHeight();this.initSelectable();this.initCursor();this.initWrap()},statics:{_getMeasureNode:function(){var b=this._measureNode;if(!b){b=document.createElement("div");var a=b.style;a.width=a.height="auto";a.visibility=$[13];a.position=$[32];a.zIndex="-1";document.body.appendChild(b);this._measureNode=b}return b}},properties:{appearance:{refine:true,init:$[87]},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},allowStretchX:{refine:true,init:false},allowStretchY:{refine:true,init:false},selectable:{refine:true,init:false},text:{apply:"_applyText",init:"",dispose:true,check:$[75]},wrap:{check:$[3],init:false,nullable:true,apply:$[395]},textAlign:{check:["left",$[39],$[21],"justify"],nullable:true,themeable:true,apply:$[401]},textOverflow:{check:$[3],init:true},mode:{check:["html","text","auto"],init:"auto"}},members:{_content:"",_applyTextAlign:function(b,a){b===null?this.removeStyleProperty($[276]):this.setStyleProperty($[276],b)},_applyFont:function(b,a){qx.theme.manager.Font.getInstance().connect(this._styleFont,this,b)},_styleFont:function(a){this._invalidatePreferredInnerDimensions();a?a.render(this):qx.ui.core.Font.reset(this)},_applyTextColor:function(b,a){qx.theme.manager.Color.getInstance().connect(this._styleTextColor,this,b)},_styleTextColor:function(a){a?this.setStyleProperty($[5],a):this.removeStyleProperty($[5])},_applyWrap:function(b,a){b==null?this.removeStyleProperty("whiteSpace"):this.setStyleProperty("whiteSpace",b?$[131]:"nowrap")},_applyText:function(b,a){this._syncText(this.getText())},_syncText:function(a){this._content=a;if(this._isCreated){this._renderContent()}},_computeObjectNeededDimensions:function(){var a=this.self(arguments)._getMeasureNode();var b=a.style;var c=this._styleProperties;b.fontFamily=c.fontFamily||"";b.fontSize=c.fontSize||"";b.fontWeight=c.fontWeight||"";b.fontStyle=c.fontStyle||"";a.innerHTML=this._content;this._cachedPreferredInnerWidth=a.scrollWidth;this._cachedPreferredInnerHeight=a.scrollHeight},_computePreferredInnerWidth:function(){this._computeObjectNeededDimensions();return this._cachedPreferredInnerWidth},_computePreferredInnerHeight:function(){this._computeObjectNeededDimensions();return this._cachedPreferredInnerHeight},_postApply:function(){var b=this._content;var a=this._getTargetNode();if(b==null){a.innerHTML=""}else{var c=a.style;if(!this.getWrap()){if(this.getInnerWidth()<this.getPreferredInnerWidth()){c.overflow=$[13]}else{c.overflow=""}}a.innerHTML=b}}}});
-qx.Class.define("qx.ui.basic.Image",{extend:qx.ui.basic.Terminator,construct:function(c,b,a){arguments.callee.base.call(this);this._blank=qx.io.Alias.getInstance().resolve($[345]);if(c!=null){this.setSource(c)}if(b!=null){this.setWidth(b)}else{this.initWidth()}if(a!=null){this.setHeight(a)}else{this.initHeight()}this.initSelectable()},events:{error:$[9]},properties:{allowStretchX:{refine:true,init:false},allowStretchY:{refine:true,init:false},selectable:{refine:true,init:false},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},appearance:{refine:true,init:$[38]},source:{check:$[27],apply:$[435],event:$[417],nullable:true,themeable:true},preloader:{check:$[512],apply:"_applyPreloader",nullable:true},loaded:{check:$[3],init:false,apply:"_applyLoaded"},resizeToInner:{check:$[3],init:false}},members:{_onload:function(){this.setLoaded(true)},_beforeAppear:function(){var a=this.getSource();if(a){qx.io.image.Manager.getInstance().show(a);this._registeredAsVisible=true}return arguments.callee.base.call(this)},_beforeDisappear:function(){var a=this.getSource();if(a&&this._registeredAsVisible){qx.io.image.Manager.getInstance().hide(a);delete this._registeredAsVisible}return arguments.callee.base.call(this)},_applySource:function(c,a){var b=qx.io.image.Manager.getInstance();if(a){b.remove(a);if(this._registeredAsVisible){b.hide(a);delete this._registeredAsVisible}}if(c){b.add(c);if(this.isSeeable()){this._registeredAsVisible=true;b.show(c)}}if(this.isCreated()){this._connect()}},_connect:function(){var a=qx.io.Alias.getInstance();a.connect(this._syncSource,this,this.getSource())},_syncSource:function(b){if(b===null){this.setPreloader(null)}else{var a=qx.io.image.PreloaderManager.getInstance().create(b);this.setPreloader(a)}},_applyPreloader:function(b,a){if(a){a.removeEventListener("load",this._onload,this)}if(b){this.setLoaded(false);if(!b.isErroneous()&&b.isLoaded()){this.setLoaded(true)}else{b.addEventListener("load",this._onload,this)}}else{this.setLoaded(false)}},_applyLoaded:function(b,a){if(b&&this.isCreated()){this._renderContent()}else{if(!b){this._invalidatePreferredInnerWidth();this._invalidatePreferredInnerHeight()}}},_applyElement:function(c,a){if(c){if(!this._image){try{if(qx.core.Variant.isSet($[0],$[71])){this._image=document.createElement("img")}else{this._image=new Image}this._image.style.border="0 none";this._image.style.verticalAlign="top";this._image.alt="";this._image.title=""}catch(b){throw new Error("Failed while creating image #1 "+b)}if(qx.core.Variant.isSet($[0],$[498])){this._styleEnabled()}}c.appendChild(this._image)}arguments.callee.base.call(this,c,a);if(c&&this.getSource()){this._connect()}},_postApply:function(){this._postApplyDimensions();this._updateContent()},_applyEnabled:function(b,a){if(this._image){this._styleEnabled()}return arguments.callee.base.call(this,b,a)},_updateContent:qx.core.Variant.select($[0],{mshtml:function(){var a=this._image;var b=this.getPreloader();var c=b&&b.isLoaded()?b.getSource():this._blank;if(b&&b.getIsPng()&&this.getEnabled()){a.src=this._blank;a.style.filter=$[333]+c+"',sizingMethod='scale')"}else{a.src=c;a.style.filter=this.getEnabled()?"":"Gray() Alpha(Opacity=30)"}},"default":function(){var a=this.getPreloader();var b=a&&a.isLoaded()?a.getSource():this._blank;this._image.src=b}}),_resetContent:qx.core.Variant.select($[0],{mshtml:function(){this._image.src=this._blank;this._image.style.filter=""},"default":function(){this._image.src=this._blank}}),_styleEnabled:qx.core.Variant.select($[0],{mshtml:function(){this._updateContent()},"default":function(){if(this._image){var b=this.getEnabled()===false?0.3:"";var a=this._image.style;a.opacity=a.KhtmlOpacity=a.MozOpacity=b}}}),_computePreferredInnerWidth:function(){var a=this.getPreloader();return a?a.getWidth():0},_computePreferredInnerHeight:function(){var a=this.getPreloader();return a?a.getHeight():0},_postApplyDimensions:qx.core.Variant.select($[0],{mshtml:function(){try{var b=this._image.style;if(this.getResizeToInner()){b.pixelWidth=this.getInnerWidth();b.pixelHeight=this.getInnerHeight()}else{b.pixelWidth=this.getPreferredInnerWidth();b.pixelHeight=this.getPreferredInnerHeight()}}catch(a){throw new Error($[403]+a)}},"default":function(){try{var b=this._image;if(this.getResizeToInner()){b.width=this.getInnerWidth();b.height=this.getInnerHeight()}else{b.width=this.getPreferredInnerWidth();b.height=this.getPreferredInnerHeight()}}catch(a){throw new Error($[403]+a)}}}),_changeInnerWidth:qx.core.Variant.select($[0],{mshtml:function(b,a){if(this.getResizeToInner()){this._image.style.pixelWidth=b}},"default":function(b,a){if(this.getResizeToInner()){this._image.width=b}}}),_changeInnerHeight:qx.core.Variant.select($[0],{mshtml:function(b,a){if(this.getResizeToInner()){this._image.style.pixelHeight=b}},"default":function(b,a){if(this.getResizeToInner()){this._image.height=b}}})},destruct:function(){if(this._image){this._image.style.filter=""}this._disposeFields("_image")}});
-qx.Class.define("qx.io.image.PreloaderManager",{type:$[30],extend:qx.core.Object,construct:function(){arguments.callee.base.call(this);this._objects={}},members:{add:function(a){this._objects[a.getUri()]=a},remove:function(a){delete this._objects[a.getUri()]},has:function(a){return this._objects[a]!=null},get:function(a){return this._objects[a]},create:function(a){if(this._objects[a]){return this._objects[a]}return new qx.io.image.Preloader(a)}},destruct:function(){this._disposeFields("_objects")}});
-qx.Class.define($[512],{extend:qx.core.Target,events:{load:$[9],error:$[9]},construct:function(a){if(qx.io.image.PreloaderManager.getInstance().has(a)){return qx.io.image.PreloaderManager.getInstance().get(a)}arguments.callee.base.call(this);this._element=new Image;this._element.onload=qx.lang.Function.bind(this.__onload,this);this._element.onerror=qx.lang.Function.bind(this.__onerror,this);this._source=a;this._element.src=a;if(qx.core.Variant.isSet($[0],$[19])){this._isPng=/\.png$/i.test(this._element.nameProp)}qx.io.image.PreloaderManager.getInstance().add(this)},members:{_source:null,_isLoaded:false,_isErroneous:false,getUri:function(){return this._source},getSource:function(){return this._source},isLoaded:function(){return this._isLoaded},isErroneous:function(){return this._isErroneous},_isPng:false,getIsPng:function(){return this._isPng},getWidth:qx.core.Variant.select($[0],{gecko:function(){return this._element.naturalWidth},"default":function(){return this._element.width}}),getHeight:qx.core.Variant.select($[0],{gecko:function(){return this._element.naturalHeight},"default":function(){return this._element.height}}),__onload:function(){if(this._isLoaded||this._isErroneous){return}this._isLoaded=true;this._isErroneous=false;if(this.hasEventListeners("load")){this.dispatchEvent(new qx.event.type.Event("load"),true)}},__onerror:function(){if(this._isLoaded||this._isErroneous){return}this._isLoaded=false;this._isErroneous=true;if(this.hasEventListeners("error")){this.dispatchEvent(new qx.event.type.Event("error"),true)}}},destruct:function(){if(this._element){this._element.onload=this._element.onerror=null}this._disposeFields("_element","_isLoaded","_isErroneous","_isPng")}});
-qx.Class.define("qx.ui.form.ListItem",{extend:qx.ui.basic.Atom,construct:function(c,a,b){arguments.callee.base.call(this,c,a);if(b!=null){this.setValue(b)}this.addEventListener($[61],this._ondblclick);this.initMinWidth()},events:{action:$[9]},properties:{appearance:{refine:true,init:"list-item"},minWidth:{refine:true,init:"auto"},width:{refine:true,init:null},allowStretchX:{refine:true,init:true},value:{check:$[27],event:$[77]}},members:{handleStateChange:function(){if(this.hasState("lead")){this.setStyleProperty($[116],$[370])}else{this.setStyleProperty($[116],"0px none")}},_applyStateStyleFocus:function(a){},matchesString:function(a){a=String(a);return a!=""&&this.getLabel().toString().toLowerCase().indexOf(a.toLowerCase())==0},matchesStringExact:function(a){a=String(a);return a!=""&&this.getLabel().toString().toLowerCase()==String(a).toLowerCase()},matchesValue:function(a){a=String(a);return a!=""&&this.getValue().toLowerCase().indexOf(a.toLowerCase())==0},matchesValueExact:function(a){a=String(a);return a!=""&&this.getValue().toLowerCase()==String(a).toLowerCase()},_ondblclick:function(b){var a=this.getCommand();if(a){a.execute()}}}});
-qx.Class.define("qx.constant.Layout",{statics:{ORIENTATION_HORIZONTAL:$[52],ORIENTATION_VERTICAL:$[44],ALIGN_LEFT:"left",ALIGN_LEFT_REVERSED:$[232],ALIGN_CENTER:$[39],ALIGN_CENTER_REVERSED:$[243],ALIGN_RIGHT:$[21],ALIGN_RIGHT_REVERSED:$[468],ALIGN_TOP:"top",ALIGN_TOP_REVERSED:$[237],ALIGN_MIDDLE:$[31],ALIGN_MIDDLE_REVERSED:$[247],ALIGN_BOTTOM:$[35],ALIGN_BOTTOM_REVERSED:$[483]}});
-qx.Class.define("qx.constant.Style",{statics:{POSITION_ABSOLUTE:$[32],POSITION_RELATIVE:"relative",POSITION_STATIC:$[129],POSITION_FIXED:$[152],CURSOR_WAIT:"wait",CURSOR_PROGRESS:$[263],CURSOR_DEFAULT:$[36],CURSOR_HAND:$[148],OVERFLOW_AUTO:"auto",OVERFLOW_HIDDEN:$[13],OVERFLOW_BOTH:$[25],OVERFLOW_HORIZONTAL:$[91],OVERFLOW_VERTICAL:$[90],OVERFLOW_ELLIPSIS:"ellipsis",OVERFLOW_VISIBLE:"visible",OVERFLOW_MOZ_NONE:$[284],OVERFLOW_MOZ_HORIZONTAL:$[313],OVERFLOW_MOZ_VERTICAL:$[254],FOCUS_OUTLINE:$[323],BORDER_SOLID:$[18],LABEL_MODE_HTML:"html",BUTTON_SHOW_ICON:"icon"}});
-qx.Class.define($[508],{type:$[102],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this)},events:{created:$[9],configured:$[9],sending:$[9],receiving:$[9],completed:$[9],aborted:$[9],failed:$[9],timeout:$[9]},properties:{url:{check:$[27],nullable:true},method:{check:$[27],nullable:true},asynchronous:{check:$[3],nullable:true},data:{check:$[27],nullable:true},username:{check:$[27],nullable:true},password:{check:$[27],nullable:true},state:{check:[$[169],$[101],$[62],$[68],$[41],$[66],$[63],$[50]],init:$[169],event:$[366],apply:$[405]},requestHeaders:{check:$[108],nullable:true},parameters:{check:$[108],nullable:true},formFields:{check:$[108],nullable:true},responseType:{check:$[27],nullable:true},useBasicHttpAuth:{check:$[3],nullable:true}},members:{send:function(){throw new Error("send is abstract")},abort:function(){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[186])){throw new Error("Aborting...")}}this.setState($[66])},timeout:function(){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[186])){throw new Error("Timeout...")}}this.setState($[63])},failed:function(){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[186])){throw new Error("Failed...")}}this.setState($[50])},setRequestHeader:function(a,b){throw new Error("setRequestHeader is abstract")},getResponseHeader:function(a){throw new Error("getResponseHeader is abstract")},getResponseHeaders:function(){throw new Error("getResponseHeaders is abstract")},getStatusCode:function(){throw new Error("getStatusCode is abstract")},getStatusText:function(){throw new Error("getStatusText is abstract")},getResponseText:function(){throw new Error("getResponseText is abstract")},getResponseXml:function(){throw new Error("getResponseXml is abstract")},getFetchedLength:function(){throw new Error("getFetchedLength is abstract")},_applyState:function(b,a){switch(b){case $[169]:this.createDispatchEvent($[169]);break;case $[101]:this.createDispatchEvent($[101]);break;case $[62]:this.createDispatchEvent($[62]);break;case $[68]:this.createDispatchEvent($[68]);break;case $[41]:this.createDispatchEvent($[41]);break;case $[66]:this.createDispatchEvent($[66]);break;case $[50]:this.createDispatchEvent($[50]);break;case $[63]:this.createDispatchEvent($[63]);break}return true}}});
+qx.Class.define("qx.bom.element.Overflow",{statics:{getX:qx.core.Variant.select($[0],{gecko:org.eclipse.rwt.Client.getVersion()<1.8?function(a,b){var c=qx.bom.element.Style.get(a,$[71],b,false);if(c===$[283]){c=$[15]}return c}:function(a,b){return qx.bom.element.Style.get(a,$[103],b,false)},opera:org.eclipse.rwt.Client.getVersion()<9.5?function(a,b){return qx.bom.element.Style.get(a,$[71],b,false)}:function(a,b){return qx.bom.element.Style.get(a,$[103],b,false)},"default":function(a,b){return qx.bom.element.Style.get(a,$[103],b,false)}}),getY:qx.core.Variant.select($[0],{gecko:org.eclipse.rwt.Client.getVersion()<1.8?function(a,b){var c=qx.bom.element.Style.get(a,$[71],b,false);if(c===$[283]){c=$[15]}return c}:function(a,b){return qx.bom.element.Style.get(a,$[104],b,false)},opera:org.eclipse.rwt.Client.getVersion()<9.5?function(a,b){return qx.bom.element.Style.get(a,$[71],b,false)}:function(a,b){return qx.bom.element.Style.get(a,$[104],b,false)},"default":function(a,b){return qx.bom.element.Style.get(a,$[104],b,false)}})}});
+qx.Class.define("qx.io.image.Manager",{type:$[29],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this);this.__visible={};this.__all={}},members:{add:function(b){var a=this.__all;if(a[b]===undefined){a[b]=1}else{a[b]++}},remove:function(b){var a=this.__all;if(a[b]!==undefined){a[b]--}if(a[b]<=0){delete a[b]}},show:function(b){var a=this.__visible;if(a[b]===undefined){a[b]=1}else{a[b]++}},hide:function(b){var a=this.__visible;if(a[b]!==undefined){a[b]--}if(a[b]<=0){delete a[b]}},getVisibleImages:function(){var c=this.__visible;var b={};for(var a in c){if(c[a]>0){b[a]=true}}return b},getHiddenImages:function(){var d=this.__visible;var a=this.__all;var c={};for(var b in a){if(d[b]===undefined){c[b]=true}}return c}},destruct:function(){this._disposeFields("__all","__visible")}});
+qx.Class.define("qx.html.Offset",{statics:{getLeft:qx.core.Variant.select($[0],{gecko:function(c){var f=c.offsetLeft;var b=c.parentNode;var e=qx.html.Style.getStyleProperty(c,$[143]);var d=qx.html.Style.getStyleProperty(b,$[143]);if(e!=$[35]&&e!=$[150]){f-=qx.html.Style.getBorderLeft(b)}if(d!=$[35]&&d!=$[150]){while(b){b=b.parentNode;if(!b||typeof b.tagName!==$[13]){break}var a=qx.html.Style.getStyleProperty(b,$[143]);if(a==$[35]||a==$[150]){f-=qx.html.Style.getBorderLeft(b)+qx.html.Style.getPaddingLeft(b);break}}}return f},"default":function(a){return a.offsetLeft}}),getTop:qx.core.Variant.select($[0],{gecko:function(c){var f=c.offsetTop;var b=c.parentNode;var e=qx.html.Style.getStyleProperty(c,$[143]);var d=qx.html.Style.getStyleProperty(b,$[143]);if(e!=$[35]&&e!=$[150]){f-=qx.html.Style.getBorderTop(b)}if(d!=$[35]&&d!=$[150]){while(b){b=b.parentNode;if(!b||typeof b.tagName!==$[13]){break}var a=qx.html.Style.getStyleProperty(b,$[143]);if(a==$[35]||a==$[150]){f-=qx.html.Style.getBorderTop(b)+qx.html.Style.getPaddingTop(b);break}}}return f},"default":function(a){return a.offsetTop}})}});
+qx.Class.define("qx.html.ScrollIntoView",{statics:{scrollX:function(b,c){var a,f,e,d;var g=b.parentNode;var h=b.offsetLeft;var e=b.offsetWidth;while(g){switch(qx.html.Style.getStyleProperty(g,$[71])){case $[24]:case"auto":case $[313]:d=true;break;default:switch(qx.html.Style.getStyleProperty(g,$[103])){case $[24]:case"auto":d=true;break;default:d=false}}if(d){a=g.clientWidth;f=g.scrollLeft;if(c){g.scrollLeft=h}else{if(c==false){g.scrollLeft=h+e-a}else{if(e>a||h<f){g.scrollLeft=h}else{if((h+e)>(f+a)){g.scrollLeft=h+e-a}}}}h=g.offsetLeft;e=g.offsetWidth}else{h+=g.offsetLeft}if(g.tagName.toLowerCase()=="body"){break}g=g.offsetParent}return true},scrollY:function(b,d){var g,a,c,e;var f=b.parentNode;var h=b.offsetTop;var c=b.offsetHeight;while(f){switch(qx.html.Style.getStyleProperty(f,$[71])){case $[24]:case"auto":case $[252]:e=true;break;default:switch(qx.html.Style.getStyleProperty(f,$[104])){case $[24]:case"auto":e=true;break;default:e=false}}if(e){g=f.clientHeight;a=f.scrollTop;if(d){f.scrollTop=h}else{if(d==false){f.scrollTop=h+c-g}else{if(c>g||h<a){f.scrollTop=h}else{if((h+c)>(a+g)){f.scrollTop=h+c-g}}}}h=f.offsetTop;c=f.offsetHeight}else{h+=f.offsetTop}if(f.tagName.toLowerCase()=="body"){break}f=f.offsetParent}return true}}});
+qx.Class.define("qx.ui.layout.BoxLayout",{extend:qx.ui.core.Parent,construct:function(a){arguments.callee.base.call(this);if(a!=null){this.setOrientation(a)}else{this.initOrientation()}},statics:{STR_REVERSED:"-reversed"},properties:{orientation:{check:[$[52],$[44]],init:$[52],apply:$[429],event:"changeOrientation"},spacing:{check:$[22],init:0,themeable:true,apply:$[540],event:$[527]},horizontalChildrenAlign:{check:["left",$[39],$[21]],init:"left",themeable:true,apply:$[501]},verticalChildrenAlign:{check:["top",$[31],$[34]],init:"top",themeable:true,apply:$[539]},reverseChildrenOrder:{check:$[3],init:false,apply:"_applyReverseChildrenOrder"},stretchChildrenOrthogonalAxis:{check:$[3],init:true,apply:"_applyStretchChildrenOrthogonalAxis"},useAdvancedFlexAllocation:{check:$[3],init:false,apply:"_applyUseAdvancedFlexAllocation"},accumulatedChildrenOuterWidth:{_cached:true,defaultValue:null},accumulatedChildrenOuterHeight:{_cached:true,defaultValue:null}},members:{_createLayoutImpl:function(){return this.getOrientation()==$[44]?new qx.ui.layout.impl.VerticalBoxLayoutImpl(this):new qx.ui.layout.impl.HorizontalBoxLayoutImpl(this)},_layoutHorizontal:false,_layoutVertical:false,_layoutMode:"left",isHorizontal:function(){return this._layoutHorizontal},isVertical:function(){return this._layoutVertical},getLayoutMode:function(){if(this._layoutMode==null){this._updateLayoutMode()}return this._layoutMode},_updateLayoutMode:function(){this._layoutMode=this._layoutVertical?this.getVerticalChildrenAlign():this.getHorizontalChildrenAlign();if(this.getReverseChildrenOrder()){this._layoutMode+=qx.ui.layout.BoxLayout.STR_REVERSED}},_invalidateLayoutMode:function(){this._layoutMode=null},_applyOrientation:function(b,a){this._layoutHorizontal=b==$[52];this._layoutVertical=b==$[44];if(this._layoutImpl){this._layoutImpl.dispose();this._layoutImpl=null}if(b){this._layoutImpl=this._createLayoutImpl()}this._doLayoutOrder(b,a);this.addToQueueRuntime("orientation")},_applySpacing:function(b,a){this._doLayout();this.addToQueueRuntime($[106])},_applyHorizontalChildrenAlign:function(b,a){this._doLayoutOrder();this.addToQueueRuntime("horizontalChildrenAlign")},_applyVerticalChildrenAlign:function(b,a){this._doLayoutOrder();this.addToQueueRuntime("verticalChildrenAlign")},_applyReverseChildrenOrder:function(b,a){this._doLayoutOrder();this.addToQueueRuntime("reverseChildrenOrder")},_applyStretchChildrenOrthogonalAxis:function(b,a){this.addToQueueRuntime("stretchChildrenOrthogonalAxis")},_applyUseAdvancedFlexAllocation:function(b,a){this.addToQueueRuntime("useAdvancedFlexAllocation")},_doLayoutOrder:function(){this._invalidateLayoutMode();this._doLayout()},_doLayout:function(){this._invalidatePreferredInnerDimensions();this._invalidateAccumulatedChildrenOuterWidth();this._invalidateAccumulatedChildrenOuterHeight()},_computeAccumulatedChildrenOuterWidth:function(){var c=this.getVisibleChildren(),e,a=-1,d=this.getSpacing(),b=-d;while(e=c[++a]){b+=e.getOuterWidth()+d}return b},_computeAccumulatedChildrenOuterHeight:function(){var c=this.getVisibleChildren(),e,a=-1,d=this.getSpacing(),b=-d;while(e=c[++a]){b+=e.getOuterHeight()+d}return b},_recomputeChildrenStretchingX:function(){var b=this.getVisibleChildren(),c,a=-1;while(c=b[++a]){if(c._recomputeStretchingX()&&c._recomputeBoxWidth()){c._recomputeOuterWidth()}}},_recomputeChildrenStretchingY:function(){var b=this.getVisibleChildren(),c,a=-1;while(c=b[++a]){if(c._recomputeStretchingY()&&c._recomputeBoxHeight()){c._recomputeOuterHeight()}}}}});
+qx.Class.define("qx.ui.layout.impl.VerticalBoxLayoutImpl",{extend:qx.ui.layout.impl.LayoutImpl,properties:{enableFlexSupport:{check:$[3],init:true}},members:{computeChildBoxWidth:function(a){if(this.getWidget().getStretchChildrenOrthogonalAxis()&&a._computedWidthTypeNull&&a.getAllowStretchX()){return this.getWidget().getInnerWidth()}return a.getWidthValue()||a._computeBoxWidthFallback()},computeChildBoxHeight:function(a){return a.getHeightValue()||a._computeBoxHeightFallback()},computeChildrenFlexHeight:function(){if(this._childrenFlexHeightComputed||!this.getEnableFlexSupport()){return}this._childrenFlexHeightComputed=true;var j=this.getWidget();var i=j.getVisibleChildren();var g=i.length;var m;var e=[];var s=j.getInnerHeight();var n=j.getSpacing()*(g-1);var q;for(q=0;q<g;q++){m=i[q];if(m._computedHeightTypeFlex){e.push(m);if(j._computedHeightTypeAuto){n+=m.getPreferredBoxHeight()}}else{n+=m.getOuterHeight()}}var d=s-n;var c=e.length;var f=0;for(q=0;q<c;q++){f+=e[q]._computedHeightParsed}var h=d/f;if(!j.getUseAdvancedFlexAllocation()){for(q=0;q<c;q++){m=e[q];m._computedHeightFlexValue=Math.round(m._computedHeightParsed*h);n+=m._computedHeightFlexValue}}else{var b=0;var k,c,a,p,l,r;for(q=0;q<c;q++){m=e[q];r=m._computedHeightFlexValue=m._computedHeightParsed*h;b+=r-qx.lang.Number.limit(r,m.getMinHeightValue(),m.getMaxHeightValue())}b=Math.round(b);if(b==0){for(q=0;q<c;q++){m=e[q];m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=m._computedHeightFlexValue}}else{var o=b>0;for(q=c-1;q>=0;q--){m=e[q];if(o){a=(m.getMaxHeightValue()||Infinity)-m._computedHeightFlexValue;if(a>0){m._allocationLoops=Math.floor(a/m._computedHeightParsed)}else{qx.lang.Array.removeAt(e,q);m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=Math.round(m._computedHeightFlexValue+a)}}else{a=qx.util.Validation.isValidNumber(m.getMinHeightValue())?m._computedHeightFlexValue-m.getMinHeightValue():m._computedHeightFlexValue;if(a>0){m._allocationLoops=Math.floor(a/m._computedHeightParsed)}else{qx.lang.Array.removeAt(e,q);m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=Math.round(m._computedHeightFlexValue-a)}}}while(b!=0&&c>0){c=e.length;k=Infinity;l=0;for(q=0;q<c;q++){k=Math.min(k,e[q]._allocationLoops);l+=e[q]._computedHeightParsed}p=Math.min(l*k,b);b-=p;for(q=c-1;q>=0;q--){m=e[q];m._computedHeightFlexValue+=p/l*m._computedHeightParsed;if(m._allocationLoops==k){m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=m._computedHeightFlexValue;delete m._allocationLoops;qx.lang.Array.removeAt(e,q)}else{if(b==0){m._computedHeightFlexValue=Math.round(m._computedHeightFlexValue);n+=m._computedHeightFlexValue;delete m._allocationLoops}else{m._allocationLoops-=k}}}}}}m._computedHeightFlexValue+=s-n},invalidateChildrenFlexHeight:function(){delete this._childrenFlexHeightComputed},computeChildrenNeededHeight:function(){var a=this.getWidget();return qx.ui.layout.impl.LayoutImpl.prototype.computeChildrenNeededHeight_sum.call(this)+((a.getVisibleChildrenLength()-1)*a.getSpacing())},updateSelfOnChildOuterHeightChange:function(a){this.getWidget()._invalidateAccumulatedChildrenOuterHeight()},updateChildOnInnerWidthChange:function(c){var a=c._recomputePercentX();var b=c._recomputeStretchingX();if((c.getHorizontalAlign()||this.getWidget().getHorizontalChildrenAlign())==$[39]){c.addToLayoutChanges($[139])}return a||b},updateChildOnInnerHeightChange:function(c){if(this.getWidget().getVerticalChildrenAlign()==$[31]){c.addToLayoutChanges($[140])}var a=c._recomputePercentY();var b=c._recomputeFlexY();return a||b},updateSelfOnJobQueueFlush:function(a){if(a.addChild||a.removeChild){this.getWidget()._invalidateAccumulatedChildrenOuterHeight()}},updateChildrenOnJobQueueFlush:function(a){var d=false,b=false;var c=this.getWidget();if(a.orientation){d=b=true}if(a.spacing||a.orientation||a.reverseChildrenOrder||a.verticalChildrenAlign){c._addChildrenToLayoutQueue($[140])}if(a.horizontalChildrenAlign){c._addChildrenToLayoutQueue($[139])}if(a.stretchChildrenOrthogonalAxis){d=true}if(d){c._recomputeChildrenStretchingX();c._addChildrenToLayoutQueue($[19])}if(b){c._recomputeChildrenStretchingY();c._addChildrenToLayoutQueue($[33])}return true},updateChildrenOnRemoveChild:function(g,c){var b=this.getWidget(),e=b.getVisibleChildren(),a=e.length,f,d=-1;if(this.getEnableFlexSupport()){for(var d=0;d<a;d++){f=e[d];if(f.getHasFlexY()){c=Math.min(c,d);break}}d=-1}switch(b.getLayoutMode()){case $[34]:case $[237]:while((f=e[++d])&&d<c){f.addToLayoutChanges($[140])}break;case $[31]:case $[246]:while(f=e[++d]){f.addToLayoutChanges($[140])}break;default:d+=c;while(f=e[++d]){f.addToLayoutChanges($[140])}}},updateChildrenOnMoveChild:function(g,b,e){var a=this.getWidget().getVisibleChildren();var f=Math.min(b,e);var d=Math.max(b,e)+1;d=Math.min(a.length,d);for(var c=f;c<d;c++){a[c].addToLayoutChanges($[140])}},flushChildrenQueue:function(d){var b=this.getWidget(),f=b.getVisibleChildren(),a=f.length,h,e;if(this.getEnableFlexSupport()){this.invalidateChildrenFlexHeight();for(e=0;e<a;e++){h=f[e];if(h.getHasFlexY()){h._computedHeightValue=null;if(h._recomputeBoxHeight()){h._recomputeOuterHeight();h._recomputeInnerHeight()}d[h.toHashCode()]=h;h._layoutChanges.height=true}}}switch(b.getLayoutMode()){case $[34]:case $[237]:for(var e=a-1;e>=0&&!d[f[e].toHashCode()];e--){}for(var c=0;c<=e;c++){b._layoutChild(h=f[c])}break;case $[31]:case $[246]:e=-1;while(h=f[++e]){b._layoutChild(h)}break;default:e=-1;var g=false;while(h=f[++e]){if(g||d[h.toHashCode()]){b._layoutChild(h);g=true}}}},layoutChild:function(b,a){this.layoutChild_sizeX(b,a);this.layoutChild_sizeY(b,a);this.layoutChild_sizeLimitX(b,a);this.layoutChild_sizeLimitY(b,a);this.layoutChild_locationX(b,a);this.layoutChild_locationY(b,a);this.layoutChild_marginX(b,a);this.layoutChild_marginY(b,a)},layoutChild_sizeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.width||a.minWidth||a.maxWidth){if((b._isWidthEssential()&&(!b._computedWidthTypeNull||!b._computedMinWidthTypeNull||!b._computedMaxWidthTypeNull))||(b.getAllowStretchX()&&this.getWidget().getStretchChildrenOrthogonalAxis())){b._renderRuntimeWidth(b.getBoxWidth())}else{b._resetRuntimeWidth()}}},"default":function(b,a){if(a.initial||a.width){if(b._isWidthEssential()&&!b._computedWidthTypeNull){b._renderRuntimeWidth(b.getWidthValue())}else{b._resetRuntimeWidth()}}}}),layoutChild_sizeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.height||a.minHeight||a.maxHeight){if(b._isHeightEssential()&&(!b._computedHeightTypeNull||!b._computedMinHeightTypeNull||!b._computedMaxHeightTypeNull)){b._renderRuntimeHeight(b.getBoxHeight())}else{b._resetRuntimeHeight()}}},"default":function(b,a){if(a.initial||a.height){if(b._isHeightEssential()&&!b._computedHeightTypeNull){b._renderRuntimeHeight(b.getHeightValue())}else{b._resetRuntimeHeight()}}}}),layoutChild_locationY:function(e,a){var d=this.getWidget();if(d.getFirstVisibleChild()==e){switch(d.getLayoutMode()){case $[34]:case $[237]:var b=d.getPaddingBottom()+d.getAccumulatedChildrenOuterHeight()-e.getOuterHeight();break;case $[31]:case $[246]:var b=d.getPaddingTop()+Math.round((d.getInnerHeight()-d.getAccumulatedChildrenOuterHeight())/2);break;default:var b=d.getPaddingTop()}}else{var c=e.getPreviousVisibleSibling();switch(d.getLayoutMode()){case $[34]:case $[237]:var b=c._cachedLocationVertical-e.getOuterHeight()-d.getSpacing();break;default:var b=c._cachedLocationVertical+c.getOuterHeight()+d.getSpacing()}}e._cachedLocationVertical=b;switch(this.getWidget().getLayoutMode()){case $[34]:case $[481]:case $[246]:b+=!e._computedBottomTypeNull?e.getBottomValue():!e._computedTopTypeNull?-(e.getTopValue()):0;e._resetRuntimeTop();e._renderRuntimeBottom(b);break;default:b+=!e._computedTopTypeNull?e.getTopValue():!e._computedBottomTypeNull?-(e.getBottomValue()):0;e._resetRuntimeBottom();e._renderRuntimeTop(b)}},layoutChild_locationX:function(e,a){var c=this.getWidget();if(qx.core.Variant.isSet($[0],$[43])){if(e.getAllowStretchX()&&c.getStretchChildrenOrthogonalAxis()&&e._computedWidthTypeNull){e._renderRuntimeLeft(c.getPaddingLeft()||0);e._renderRuntimeRight(c.getPaddingRight()||0);return}}var d=e.getHorizontalAlign()||c.getHorizontalChildrenAlign();var b=d==$[39]?Math.round((c.getInnerWidth()-e.getOuterWidth())/2):0;if(d==$[21]){b+=c.getPaddingRight();if(!e._computedRightTypeNull){b+=e.getRightValue()}else{if(!e._computedLeftTypeNull){b-=e.getLeftValue()}}e._resetRuntimeLeft();e._renderRuntimeRight(b)}else{b+=c.getPaddingLeft();if(!e._computedLeftTypeNull){b+=e.getLeftValue()}else{if(!e._computedRightTypeNull){b-=e.getRightValue()}}e._resetRuntimeRight();e._renderRuntimeLeft(b)}}}});
+qx.Class.define("qx.util.Validation",{statics:{isValidNumber:function(a){return typeof a===$[80]&&!isNaN(a)},isValidString:function(a){return typeof a===$[13]&&a!==""}}});
+qx.Class.define("qx.ui.layout.impl.HorizontalBoxLayoutImpl",{extend:qx.ui.layout.impl.LayoutImpl,properties:{enableFlexSupport:{check:$[3],init:true}},members:{computeChildBoxWidth:function(a){return a.getWidthValue()||a._computeBoxWidthFallback()},computeChildBoxHeight:function(a){if(this.getWidget().getStretchChildrenOrthogonalAxis()&&a._computedHeightTypeNull&&a.getAllowStretchY()){return this.getWidget().getInnerHeight()}return a.getHeightValue()||a._computeBoxHeightFallback()},computeChildrenFlexWidth:function(){if(this._childrenFlexWidthComputed||!this.getEnableFlexSupport()){return}this._childrenFlexWidthComputed=true;var j=this.getWidget();var i=j.getVisibleChildren();var g=i.length;var n;var e=[];var d=j.getInnerWidth();var o=j.getSpacing()*(g-1);var s;for(s=0;s<g;s++){n=i[s];if(n._computedWidthTypeFlex){e.push(n);if(j._computedWidthTypeAuto){o+=n.getPreferredBoxWidth()}}else{o+=n.getOuterWidth()}}var l=d-o;var c=e.length;var f=0;for(s=0;s<c;s++){f+=e[s]._computedWidthParsed}var h=l/f;if(!j.getUseAdvancedFlexAllocation()){for(s=0;s<c;s++){n=e[s];n._computedWidthFlexValue=Math.round(n._computedWidthParsed*h);o+=n._computedWidthFlexValue}}else{var b=0;var k,c,a,r,m,p;for(s=0;s<c;s++){n=e[s];p=n._computedWidthFlexValue=n._computedWidthParsed*h;b+=p-qx.lang.Number.limit(p,n.getMinWidthValue(),n.getMaxWidthValue())}b=Math.round(b);if(b==0){for(s=0;s<c;s++){n=e[s];n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=n._computedWidthFlexValue}}else{var q=b>0;for(s=c-1;s>=0;s--){n=e[s];if(q){a=(n.getMaxWidthValue()||Infinity)-n._computedWidthFlexValue;if(a>0){n._allocationLoops=Math.floor(a/n._computedWidthParsed)}else{qx.lang.Array.removeAt(e,s);n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=Math.round(n._computedWidthFlexValue+a)}}else{a=qx.util.Validation.isValidNumber(n.getMinWidthValue())?n._computedWidthFlexValue-n.getMinWidthValue():n._computedWidthFlexValue;if(a>0){n._allocationLoops=Math.floor(a/n._computedWidthParsed)}else{qx.lang.Array.removeAt(e,s);n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=Math.round(n._computedWidthFlexValue-a)}}}while(b!=0&&c>0){c=e.length;k=Infinity;m=0;for(s=0;s<c;s++){k=Math.min(k,e[s]._allocationLoops);m+=e[s]._computedWidthParsed}r=Math.min(m*k,b);b-=r;for(s=c-1;s>=0;s--){n=e[s];n._computedWidthFlexValue+=r/m*n._computedWidthParsed;if(n._allocationLoops==k){n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=n._computedWidthFlexValue;delete n._allocationLoops;qx.lang.Array.removeAt(e,s)}else{if(b==0){n._computedWidthFlexValue=Math.round(n._computedWidthFlexValue);o+=n._computedWidthFlexValue;delete n._allocationLoops}else{n._allocationLoops-=k}}}}}}n._computedWidthFlexValue+=d-o},invalidateChildrenFlexWidth:function(){delete this._childrenFlexWidthComputed},computeChildrenNeededWidth:function(){var a=this.getWidget();return qx.ui.layout.impl.LayoutImpl.prototype.computeChildrenNeededWidth_sum.call(this)+((a.getVisibleChildrenLength()-1)*a.getSpacing())},updateSelfOnChildOuterWidthChange:function(a){this.getWidget()._invalidateAccumulatedChildrenOuterWidth()},updateChildOnInnerWidthChange:function(c){if(this.getWidget().getHorizontalChildrenAlign()==$[39]){c.addToLayoutChanges($[139])}var a=c._recomputePercentX();var b=c._recomputeFlexX();return a||b},updateChildOnInnerHeightChange:function(c){var a=c._recomputePercentY();var b=c._recomputeStretchingY();if((c.getVerticalAlign()||this.getWidget().getVerticalChildrenAlign())==$[31]){c.addToLayoutChanges($[140])}return a||b},updateSelfOnJobQueueFlush:function(a){if(a.addChild||a.removeChild){this.getWidget()._invalidateAccumulatedChildrenOuterWidth()}},updateChildrenOnJobQueueFlush:function(a){var d=false,b=false;var c=this.getWidget();if(a.orientation){d=b=true}if(a.spacing||a.orientation||a.reverseChildrenOrder||a.horizontalChildrenAlign){c._addChildrenToLayoutQueue($[139])}if(a.verticalChildrenAlign){c._addChildrenToLayoutQueue($[140])}if(a.stretchChildrenOrthogonalAxis){b=true}if(d){c._recomputeChildrenStretchingX();c._addChildrenToLayoutQueue($[19])}if(b){c._recomputeChildrenStretchingY();c._addChildrenToLayoutQueue($[33])}return true},updateChildrenOnRemoveChild:function(g,c){var b=this.getWidget(),e=b.getVisibleChildren(),a=e.length,f,d=-1;if(this.getEnableFlexSupport()){for(d=0;d<a;d++){f=e[d];if(f.getHasFlexX()){c=Math.min(c,d);break}}d=-1}switch(b.getLayoutMode()){case $[21]:case $[232]:while((f=e[++d])&&d<c){f.addToLayoutChanges($[139])}break;case $[39]:case $[243]:while(f=e[++d]){f.addToLayoutChanges($[139])}break;default:d+=c;while(f=e[++d]){f.addToLayoutChanges($[139])}}},updateChildrenOnMoveChild:function(g,b,e){var a=this.getWidget().getVisibleChildren();var f=Math.min(b,e);var d=Math.max(b,e)+1;d=Math.min(a.length,d);for(var c=f;c<d;c++){a[c].addToLayoutChanges($[139])}},flushChildrenQueue:function(d){var b=this.getWidget(),f=b.getVisibleChildren(),a=f.length,h,e;if(this.getEnableFlexSupport()){this.invalidateChildrenFlexWidth();for(e=0;e<a;e++){h=f[e];if(h.getHasFlexX()){h._computedWidthValue=null;if(h._recomputeBoxWidth()){h._recomputeOuterWidth();h._recomputeInnerWidth()}d[h.toHashCode()]=h;h._layoutChanges.width=true}}}switch(b.getLayoutMode()){case $[21]:case $[232]:for(var e=a-1;e>=0&&!d[f[e].toHashCode()];e--){}for(var c=0;c<=e;c++){b._layoutChild(h=f[c])}break;case $[39]:case $[243]:e=-1;while(h=f[++e]){b._layoutChild(h)}break;default:e=-1;var g=false;while(h=f[++e]){if(g||d[h.toHashCode()]){b._layoutChild(h);g=true}}}},layoutChild:function(b,a){this.layoutChild_sizeX(b,a);this.layoutChild_sizeY(b,a);this.layoutChild_sizeLimitX(b,a);this.layoutChild_sizeLimitY(b,a);this.layoutChild_locationX(b,a);this.layoutChild_locationY(b,a);this.layoutChild_marginX(b,a);this.layoutChild_marginY(b,a)},layoutChild_sizeX:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.width||a.minWidth||a.maxWidth){if(b._isWidthEssential()&&(!b._computedWidthTypeNull||!b._computedMinWidthTypeNull||!b._computedMaxWidthTypeNull)){b._renderRuntimeWidth(b.getBoxWidth())}else{b._resetRuntimeWidth()}}},"default":function(b,a){if(a.initial||a.width){if(b._isWidthEssential()&&!b._computedWidthTypeNull){b._renderRuntimeWidth(b.getWidthValue())}else{b._resetRuntimeWidth()}}}}),layoutChild_sizeY:qx.core.Variant.select($[0],{"mshtml|opera|webkit":function(b,a){if(a.initial||a.height||a.minHeight||a.maxHeight){if((b._isHeightEssential()&&(!b._computedHeightTypeNull||!b._computedMinHeightTypeNull||!b._computedMaxHeightTypeNull))||(b.getAllowStretchY()&&this.getWidget().getStretchChildrenOrthogonalAxis())){b._renderRuntimeHeight(b.getBoxHeight())}else{b._resetRuntimeHeight()}}},"default":function(b,a){if(a.initial||a.height){if(b._isHeightEssential()&&!b._computedHeightTypeNull){b._renderRuntimeHeight(b.getHeightValue())}else{b._resetRuntimeHeight()}}}}),layoutChild_locationX:function(e,a){var d=this.getWidget();if(d.getFirstVisibleChild()==e){switch(d.getLayoutMode()){case $[21]:case $[232]:var b=d.getPaddingRight()+d.getAccumulatedChildrenOuterWidth()-e.getOuterWidth();break;case $[39]:case $[243]:var b=d.getPaddingLeft()+Math.round((d.getInnerWidth()-d.getAccumulatedChildrenOuterWidth())/2);break;default:var b=d.getPaddingLeft()}}else{var c=e.getPreviousVisibleSibling();switch(d.getLayoutMode()){case $[21]:case $[232]:var b=c._cachedLocationHorizontal-e.getOuterWidth()-d.getSpacing();break;default:var b=c._cachedLocationHorizontal+c.getOuterWidth()+d.getSpacing()}}e._cachedLocationHorizontal=b;switch(d.getLayoutMode()){case $[21]:case $[466]:case $[243]:b+=!e._computedRightTypeNull?e.getRightValue():!e._computedLeftTypeNull?-(e.getLeftValue()):0;e._resetRuntimeLeft();e._renderRuntimeRight(b);break;default:b+=!e._computedLeftTypeNull?e.getLeftValue():!e._computedRightTypeNull?-(e.getRightValue()):0;e._resetRuntimeRight();e._renderRuntimeLeft(b)}},layoutChild_locationY:function(e,a){var c=this.getWidget();if(qx.core.Variant.isSet($[0],$[43])){if(e.getAllowStretchY()&&c.getStretchChildrenOrthogonalAxis()&&e._computedHeightTypeNull){e._renderRuntimeTop(c.getPaddingTop()||0);e._renderRuntimeBottom(c.getPaddingBottom()||0);return}}var d=e.getVerticalAlign()||c.getVerticalChildrenAlign();var b=d==$[31]?Math.round((c.getInnerHeight()-e.getOuterHeight())/2):0;if(d==$[34]){b+=c.getPaddingBottom();if(!e._computedBottomTypeNull){b+=e.getBottomValue()}else{if(!e._computedTopTypeNull){b-=e.getTopValue()}}e._resetRuntimeTop();e._renderRuntimeBottom(b)}else{b+=c.getPaddingTop();if(!e._computedTopTypeNull){b+=e.getTopValue()}else{if(!e._computedBottomTypeNull){b-=e.getBottomValue()}}e._resetRuntimeBottom();e._renderRuntimeTop(b)}}}});
+qx.Class.define("qx.ui.basic.Atom",{extend:qx.ui.layout.BoxLayout,construct:function(c,e,d,a,b){arguments.callee.base.call(this);this.getLayoutImpl().setEnableFlexSupport(false);if(c!==undefined){this.setLabel(c)}if(qx.Class.isDefined($[406])&&b!=null&&d!=null&&a!=null&&qx.ui.embed.Flash.getPlayerVersion().getMajor()>0){this._flashMode=true;this.setIcon(b)}else{if(e!=null){this.setIcon(e)}}if(e||b){if(d!=null){this.setIconWidth(d)}if(a!=null){this.setIconHeight(a)}}this.initWidth();this.initHeight()},properties:{orientation:{refine:true,init:$[52]},allowStretchX:{refine:true,init:false},allowStretchY:{refine:true,init:false},appearance:{refine:true,init:"atom"},stretchChildrenOrthogonalAxis:{refine:true,init:false},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},horizontalChildrenAlign:{refine:true,init:$[39]},verticalChildrenAlign:{refine:true,init:$[31]},spacing:{refine:true,init:4},label:{apply:"_applyLabel",nullable:true,dispose:true,check:$[74]},icon:{check:$[26],apply:$[359],nullable:true,themeable:true},disabledIcon:{check:$[26],apply:"_applyDisabledIcon",nullable:true,themeable:true},show:{init:"both",check:["both",$[87],"icon","none"],themeable:true,nullable:true,inheritable:true,apply:"_applyShow",event:"changeShow"},iconPosition:{init:"left",check:["top",$[21],$[34],"left"],themeable:true,apply:"_applyIconPosition"},iconWidth:{check:$[22],themeable:true,apply:"_applyIconWidth",nullable:true},iconHeight:{check:$[22],themeable:true,apply:"_applyIconHeight",nullable:true}},members:{_flashMode:false,_labelObject:null,_iconObject:null,_createLabel:function(){var a=this._labelObject=new qx.ui.basic.Label(this.getLabel());a.setAnonymous(true);this.addAt(a,this._iconObject?1:0)},_createIcon:function(){if(this._flashMode&&qx.Class.isDefined($[406])){var b=this._iconObject=new qx.ui.embed.Flash(this.getIcon())}else{var b=this._iconObject=new qx.ui.basic.Image()}b.setAnonymous(true);var c=this.getIconWidth();if(c!==null){this._iconObject.setWidth(c)}var a=this.getIconWidth();if(a!==null){this._iconObject.setHeight(a)}this._updateIcon();this.addAt(b,0)},_updateIcon:function(){var a=this.getIcon();if(this._iconObject&&this.getIcon&&this.getDisabledIcon){var b=this.getDisabledIcon();if(b){if(this.getEnabled()){a?this._iconObject.setSource(a):this._iconObject.resetSource()}else{b?this._iconObject.setSource(b):this._iconObject.resetSource()}this._iconObject.setEnabled(true)}else{a?this._iconObject.setSource(a):this._iconObject.resetSource();this._iconObject.resetEnabled()}}},getLabelObject:function(){return this._labelObject},getIconObject:function(){return this._iconObject},_applyIconPosition:function(b,a){switch(b){case"top":case $[34]:this.setOrientation($[44]);this.setReverseChildrenOrder(b==$[34]);break;default:this.setOrientation($[52]);this.setReverseChildrenOrder(b==$[21]);break}},_applyShow:function(b,a){this._handleIcon();this._handleLabel()},_applyLabel:function(b,a){if(this._labelObject){b?this._labelObject.setText(b):this._labelObject.resetText()}this._handleLabel()},_applyIcon:function(b,a){this._updateIcon();this._handleIcon()},_applyDisabledIcon:function(b,a){this._updateIcon();this._handleIcon()},_applyIconWidth:function(b,a){if(this._iconObject){this._iconObject.setWidth(b)}},_applyIconHeight:function(b,a){if(this._iconObject){this._iconObject.setHeight(b)}},_iconIsVisible:false,_labelIsVisible:false,_handleLabel:function(){switch(this.getShow()){case $[87]:case"both":case $[151]:this._labelIsVisible=!!this.getLabel();break;default:this._labelIsVisible=false}if(this._labelIsVisible){this._labelObject?this._labelObject.setDisplay(true):this._createLabel()}else{if(this._labelObject){this._labelObject.setDisplay(false)}}},_handleIcon:function(){switch(this.getShow()){case"icon":case"both":case $[151]:this._iconIsVisible=!!this.getIcon();break;default:this._iconIsVisible=false}if(this._iconIsVisible){this._iconObject?this._iconObject.setDisplay(true):this._createIcon()}else{if(this._iconObject){this._iconObject.setDisplay(false)}}}},destruct:function(){this._disposeObjects("_iconObject","_labelObject")}});
+qx.Class.define("qx.ui.basic.Label",{extend:qx.ui.basic.Terminator,construct:function(a){arguments.callee.base.call(this);if(a!=null){this.setText(a)}this.initWidth();this.initHeight();this.initSelectable();this.initCursor();this.initWrap()},statics:{_getMeasureNode:function(){var b=this._measureNode;if(!b){b=document.createElement("div");var a=b.style;a.width=a.height="auto";a.visibility=$[15];a.position=$[35];a.zIndex="-1";document.body.appendChild(b);this._measureNode=b}return b}},properties:{appearance:{refine:true,init:$[87]},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},allowStretchX:{refine:true,init:false},allowStretchY:{refine:true,init:false},selectable:{refine:true,init:false},text:{apply:"_applyText",init:"",dispose:true,check:$[74]},wrap:{check:$[3],init:false,nullable:true,apply:$[393]},textAlign:{check:["left",$[39],$[21],"justify"],nullable:true,themeable:true,apply:$[399]},textOverflow:{check:$[3],init:true},mode:{check:["html","text","auto"],init:"auto"}},members:{_content:"",_applyTextAlign:function(b,a){b===null?this.removeStyleProperty($[275]):this.setStyleProperty($[275],b)},_applyFont:function(b,a){qx.theme.manager.Font.getInstance().connect(this._styleFont,this,b)},_styleFont:function(a){this._invalidatePreferredInnerDimensions();a?a.render(this):qx.ui.core.Font.reset(this)},_applyTextColor:function(b,a){qx.theme.manager.Color.getInstance().connect(this._styleTextColor,this,b)},_styleTextColor:function(a){a?this.setStyleProperty($[5],a):this.removeStyleProperty($[5])},_applyWrap:function(b,a){b==null?this.removeStyleProperty("whiteSpace"):this.setStyleProperty("whiteSpace",b?$[131]:"nowrap")},_applyText:function(b,a){this._syncText(this.getText())},_syncText:function(a){this._content=a;if(this._isCreated){this._renderContent()}},_computeObjectNeededDimensions:function(){var a=this.self(arguments)._getMeasureNode();var b=a.style;var c=this._styleProperties;b.fontFamily=c.fontFamily||"";b.fontSize=c.fontSize||"";b.fontWeight=c.fontWeight||"";b.fontStyle=c.fontStyle||"";a.innerHTML=this._content;this._cachedPreferredInnerWidth=a.scrollWidth;this._cachedPreferredInnerHeight=a.scrollHeight},_computePreferredInnerWidth:function(){this._computeObjectNeededDimensions();return this._cachedPreferredInnerWidth},_computePreferredInnerHeight:function(){this._computeObjectNeededDimensions();return this._cachedPreferredInnerHeight},_postApply:function(){var b=this._content;var a=this._getTargetNode();if(b==null){a.innerHTML=""}else{var c=a.style;if(!this.getWrap()){if(this.getInnerWidth()<this.getPreferredInnerWidth()){c.overflow=$[15]}else{c.overflow=""}}a.innerHTML=b}}}});
+qx.Class.define("qx.ui.basic.Image",{extend:qx.ui.basic.Terminator,construct:function(c,b,a){arguments.callee.base.call(this);this._blank=qx.io.Alias.getInstance().resolve($[343]);if(c!=null){this.setSource(c)}if(b!=null){this.setWidth(b)}else{this.initWidth()}if(a!=null){this.setHeight(a)}else{this.initHeight()}this.initSelectable()},events:{error:$[10]},properties:{allowStretchX:{refine:true,init:false},allowStretchY:{refine:true,init:false},selectable:{refine:true,init:false},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},appearance:{refine:true,init:$[38]},source:{check:$[26],apply:$[434],event:$[416],nullable:true,themeable:true},preloader:{check:$[510],apply:"_applyPreloader",nullable:true},loaded:{check:$[3],init:false,apply:"_applyLoaded"},resizeToInner:{check:$[3],init:false}},members:{_onload:function(){this.setLoaded(true)},_beforeAppear:function(){var a=this.getSource();if(a){qx.io.image.Manager.getInstance().show(a);this._registeredAsVisible=true}return arguments.callee.base.call(this)},_beforeDisappear:function(){var a=this.getSource();if(a&&this._registeredAsVisible){qx.io.image.Manager.getInstance().hide(a);delete this._registeredAsVisible}return arguments.callee.base.call(this)},_applySource:function(c,a){var b=qx.io.image.Manager.getInstance();if(a){b.remove(a);if(this._registeredAsVisible){b.hide(a);delete this._registeredAsVisible}}if(c){b.add(c);if(this.isSeeable()){this._registeredAsVisible=true;b.show(c)}}if(this.isCreated()){this._connect()}},_connect:function(){var a=qx.io.Alias.getInstance();a.connect(this._syncSource,this,this.getSource())},_syncSource:function(b){if(b===null){this.setPreloader(null)}else{var a=qx.io.image.PreloaderManager.getInstance().create(b);this.setPreloader(a)}},_applyPreloader:function(b,a){if(a){a.removeEventListener("load",this._onload,this)}if(b){this.setLoaded(false);if(!b.isErroneous()&&b.isLoaded()){this.setLoaded(true)}else{b.addEventListener("load",this._onload,this)}}else{this.setLoaded(false)}},_applyLoaded:function(b,a){if(b&&this.isCreated()){this._renderContent()}else{if(!b){this._invalidatePreferredInnerWidth();this._invalidatePreferredInnerHeight()}}},_applyElement:function(c,a){if(c){if(!this._image){try{if(qx.core.Variant.isSet($[0],$[76])){this._image=document.createElement("img")}else{this._image=new Image}this._image.style.border="0 none";this._image.style.verticalAlign="top";this._image.alt="";this._image.title=""}catch(b){throw new Error("Failed while creating image #1 "+b)}if(qx.core.Variant.isSet($[0],$[496])){this._styleEnabled()}}c.appendChild(this._image)}arguments.callee.base.call(this,c,a);if(c&&this.getSource()){this._connect()}},_postApply:function(){this._postApplyDimensions();this._updateContent()},_applyEnabled:function(b,a){if(this._image){this._styleEnabled()}return arguments.callee.base.call(this,b,a)},_updateContent:qx.core.Variant.select($[0],{mshtml:function(){var a=this._image;var b=this.getPreloader();var c=b&&b.isLoaded()?b.getSource():this._blank;if(b&&b.getIsPng()&&this.getEnabled()){a.src=this._blank;a.style.filter=$[331]+c+"',sizingMethod='scale')"}else{a.src=c;a.style.filter=this.getEnabled()?"":"Gray() Alpha(Opacity=30)"}},"default":function(){var a=this.getPreloader();var b=a&&a.isLoaded()?a.getSource():this._blank;this._image.src=b}}),_resetContent:qx.core.Variant.select($[0],{mshtml:function(){this._image.src=this._blank;this._image.style.filter=""},"default":function(){this._image.src=this._blank}}),_styleEnabled:qx.core.Variant.select($[0],{mshtml:function(){this._updateContent()},"default":function(){if(this._image){var b=this.getEnabled()===false?0.3:"";var a=this._image.style;a.opacity=a.KhtmlOpacity=a.MozOpacity=b}}}),_computePreferredInnerWidth:function(){var a=this.getPreloader();return a?a.getWidth():0},_computePreferredInnerHeight:function(){var a=this.getPreloader();return a?a.getHeight():0},_postApplyDimensions:qx.core.Variant.select($[0],{mshtml:function(){try{var b=this._image.style;if(this.getResizeToInner()){b.pixelWidth=this.getInnerWidth();b.pixelHeight=this.getInnerHeight()}else{b.pixelWidth=this.getPreferredInnerWidth();b.pixelHeight=this.getPreferredInnerHeight()}}catch(a){throw new Error($[401]+a)}},"default":function(){try{var b=this._image;if(this.getResizeToInner()){b.width=this.getInnerWidth();b.height=this.getInnerHeight()}else{b.width=this.getPreferredInnerWidth();b.height=this.getPreferredInnerHeight()}}catch(a){throw new Error($[401]+a)}}}),_changeInnerWidth:qx.core.Variant.select($[0],{mshtml:function(b,a){if(this.getResizeToInner()){this._image.style.pixelWidth=b}},"default":function(b,a){if(this.getResizeToInner()){this._image.width=b}}}),_changeInnerHeight:qx.core.Variant.select($[0],{mshtml:function(b,a){if(this.getResizeToInner()){this._image.style.pixelHeight=b}},"default":function(b,a){if(this.getResizeToInner()){this._image.height=b}}})},destruct:function(){if(this._image){this._image.style.filter=""}this._disposeFields("_image")}});
+qx.Class.define("qx.io.image.PreloaderManager",{type:$[29],extend:qx.core.Object,construct:function(){arguments.callee.base.call(this);this._objects={}},members:{add:function(a){this._objects[a.getUri()]=a},remove:function(a){delete this._objects[a.getUri()]},has:function(a){return this._objects[a]!=null},get:function(a){return this._objects[a]},create:function(a){if(this._objects[a]){return this._objects[a]}return new qx.io.image.Preloader(a)}},destruct:function(){this._disposeFields("_objects")}});
+qx.Class.define($[510],{extend:qx.core.Target,events:{load:$[10],error:$[10]},construct:function(a){if(qx.io.image.PreloaderManager.getInstance().has(a)){return qx.io.image.PreloaderManager.getInstance().get(a)}arguments.callee.base.call(this);this._element=new Image;this._element.onload=qx.lang.Function.bind(this.__onload,this);this._element.onerror=qx.lang.Function.bind(this.__onerror,this);this._source=a;this._element.src=a;if(qx.core.Variant.isSet($[0],$[20])){this._isPng=/\.png$/i.test(this._element.nameProp)}qx.io.image.PreloaderManager.getInstance().add(this)},members:{_source:null,_isLoaded:false,_isErroneous:false,getUri:function(){return this._source},getSource:function(){return this._source},isLoaded:function(){return this._isLoaded},isErroneous:function(){return this._isErroneous},_isPng:false,getIsPng:function(){return this._isPng},getWidth:qx.core.Variant.select($[0],{gecko:function(){return this._element.naturalWidth},"default":function(){return this._element.width}}),getHeight:qx.core.Variant.select($[0],{gecko:function(){return this._element.naturalHeight},"default":function(){return this._element.height}}),__onload:function(){if(this._isLoaded||this._isErroneous){return}this._isLoaded=true;this._isErroneous=false;if(this.hasEventListeners("load")){this.dispatchEvent(new qx.event.type.Event("load"),true)}},__onerror:function(){if(this._isLoaded||this._isErroneous){return}this._isLoaded=false;this._isErroneous=true;if(this.hasEventListeners("error")){this.dispatchEvent(new qx.event.type.Event("error"),true)}}},destruct:function(){if(this._element){this._element.onload=this._element.onerror=null}this._disposeFields("_element","_isLoaded","_isErroneous","_isPng")}});
+qx.Class.define("qx.ui.form.ListItem",{extend:qx.ui.basic.Atom,construct:function(c,a,b){arguments.callee.base.call(this,c,a);if(b!=null){this.setValue(b)}this.addEventListener($[61],this._ondblclick);this.initMinWidth()},events:{action:$[10]},properties:{appearance:{refine:true,init:"list-item"},minWidth:{refine:true,init:"auto"},width:{refine:true,init:null},allowStretchX:{refine:true,init:true},value:{check:$[26],event:$[78]}},members:{handleStateChange:function(){if(this.hasState("lead")){this.setStyleProperty($[116],$[368])}else{this.setStyleProperty($[116],"0px none")}},_applyStateStyleFocus:function(a){},matchesString:function(a){a=String(a);return a!=""&&this.getLabel().toString().toLowerCase().indexOf(a.toLowerCase())==0},matchesStringExact:function(a){a=String(a);return a!=""&&this.getLabel().toString().toLowerCase()==String(a).toLowerCase()},matchesValue:function(a){a=String(a);return a!=""&&this.getValue().toLowerCase().indexOf(a.toLowerCase())==0},matchesValueExact:function(a){a=String(a);return a!=""&&this.getValue().toLowerCase()==String(a).toLowerCase()},_ondblclick:function(b){var a=this.getCommand();if(a){a.execute()}}}});
+qx.Class.define("qx.constant.Layout",{statics:{ORIENTATION_HORIZONTAL:$[52],ORIENTATION_VERTICAL:$[44],ALIGN_LEFT:"left",ALIGN_LEFT_REVERSED:$[232],ALIGN_CENTER:$[39],ALIGN_CENTER_REVERSED:$[243],ALIGN_RIGHT:$[21],ALIGN_RIGHT_REVERSED:$[466],ALIGN_TOP:"top",ALIGN_TOP_REVERSED:$[237],ALIGN_MIDDLE:$[31],ALIGN_MIDDLE_REVERSED:$[246],ALIGN_BOTTOM:$[34],ALIGN_BOTTOM_REVERSED:$[481]}});
+qx.Class.define("qx.constant.Style",{statics:{POSITION_ABSOLUTE:$[35],POSITION_RELATIVE:"relative",POSITION_STATIC:$[129],POSITION_FIXED:$[150],CURSOR_WAIT:"wait",CURSOR_PROGRESS:$[262],CURSOR_DEFAULT:$[36],CURSOR_HAND:$[146],OVERFLOW_AUTO:"auto",OVERFLOW_HIDDEN:$[15],OVERFLOW_BOTH:$[24],OVERFLOW_HORIZONTAL:$[91],OVERFLOW_VERTICAL:$[90],OVERFLOW_ELLIPSIS:"ellipsis",OVERFLOW_VISIBLE:"visible",OVERFLOW_MOZ_NONE:$[283],OVERFLOW_MOZ_HORIZONTAL:$[313],OVERFLOW_MOZ_VERTICAL:$[252],FOCUS_OUTLINE:$[321],BORDER_SOLID:$[18],LABEL_MODE_HTML:"html",BUTTON_SHOW_ICON:"icon"}});
+qx.Class.define($[506],{type:$[102],extend:qx.core.Target,construct:function(){arguments.callee.base.call(this)},events:{created:$[10],configured:$[10],sending:$[10],receiving:$[10],completed:$[10],aborted:$[10],failed:$[10],timeout:$[10]},properties:{url:{check:$[26],nullable:true},method:{check:$[26],nullable:true},asynchronous:{check:$[3],nullable:true},data:{check:$[26],nullable:true},username:{check:$[26],nullable:true},password:{check:$[26],nullable:true},state:{check:[$[168],$[101],$[62],$[68],$[41],$[66],$[63],$[50]],init:$[168],event:$[364],apply:$[403]},requestHeaders:{check:$[108],nullable:true},parameters:{check:$[108],nullable:true},formFields:{check:$[108],nullable:true},responseType:{check:$[26],nullable:true},useBasicHttpAuth:{check:$[3],nullable:true}},members:{send:function(){throw new Error("send is abstract")},abort:function(){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[186])){throw new Error("Aborting...")}}this.setState($[66])},timeout:function(){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[186])){throw new Error("Timeout...")}}this.setState($[63])},failed:function(){if(qx.core.Variant.isSet($[7],"on")){if(qx.core.Setting.get($[186])){throw new Error("Failed...")}}this.setState($[50])},setRequestHeader:function(a,b){throw new Error("setRequestHeader is abstract")},getResponseHeader:function(a){throw new Error("getResponseHeader is abstract")},getResponseHeaders:function(){throw new Error("getResponseHeaders is abstract")},getStatusCode:function(){throw new Error("getStatusCode is abstract")},getStatusText:function(){throw new Error("getStatusText is abstract")},getResponseText:function(){throw new Error("getResponseText is abstract")},getResponseXml:function(){throw new Error("getResponseXml is abstract")},getFetchedLength:function(){throw new Error("getFetchedLength is abstract")},_applyState:function(b,a){switch(b){case $[168]:this.createDispatchEvent($[168]);break;case $[101]:this.createDispatchEvent($[101]);break;case $[62]:this.createDispatchEvent($[62]);break;case $[68]:this.createDispatchEvent($[68]);break;case $[41]:this.createDispatchEvent($[41]);break;case $[66]:this.createDispatchEvent($[66]);break;case $[50]:this.createDispatchEvent($[50]);break;case $[63]:this.createDispatchEvent($[63]);break}return true}}});
qx.Class.define("qx.ui.layout.HorizontalBoxLayout",{extend:qx.ui.layout.BoxLayout});
-qx.Class.define("qx.ui.form.Spinner",{extend:qx.ui.layout.HorizontalBoxLayout,construct:function(c,b,a){arguments.callee.base.call(this);if(qx.core.Variant.isSet($[0],$[19])){this.setStyleProperty($[193],"0px")}this._textfield=new qx.ui.form.TextField;this._textfield.setBorder(null);this._textfield.setWidth("1*");this._textfield.setAllowStretchY(true);this._textfield.setHeight(null);this._textfield.setLiveUpdate(true);this._textfield.setVerticalAlign($[31]);this._textfield.setAppearance("spinner-text-field");this.add(this._textfield);this._buttonlayout=new qx.ui.layout.VerticalBoxLayout;this._buttonlayout.setWidth("auto");this.add(this._buttonlayout);this._upbutton=new qx.ui.form.Button;this._upbutton.setAppearance("spinner-button-up");this._upbutton.setTabIndex(null);this._upbutton.setHeight("1*");this._buttonlayout.add(this._upbutton);this._downbutton=new qx.ui.form.Button;this._downbutton.setAppearance("spinner-button-down");this._downbutton.setTabIndex(null);this._downbutton.setHeight("1*");this._buttonlayout.add(this._downbutton);this._timer=new qx.client.Timer(this.getInterval());this.setManager(new qx.util.range.Range());this.initWrap();this.addEventListener($[12],this._onkeypress,this);this.addEventListener($[26],this._onkeydown,this);this.addEventListener($[64],this._onkeyup,this);this.addEventListener($[49],this._onmousewheel,this);this._textfield.addEventListener($[77],this._ontextchange,this);this._textfield.addEventListener($[85],this._oninput,this);this._textfield.addEventListener("blur",this._onblur,this);this._upbutton.addEventListener($[2],this._onmousedown,this);this._downbutton.addEventListener($[2],this._onmousedown,this);this._timer.addEventListener($[59],this._oninterval,this);if(c!=null){this.setMin(c)}if(a!=null){this.setMax(a)}if(b!=null){this.setValue(b)}this._checkValue=this.__checkValue;this.initWidth();this.initHeight();this._last_value=""},events:{change:$[78]},properties:{appearance:{refine:true,init:"spinner"},width:{refine:true,init:60},height:{refine:true,init:22},incrementAmount:{check:$[57],init:1,apply:"_applyIncrementAmount"},wheelIncrementAmount:{check:$[57],init:1},pageIncrementAmount:{check:$[57],init:10},interval:{check:$[22],init:100},firstInterval:{check:$[22],init:500},minTimer:{check:$[22],init:20},timerDecrease:{check:$[22],init:2},amountGrowth:{check:$[57],init:1.01},wrap:{check:$[3],init:false,apply:$[395]},editable:{check:$[3],init:true,apply:"_applyEditable"},manager:{check:$[451],apply:$[556],dispose:true},checkValueFunction:{apply:"_applyCheckValueFunction"},selectTextOnInteract:{check:$[3],init:true}},members:{_applyIncrementAmount:function(b,a){this._computedIncrementAmount=b},_applyEditable:function(b,a){if(this._textfield){this._textfield.setReadOnly(!b)}},_applyWrap:function(b,a){this.getManager().setWrap(b);this._onchange()},_applyManager:function(b,a){if(a){a.removeEventListener($[76],this._onchange,this)}if(b){b.addEventListener($[76],this._onchange,this)}this._onchange()},_applyCheckValueFunction:function(b,a){this._checkValue=b},_computePreferredInnerWidth:function(){return 50},_computePreferredInnerHeight:function(){return 14},_onkeypress:function(b){var a=b.getKeyIdentifier();if(a==$[69]&&!b.isAltPressed()){this._checkValue(true,false);if(this.getSelectTextOnInteract()){this._textfield.selectAll()}}else{switch(a){case"Up":case"Down":case"Left":case $[53]:case"Shift":case $[262]:case"Alt":case $[113]:case"Delete":case $[351]:case"Insert":case"Home":case"End":case $[58]:case $[55]:case"NumLock":case"Tab":break;default:if((a>="0"&&a<="9")||(a=="-")){return}if(b.getModifiers()==0){b.preventDefault()}}}},_onkeydown:function(b){var a=b.getKeyIdentifier();if(this._intervalIncrease==null){switch(a){case"Up":case"Down":this._intervalIncrease=a=="Up";this._intervalMode="single";this._resetIncrements();this._checkValue(true,false);this._increment();this._timer.startWith(this.getFirstInterval());break;case $[58]:case $[55]:this._intervalIncrease=a==$[58];this._intervalMode="page";this._resetIncrements();this._checkValue(true,false);this._pageIncrement();this._timer.startWith(this.getFirstInterval());break}}},_onkeyup:function(a){if(this._intervalIncrease!=null){switch(a.getKeyIdentifier()){case"Up":case"Down":case $[58]:case $[55]:this._timer.stop();this._intervalIncrease=null;this._intervalMode=null}}},_onmousedown:function(b){if(!b.isLeftButtonPressed()){return}this._checkValue(true);var a=b.getCurrentTarget();a.addState($[23]);a.addEventListener($[17],this._onmouseup,this);a.addEventListener($[15],this._onmouseup,this);this._intervalIncrease=a==this._upbutton;this._resetIncrements();this._increment();if(this.getSelectTextOnInteract()){this._textfield.selectAll()}this._timer.setInterval(this.getFirstInterval());this._timer.start()},_onmouseup:function(b){var a=b.getCurrentTarget();a.removeState($[23]);a.removeEventListener($[17],this._onmouseup,this);a.removeEventListener($[15],this._onmouseup,this);if(this.getSelectTextOnInteract()){this._textfield.selectAll()}this._textfield.setFocused(true);this._timer.stop();this._intervalIncrease=null},_onmousewheel:function(b){this._checkValue(true);if(this.getManager().incrementValue){this.getManager().incrementValue(this.getWheelIncrementAmount()*b.getWheelDelta())}else{var a=this.getManager().getValue()+(this.getWheelIncrementAmount()*b.getWheelDelta());a=this.getManager().limit(a);this.getManager().setValue(a)}this._textfield.selectAll();b.preventDefault();b.stopPropagation()},_ontextchange:function(a){this._last_value=a.getOldValue()},_oninput:function(a){this._checkValue(true,true)},_onchange:function(b){var a=this.getManager().getValue();this._textfield.setValue(String(a));if(a==this.getMin()&&!this.getWrap()){this._downbutton.removeState($[23]);this._downbutton.setEnabled(false);this._timer.stop()}else{this._downbutton.resetEnabled()}if(a==this.getMax()&&!this.getWrap()){this._upbutton.removeState($[23]);this._upbutton.setEnabled(false);this._timer.stop()}else{this._upbutton.resetEnabled()}this.createDispatchDataEvent($[76],a)},_onblur:function(a){this._checkValue(false)},setValue:function(a){this.getManager().setValue(this.getManager().limit(a))},getValue:function(){this._checkValue(true);return this.getManager().getValue()},resetValue:function(){this.getManager().resetValue()},setMax:function(a){return this.getManager().setMax(a)},getMax:function(){return this.getManager().getMax()},setMin:function(a){return this.getManager().setMin(a)},getMin:function(){return this.getManager().getMin()},_intervalIncrease:null,_oninterval:function(b){this._timer.stop();this.setInterval(Math.max(this.getMinTimer(),this.getInterval()-this.getTimerDecrease()));if(this._intervalMode=="page"){this._pageIncrement()}else{if(this.getInterval()==this.getMinTimer()){this._computedIncrementAmount=this.getAmountGrowth()*this._computedIncrementAmount}this._increment()}var a=this.getManager().getWrap();switch(this._intervalIncrease){case true:if(this.getValue()==this.getMax()&&!a){return}case false:if(this.getValue()==this.getMin()&&!a){return}}this._timer.restartWith(this.getInterval())},__checkValue:function(i,c){var b=this._textfield.getInputElement();if(!b){return}if((b.value=="")||(b.value=="-")){if(!i){this.resetValue();return}}else{var h=b.value;var g;g=h;var d=parseFloat(g);var e=this.getManager().limit(d);var a=this.getManager().getValue();var j=e;if(isNaN(d)||(e!=d)||(d!=g)){if(c){this._textfield.setValue(this._last_value)}else{if(isNaN(e)){j=a}else{j=e}}}if(c){return}var f;f=String(j);if((j===a)&&(h!==f)){this._textfield.setValue(f)}this.getManager().setValue(j)}},_increment:function(){if(this.getManager().incrementValue){this.getManager().incrementValue((this._intervalIncrease?1:-1)*this._computedIncrementAmount)}else{var a=this.getManager().getValue()+((this._intervalIncrease?1:-1)*this._computedIncrementAmount);a=this.getManager().limit(a);this.getManager().setValue(a)}},_pageIncrement:function(){if(this.getManager().pageIncrementValue){this.getManager().pageIncrementValue()}else{var a=this.getManager().getValue()+((this._intervalIncrease?1:-1)*this.getPageIncrementAmount());a=this.getManager().limit(a);this.getManager().setValue(a)}},_resetIncrements:function(){this._computedIncrementAmount=this.getIncrementAmount();this.resetInterval()}},destruct:function(){var a=this.getManager();if(a){a.dispose()}this._disposeObjects("_textfield","_buttonlayout","_upbutton","_downbutton","_timer")}});
-qx.Class.define($[548],{extend:qx.ui.basic.Terminator,construct:function(a){arguments.callee.base.call(this);if(a!=null){this.setValue(a)}this.initHideFocus();this.initWidth();this.initHeight();this.initTabIndex();this.initSpellCheck();this.__oninput=qx.lang.Function.bindEvent(this._oninputDom,this);this.addEventListener("blur",this._onblur);this.addEventListener($[73],this._onfocus);this.addEventListener($[85],this._oninput);this.addEventListener($[26],this._onkeydown)},statics:{createRegExpValidator:function(a){return function(b){return a.test(b)}}},events:{input:$[78]},properties:{allowStretchX:{refine:true,init:true},allowStretchY:{refine:true,init:false},appearance:{refine:true,init:"text-field"},tabIndex:{refine:true,init:1},hideFocus:{refine:true,init:true},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},selectable:{refine:true,init:true},value:{init:"",nullable:true,event:$[77],apply:"_applyValue",dispose:true},textAlign:{check:["left",$[39],$[21],"justify"],nullable:true,themeable:true,apply:$[401]},spellCheck:{check:$[3],init:false,apply:"_applySpellCheck"},liveUpdate:{check:$[3],init:false},maxLength:{check:$[22],apply:"_applyMaxLength",nullable:true},readOnly:{check:$[3],apply:"_applyReadOnly",init:false},validator:{check:"Function",event:"changeValidator",nullable:true}},members:{_inputTag:$[85],_inputType:"text",_inputOverflow:$[13],_applyElement:function(d,b){arguments.callee.base.call(this,d,b);if(d){var c=this._inputElement=document.createElement(this._inputTag);if(this._inputType){c.type=this._inputType}c.autoComplete="off";c.setAttribute("autoComplete","off");c.disabled=this.getEnabled()===false;c.readOnly=this.getReadOnly();c.value=this.getValue()!=null?this.getValue().toString():"";if(this.getMaxLength()!=null){c.maxLength=this.getMaxLength()}var a=c.style;a.padding=a.margin=0;a.border="0 none";a.background=$[159];a.overflow=this._inputOverflow;a.outline="none";a.resize="none";a.WebkitAppearance="none";a.MozAppearance="none";if(qx.core.Variant.isSet($[0],$[498])){a.margin="1px 0"}this._renderFont();this._renderTextColor();this._renderTextAlign();this._renderCursor();this._renderSpellCheck();if(qx.core.Variant.isSet($[0],$[19])){c.onpropertychange=this.__oninput}else{c.addEventListener($[85],this.__oninput,false)}d.appendChild(c)}},_postApply:function(){this._syncFieldWidth();this._syncFieldHeight()},_changeInnerWidth:function(b,a){this._syncFieldWidth()},_changeInnerHeight:function(b,a){this._syncFieldHeight();this._centerFieldVertically()},_syncFieldWidth:function(){this._inputElement.style.width=this.getInnerWidth()+"px"},_syncFieldHeight:function(){if(this._inputTag!==$[85]){this._inputElement.style.height=(this.getInnerHeight()-2)+"px"}},_applyCursor:function(b,a){if(this._inputElement){this._renderCursor()}},_renderCursor:function(){var a=this._inputElement.style;var b=this.getCursor();if(b){if(b==$[148]&&org.eclipse.rwt.Client.isMshtml()){a.cursor="hand"}else{a.cursor=b}}else{a.cursor=""}},_applyTextAlign:function(b,a){if(this._inputElement){this._renderTextAlign()}},_renderTextAlign:function(){this._inputElement.style.textAlign=this.getTextAlign()||""},_applySpellCheck:function(b,a){if(this._inputElement){this._renderSpellCheck()}},_renderSpellCheck:function(){this._inputElement.spellcheck=this.getSpellCheck()},_applyEnabled:function(b,a){if(this._inputElement){this._inputElement.disabled=b===false}return arguments.callee.base.call(this,b,a)},_applyValue:function(b,a){this._inValueProperty=true;if(this._inputElement){if(b===null){b=""}if(this._inputElement.value!==b){this._inputElement.value=b}}delete this._inValueProperty},_applyMaxLength:function(b,a){if(this._inputElement){this._inputElement.maxLength=b==null?"":b}},_applyReadOnly:function(b,a){if(this._inputElement){this._inputElement.readOnly=b}if(b){this.addState($[339])}else{this.removeState($[339])}},_applyTextColor:function(b,a){qx.theme.manager.Color.getInstance().connect(this._styleTextColor,this,b)},_styleTextColor:function(a){this.__textColor=a;this._renderTextColor()},_renderTextColor:function(){var a=this._inputElement;if(a){a.style.color=this.__textColor||""}},_applyFont:function(b,a){qx.theme.manager.Font.getInstance().connect(this._styleFont,this,b)},_styleFont:function(a){this.__font=a;this._renderFont()},_renderFont:function(){var a=this._inputElement;if(a){var b=this.__font;b?b.renderElement(a):qx.ui.core.Font.resetElement(a)}},_visualizeFocus:function(){arguments.callee.base.call(this);if(this.getEnableElementFocus()){try{this._inputElement.focus()}catch(a){}if(qx.core.Variant.isSet($[0],$[71])){if(this.getSelectionLength()>0){this.setSelectionStart(this.getSelectionLength());this.setSelectionLength(0)}}}},_visualizeBlur:function(){arguments.callee.base.call(this);try{this._inputElement.blur()}catch(a){}},getComputedValue:function(){if(this._inputElement){return this._inputElement.value}return this.getValue()},getInputElement:function(){return this._inputElement||null},isValid:function(){var a=this.getValidator();return !a||a(this.getValue())},isComputedValid:function(){var a=this.getValidator();return !a||a(this.getComputedValue())},_computePreferredInnerWidth:function(){return 120},_computePreferredInnerHeight:function(){return 16},_ieFirstInputFix:qx.core.Variant.select($[0],{mshtml:function(){this._inValueProperty=true;this._inputElement.value=this.getValue()===null?"":this.getValue().toString();this._firstInputFixApplied=true;delete this._inValueProperty},"default":null}),_afterAppear:qx.core.Variant.select($[0],{mshtml:function(){arguments.callee.base.call(this);if(!this._firstInputFixApplied&&this._inputElement){qx.client.Timer.once(this._ieFirstInputFix,this,1)}this._centerFieldVertically()},"default":function(){arguments.callee.base.call(this);this._centerFieldVertically()}}),_centerFieldVertically:function(){if(this._inputTag===$[85]&&this._inputElement){var c=this.getInnerHeight();var a=qx.html.Dimension.getBoxHeight(this._inputElement);if(a!=0){if(qx.core.Variant.isSet($[0],$[19])){a-=2}var b=(c-a)/2-1;if(b<0){b=0}b=Math.floor(b);this.setStyleProperty($[208],b+"px")}}},_firstInputFixApplied:false,_textOnFocus:null,_oninputDom:qx.core.Variant.select($[0],{mshtml:function(a){if(!this._inValueProperty&&a.propertyName==="value"){this.createDispatchDataEvent($[85],this.getComputedValue())}},"default":function(a){this.createDispatchDataEvent($[85],this.getComputedValue())}}),_ontabfocus:function(){this.selectAll()},_onfocus:function(){this._textOnFocus=this.getComputedValue()},_onblur:function(){var a=this.getComputedValue().toString();if(this._textOnFocus!=a){this.setValue(a)}if(this.getParent()!=null){this.setSelectionLength(0)}},_oninput:function(){if(!this.isLiveUpdate()){return}var a=this.getComputedValue().toString();this.setValue(a)},_onkeydown:function(a){if(a.getKeyIdentifier()==$[351]&&this.getReadOnly()){a.preventDefault()}},__getRange:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();return this._inputElement.createTextRange()},"default":null}),__getSelectionRange:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();return window.document.selection.createRange()},"default":null}),setSelectionStart:qx.core.Variant.select($[0],{mshtml:function(d){this._visualPropertyCheck();var c=this._inputElement.value;var b=0;while(b<d){b=c.indexOf("\r\n",b);if(b==-1){break}d--;b++}var a=this.__getRange();a.collapse();a.move($[354],d);a.select()},gecko:function(b){this._visualPropertyCheck();try{this._inputElement.selectionStart=b}catch(a){}},"default":function(a){this._visualPropertyCheck();this._inputElement.selectionStart=a}}),getSelectionStart:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();var c=this.__getSelectionRange();if(!this._inputElement.contains(c.parentElement())){return -1}var b=this.__getRange();var a=this._inputElement.value.length;b.moveToBookmark(c.getBookmark());b.moveEnd($[354],a);return a-b.text.length},gecko:function(){this._visualPropertyCheck();var b=this._inputElement;try{if(qx.util.Validation.isValidString(b.value)){return b.selectionStart}}catch(a){return 0}},"default":function(){this._visualPropertyCheck();return this._inputElement.selectionStart}}),setSelectionLength:qx.core.Variant.select($[0],{mshtml:function(b){this._visualPropertyCheck();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return}a.collapse();a.moveEnd($[354],b);a.select()},gecko:function(c){this._visualPropertyCheck();var b=this._inputElement;try{if(qx.util.Validation.isValidString(b.value)){b.selectionEnd=b.selectionStart+c}}catch(a){}},"default":function(b){this._visualPropertyCheck();var a=this._inputElement;if(qx.util.Validation.isValidString(a.value)){a.selectionEnd=a.selectionStart+b}}}),getSelectionLength:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return 0}return a.text.length},gecko:function(){this._visualPropertyCheck();var b=this._inputElement;try{return b.selectionEnd-b.selectionStart}catch(a){}},"default":function(){this._visualPropertyCheck();var a=this._inputElement;return a.selectionEnd-a.selectionStart}}),setSelectionText:qx.core.Variant.select($[0],{mshtml:function(c){this._visualPropertyCheck();var b=this.getSelectionStart();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return}a.text=c;this.setValue(this._inputElement.value);this.setSelectionStart(b);this.setSelectionLength(c.length)},gecko:function(h){this._visualPropertyCheck();var d=this._inputElement;try{if(qx.util.Validation.isValidString(d.value)){var f=d.value;var g=d.selectionStart;var b=f.substr(0,g);var a=f.substr(d.selectionEnd);var e=d.value=b+h+a;d.selectionStart=g;d.selectionEnd=g+h.length;this.setValue(e)}}catch(c){}},"default":function(g){this._visualPropertyCheck();var c=this._inputElement;var e=c.value;var f=c.selectionStart;var b=e.substr(0,f);var a=e.substr(c.selectionEnd);var d=c.value=b+g+a;c.selectionStart=f;c.selectionEnd=f+g.length;this.setValue(d)}}),getSelectionText:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return""}return a.text},"default":function(){this._visualPropertyCheck();return this._inputElement.value.substr(this.getSelectionStart(),this.getSelectionLength())}}),selectAll:function(){this._visualPropertyCheck();if(this.getValue()!=null){this.setSelectionStart(0);this.setSelectionLength(this._inputElement.value.length)}this._inputElement.select();if(this.isEnabled()&&this.isSeeable()){this._inputElement.focus()}},selectFromTo:qx.core.Variant.select($[0],{mshtml:function(b,a){this._visualPropertyCheck();this.setSelectionStart(b);this.setSelectionLength(a-b)},gecko:function(d,c){this._visualPropertyCheck();var b=this._inputElement;try{b.selectionStart=d;b.selectionEnd=c}catch(a){}},"default":function(c,b){this._visualPropertyCheck();var a=this._inputElement;a.selectionStart=c;a.selectionEnd=b}})},destruct:function(){if(this._inputElement){if(qx.core.Variant.isSet($[0],$[19])){this._inputElement.onpropertychange=null}else{this._inputElement.removeEventListener($[85],this.__oninput,false)}}this._disposeFields("_inputElement","__font","__oninput")}});
+qx.Class.define("qx.ui.form.Spinner",{extend:qx.ui.layout.HorizontalBoxLayout,construct:function(c,b,a){arguments.callee.base.call(this);if(qx.core.Variant.isSet($[0],$[20])){this.setStyleProperty($[193],"0px")}this._textfield=new qx.ui.form.TextField;this._textfield.setBorder(null);this._textfield.setWidth("1*");this._textfield.setAllowStretchY(true);this._textfield.setHeight(null);this._textfield.setLiveUpdate(true);this._textfield.setVerticalAlign($[31]);this._textfield.setAppearance("spinner-text-field");this.add(this._textfield);this._buttonlayout=new qx.ui.layout.VerticalBoxLayout;this._buttonlayout.setWidth("auto");this.add(this._buttonlayout);this._upbutton=new qx.ui.form.Button;this._upbutton.setAppearance("spinner-button-up");this._upbutton.setTabIndex(null);this._upbutton.setHeight("1*");this._buttonlayout.add(this._upbutton);this._downbutton=new qx.ui.form.Button;this._downbutton.setAppearance("spinner-button-down");this._downbutton.setTabIndex(null);this._downbutton.setHeight("1*");this._buttonlayout.add(this._downbutton);this._timer=new qx.client.Timer(this.getInterval());this.setManager(new qx.util.range.Range());this.initWrap();this.addEventListener($[12],this._onkeypress,this);this.addEventListener($[25],this._onkeydown,this);this.addEventListener($[64],this._onkeyup,this);this.addEventListener($[49],this._onmousewheel,this);this._textfield.addEventListener($[78],this._ontextchange,this);this._textfield.addEventListener($[85],this._oninput,this);this._textfield.addEventListener("blur",this._onblur,this);this._upbutton.addEventListener($[2],this._onmousedown,this);this._downbutton.addEventListener($[2],this._onmousedown,this);this._timer.addEventListener($[59],this._oninterval,this);if(c!=null){this.setMin(c)}if(a!=null){this.setMax(a)}if(b!=null){this.setValue(b)}this._checkValue=this.__checkValue;this.initWidth();this.initHeight();this._last_value=""},events:{change:$[75]},properties:{appearance:{refine:true,init:"spinner"},width:{refine:true,init:60},height:{refine:true,init:22},incrementAmount:{check:$[57],init:1,apply:"_applyIncrementAmount"},wheelIncrementAmount:{check:$[57],init:1},pageIncrementAmount:{check:$[57],init:10},interval:{check:$[22],init:100},firstInterval:{check:$[22],init:500},minTimer:{check:$[22],init:20},timerDecrease:{check:$[22],init:2},amountGrowth:{check:$[57],init:1.01},wrap:{check:$[3],init:false,apply:$[393]},editable:{check:$[3],init:true,apply:"_applyEditable"},manager:{check:$[450],apply:$[554],dispose:true},checkValueFunction:{apply:"_applyCheckValueFunction"},selectTextOnInteract:{check:$[3],init:true}},members:{_applyIncrementAmount:function(b,a){this._computedIncrementAmount=b},_applyEditable:function(b,a){if(this._textfield){this._textfield.setReadOnly(!b)}},_applyWrap:function(b,a){this.getManager().setWrap(b);this._onchange()},_applyManager:function(b,a){if(a){a.removeEventListener($[77],this._onchange,this)}if(b){b.addEventListener($[77],this._onchange,this)}this._onchange()},_applyCheckValueFunction:function(b,a){this._checkValue=b},_computePreferredInnerWidth:function(){return 50},_computePreferredInnerHeight:function(){return 14},_onkeypress:function(b){var a=b.getKeyIdentifier();if(a==$[69]&&!b.isAltPressed()){this._checkValue(true,false);if(this.getSelectTextOnInteract()){this._textfield.selectAll()}}else{switch(a){case"Up":case"Down":case"Left":case $[53]:case"Shift":case $[261]:case"Alt":case $[113]:case"Delete":case $[349]:case"Insert":case"Home":case"End":case $[58]:case $[55]:case"NumLock":case"Tab":break;default:if((a>="0"&&a<="9")||(a=="-")){return}if(b.getModifiers()==0){b.preventDefault()}}}},_onkeydown:function(b){var a=b.getKeyIdentifier();if(this._intervalIncrease==null){switch(a){case"Up":case"Down":this._intervalIncrease=a=="Up";this._intervalMode="single";this._resetIncrements();this._checkValue(true,false);this._increment();this._timer.startWith(this.getFirstInterval());break;case $[58]:case $[55]:this._intervalIncrease=a==$[58];this._intervalMode="page";this._resetIncrements();this._checkValue(true,false);this._pageIncrement();this._timer.startWith(this.getFirstInterval());break}}},_onkeyup:function(a){if(this._intervalIncrease!=null){switch(a.getKeyIdentifier()){case"Up":case"Down":case $[58]:case $[55]:this._timer.stop();this._intervalIncrease=null;this._intervalMode=null}}},_onmousedown:function(b){if(!b.isLeftButtonPressed()){return}this._checkValue(true);var a=b.getCurrentTarget();a.addState($[23]);a.addEventListener($[17],this._onmouseup,this);a.addEventListener($[14],this._onmouseup,this);this._intervalIncrease=a==this._upbutton;this._resetIncrements();this._increment();if(this.getSelectTextOnInteract()){this._textfield.selectAll()}this._timer.setInterval(this.getFirstInterval());this._timer.start()},_onmouseup:function(b){var a=b.getCurrentTarget();a.removeState($[23]);a.removeEventListener($[17],this._onmouseup,this);a.removeEventListener($[14],this._onmouseup,this);if(this.getSelectTextOnInteract()){this._textfield.selectAll()}this._textfield.setFocused(true);this._timer.stop();this._intervalIncrease=null},_onmousewheel:function(b){this._checkValue(true);if(this.getManager().incrementValue){this.getManager().incrementValue(this.getWheelIncrementAmount()*b.getWheelDelta())}else{var a=this.getManager().getValue()+(this.getWheelIncrementAmount()*b.getWheelDelta());a=this.getManager().limit(a);this.getManager().setValue(a)}this._textfield.selectAll();b.preventDefault();b.stopPropagation()},_ontextchange:function(a){this._last_value=a.getOldValue()},_oninput:function(a){this._checkValue(true,true)},_onchange:function(b){var a=this.getManager().getValue();this._textfield.setValue(String(a));if(a==this.getMin()&&!this.getWrap()){this._downbutton.removeState($[23]);this._downbutton.setEnabled(false);this._timer.stop()}else{this._downbutton.resetEnabled()}if(a==this.getMax()&&!this.getWrap()){this._upbutton.removeState($[23]);this._upbutton.setEnabled(false);this._timer.stop()}else{this._upbutton.resetEnabled()}this.createDispatchDataEvent($[77],a)},_onblur:function(a){this._checkValue(false)},setValue:function(a){this.getManager().setValue(this.getManager().limit(a))},getValue:function(){this._checkValue(true);return this.getManager().getValue()},resetValue:function(){this.getManager().resetValue()},setMax:function(a){return this.getManager().setMax(a)},getMax:function(){return this.getManager().getMax()},setMin:function(a){return this.getManager().setMin(a)},getMin:function(){return this.getManager().getMin()},_intervalIncrease:null,_oninterval:function(b){this._timer.stop();this.setInterval(Math.max(this.getMinTimer(),this.getInterval()-this.getTimerDecrease()));if(this._intervalMode=="page"){this._pageIncrement()}else{if(this.getInterval()==this.getMinTimer()){this._computedIncrementAmount=this.getAmountGrowth()*this._computedIncrementAmount}this._increment()}var a=this.getManager().getWrap();switch(this._intervalIncrease){case true:if(this.getValue()==this.getMax()&&!a){return}case false:if(this.getValue()==this.getMin()&&!a){return}}this._timer.restartWith(this.getInterval())},__checkValue:function(i,c){var b=this._textfield.getInputElement();if(!b){return}if((b.value=="")||(b.value=="-")){if(!i){this.resetValue();return}}else{var h=b.value;var g;g=h;var d=parseFloat(g);var e=this.getManager().limit(d);var a=this.getManager().getValue();var j=e;if(isNaN(d)||(e!=d)||(d!=g)){if(c){this._textfield.setValue(this._last_value)}else{if(isNaN(e)){j=a}else{j=e}}}if(c){return}var f;f=String(j);if((j===a)&&(h!==f)){this._textfield.setValue(f)}this.getManager().setValue(j)}},_increment:function(){if(this.getManager().incrementValue){this.getManager().incrementValue((this._intervalIncrease?1:-1)*this._computedIncrementAmount)}else{var a=this.getManager().getValue()+((this._intervalIncrease?1:-1)*this._computedIncrementAmount);a=this.getManager().limit(a);this.getManager().setValue(a)}},_pageIncrement:function(){if(this.getManager().pageIncrementValue){this.getManager().pageIncrementValue()}else{var a=this.getManager().getValue()+((this._intervalIncrease?1:-1)*this.getPageIncrementAmount());a=this.getManager().limit(a);this.getManager().setValue(a)}},_resetIncrements:function(){this._computedIncrementAmount=this.getIncrementAmount();this.resetInterval()}},destruct:function(){var a=this.getManager();if(a){a.dispose()}this._disposeObjects("_textfield","_buttonlayout","_upbutton","_downbutton","_timer")}});
+qx.Class.define($[546],{extend:qx.ui.basic.Terminator,construct:function(a){arguments.callee.base.call(this);if(a!=null){this.setValue(a)}this.initHideFocus();this.initWidth();this.initHeight();this.initTabIndex();this.initSpellCheck();this.__oninput=qx.lang.Function.bindEvent(this._oninputDom,this);this.addEventListener("blur",this._onblur);this.addEventListener($[72],this._onfocus);this.addEventListener($[85],this._oninput);this.addEventListener($[25],this._onkeydown)},statics:{createRegExpValidator:function(a){return function(b){return a.test(b)}}},events:{input:$[75]},properties:{allowStretchX:{refine:true,init:true},allowStretchY:{refine:true,init:false},appearance:{refine:true,init:"text-field"},tabIndex:{refine:true,init:1},hideFocus:{refine:true,init:true},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},selectable:{refine:true,init:true},value:{init:"",nullable:true,event:$[78],apply:"_applyValue",dispose:true},textAlign:{check:["left",$[39],$[21],"justify"],nullable:true,themeable:true,apply:$[399]},spellCheck:{check:$[3],init:false,apply:"_applySpellCheck"},liveUpdate:{check:$[3],init:false},maxLength:{check:$[22],apply:"_applyMaxLength",nullable:true},readOnly:{check:$[3],apply:"_applyReadOnly",init:false},validator:{check:"Function",event:"changeValidator",nullable:true}},members:{_inputTag:$[85],_inputType:"text",_inputOverflow:$[15],_applyElement:function(d,b){arguments.callee.base.call(this,d,b);if(d){var c=this._inputElement=document.createElement(this._inputTag);if(this._inputType){c.type=this._inputType}c.autoComplete="off";c.setAttribute("autoComplete","off");c.disabled=this.getEnabled()===false;c.readOnly=this.getReadOnly();c.value=this.getValue()!=null?this.getValue().toString():"";if(this.getMaxLength()!=null){c.maxLength=this.getMaxLength()}var a=c.style;a.padding=a.margin=0;a.border="0 none";a.background=$[157];a.overflow=this._inputOverflow;a.outline="none";a.resize="none";a.WebkitAppearance="none";a.MozAppearance="none";if(qx.core.Variant.isSet($[0],$[496])){a.margin="1px 0"}this._renderFont();this._renderTextColor();this._renderTextAlign();this._renderCursor();this._renderSpellCheck();if(qx.core.Variant.isSet($[0],$[20])){c.onpropertychange=this.__oninput}else{c.addEventListener($[85],this.__oninput,false)}d.appendChild(c)}},_postApply:function(){this._syncFieldWidth();this._syncFieldHeight()},_changeInnerWidth:function(b,a){this._syncFieldWidth()},_changeInnerHeight:function(b,a){this._syncFieldHeight();this._centerFieldVertically()},_syncFieldWidth:function(){this._inputElement.style.width=this.getInnerWidth()+"px"},_syncFieldHeight:function(){if(this._inputTag!==$[85]){this._inputElement.style.height=(this.getInnerHeight()-2)+"px"}},_applyCursor:function(b,a){if(this._inputElement){this._renderCursor()}},_renderCursor:function(){var a=this._inputElement.style;var b=this.getCursor();if(b){if(b==$[146]&&org.eclipse.rwt.Client.isMshtml()){a.cursor="hand"}else{a.cursor=b}}else{a.cursor=""}},_applyTextAlign:function(b,a){if(this._inputElement){this._renderTextAlign()}},_renderTextAlign:function(){this._inputElement.style.textAlign=this.getTextAlign()||""},_applySpellCheck:function(b,a){if(this._inputElement){this._renderSpellCheck()}},_renderSpellCheck:function(){this._inputElement.spellcheck=this.getSpellCheck()},_applyEnabled:function(b,a){if(this._inputElement){this._inputElement.disabled=b===false}return arguments.callee.base.call(this,b,a)},_applyValue:function(b,a){this._inValueProperty=true;if(this._inputElement){if(b===null){b=""}if(this._inputElement.value!==b){this._inputElement.value=b}}delete this._inValueProperty},_applyMaxLength:function(b,a){if(this._inputElement){this._inputElement.maxLength=b==null?"":b}},_applyReadOnly:function(b,a){if(this._inputElement){this._inputElement.readOnly=b}if(b){this.addState($[337])}else{this.removeState($[337])}},_applyTextColor:function(b,a){qx.theme.manager.Color.getInstance().connect(this._styleTextColor,this,b)},_styleTextColor:function(a){this.__textColor=a;this._renderTextColor()},_renderTextColor:function(){var a=this._inputElement;if(a){a.style.color=this.__textColor||""}},_applyFont:function(b,a){qx.theme.manager.Font.getInstance().connect(this._styleFont,this,b)},_styleFont:function(a){this.__font=a;this._renderFont()},_renderFont:function(){var a=this._inputElement;if(a){var b=this.__font;b?b.renderElement(a):qx.ui.core.Font.resetElement(a)}},_visualizeFocus:function(){arguments.callee.base.call(this);if(this.getEnableElementFocus()){try{this._inputElement.focus()}catch(a){}if(qx.core.Variant.isSet($[0],$[76])){if(this.getSelectionLength()>0){this.setSelectionStart(this.getSelectionLength());this.setSelectionLength(0)}}}},_visualizeBlur:function(){arguments.callee.base.call(this);try{this._inputElement.blur()}catch(a){}},getComputedValue:function(){if(this._inputElement){return this._inputElement.value}return this.getValue()},getInputElement:function(){return this._inputElement||null},isValid:function(){var a=this.getValidator();return !a||a(this.getValue())},isComputedValid:function(){var a=this.getValidator();return !a||a(this.getComputedValue())},_computePreferredInnerWidth:function(){return 120},_computePreferredInnerHeight:function(){return 16},_ieFirstInputFix:qx.core.Variant.select($[0],{mshtml:function(){this._inValueProperty=true;this._inputElement.value=this.getValue()===null?"":this.getValue().toString();this._firstInputFixApplied=true;delete this._inValueProperty},"default":null}),_afterAppear:qx.core.Variant.select($[0],{mshtml:function(){arguments.callee.base.call(this);if(!this._firstInputFixApplied&&this._inputElement){qx.client.Timer.once(this._ieFirstInputFix,this,1)}this._centerFieldVertically()},"default":function(){arguments.callee.base.call(this);this._centerFieldVertically()}}),_centerFieldVertically:function(){if(this._inputTag===$[85]&&this._inputElement){var c=this.getInnerHeight();var a=qx.html.Dimension.getBoxHeight(this._inputElement);if(a!=0){if(qx.core.Variant.isSet($[0],$[20])){a-=2}var b=(c-a)/2-1;if(b<0){b=0}b=Math.floor(b);this.setStyleProperty($[208],b+"px")}}},_firstInputFixApplied:false,_textOnFocus:null,_oninputDom:qx.core.Variant.select($[0],{mshtml:function(a){if(!this._inValueProperty&&a.propertyName==="value"){this.createDispatchDataEvent($[85],this.getComputedValue())}},"default":function(a){this.createDispatchDataEvent($[85],this.getComputedValue())}}),_ontabfocus:function(){this.selectAll()},_onfocus:function(){this._textOnFocus=this.getComputedValue()},_onblur:function(){var a=this.getComputedValue().toString();if(this._textOnFocus!=a){this.setValue(a)}if(this.getParent()!=null){this.setSelectionLength(0)}},_oninput:function(){if(!this.isLiveUpdate()){return}var a=this.getComputedValue().toString();this.setValue(a)},_onkeydown:function(a){if(a.getKeyIdentifier()==$[349]&&this.getReadOnly()){a.preventDefault()}},__getRange:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();return this._inputElement.createTextRange()},"default":null}),__getSelectionRange:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();return window.document.selection.createRange()},"default":null}),setSelectionStart:qx.core.Variant.select($[0],{mshtml:function(d){this._visualPropertyCheck();var c=this._inputElement.value;var b=0;while(b<d){b=c.indexOf("\r\n",b);if(b==-1){break}d--;b++}var a=this.__getRange();a.collapse();a.move($[352],d);a.select()},gecko:function(b){this._visualPropertyCheck();try{this._inputElement.selectionStart=b}catch(a){}},"default":function(a){this._visualPropertyCheck();this._inputElement.selectionStart=a}}),getSelectionStart:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();var c=this.__getSelectionRange();if(!this._inputElement.contains(c.parentElement())){return -1}var b=this.__getRange();var a=this._inputElement.value.length;b.moveToBookmark(c.getBookmark());b.moveEnd($[352],a);return a-b.text.length},gecko:function(){this._visualPropertyCheck();var b=this._inputElement;try{if(qx.util.Validation.isValidString(b.value)){return b.selectionStart}}catch(a){return 0}},"default":function(){this._visualPropertyCheck();return this._inputElement.selectionStart}}),setSelectionLength:qx.core.Variant.select($[0],{mshtml:function(b){this._visualPropertyCheck();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return}a.collapse();a.moveEnd($[352],b);a.select()},gecko:function(c){this._visualPropertyCheck();var b=this._inputElement;try{if(qx.util.Validation.isValidString(b.value)){b.selectionEnd=b.selectionStart+c}}catch(a){}},"default":function(b){this._visualPropertyCheck();var a=this._inputElement;if(qx.util.Validation.isValidString(a.value)){a.selectionEnd=a.selectionStart+b}}}),getSelectionLength:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return 0}return a.text.length},gecko:function(){this._visualPropertyCheck();var b=this._inputElement;try{return b.selectionEnd-b.selectionStart}catch(a){}},"default":function(){this._visualPropertyCheck();var a=this._inputElement;return a.selectionEnd-a.selectionStart}}),setSelectionText:qx.core.Variant.select($[0],{mshtml:function(c){this._visualPropertyCheck();var b=this.getSelectionStart();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return}a.text=c;this.setValue(this._inputElement.value);this.setSelectionStart(b);this.setSelectionLength(c.length)},gecko:function(h){this._visualPropertyCheck();var d=this._inputElement;try{if(qx.util.Validation.isValidString(d.value)){var f=d.value;var g=d.selectionStart;var b=f.substr(0,g);var a=f.substr(d.selectionEnd);var e=d.value=b+h+a;d.selectionStart=g;d.selectionEnd=g+h.length;this.setValue(e)}}catch(c){}},"default":function(g){this._visualPropertyCheck();var c=this._inputElement;var e=c.value;var f=c.selectionStart;var b=e.substr(0,f);var a=e.substr(c.selectionEnd);var d=c.value=b+g+a;c.selectionStart=f;c.selectionEnd=f+g.length;this.setValue(d)}}),getSelectionText:qx.core.Variant.select($[0],{mshtml:function(){this._visualPropertyCheck();var a=this.__getSelectionRange();if(!this._inputElement.contains(a.parentElement())){return""}return a.text},"default":function(){this._visualPropertyCheck();return this._inputElement.value.substr(this.getSelectionStart(),this.getSelectionLength())}}),selectAll:function(){this._visualPropertyCheck();if(this.getValue()!=null){this.setSelectionStart(0);this.setSelectionLength(this._inputElement.value.length)}this._inputElement.select();if(this.isEnabled()&&this.isSeeable()){this._inputElement.focus()}},selectFromTo:qx.core.Variant.select($[0],{mshtml:function(b,a){this._visualPropertyCheck();this.setSelectionStart(b);this.setSelectionLength(a-b)},gecko:function(d,c){this._visualPropertyCheck();var b=this._inputElement;try{b.selectionStart=d;b.selectionEnd=c}catch(a){}},"default":function(c,b){this._visualPropertyCheck();var a=this._inputElement;a.selectionStart=c;a.selectionEnd=b}})},destruct:function(){if(this._inputElement){if(qx.core.Variant.isSet($[0],$[20])){this._inputElement.onpropertychange=null}else{this._inputElement.removeEventListener($[85],this.__oninput,false)}}this._disposeFields("_inputElement","__font","__oninput")}});
qx.Class.define("qx.ui.layout.VerticalBoxLayout",{extend:qx.ui.layout.BoxLayout,properties:{orientation:{refine:true,init:$[44]}}});
-qx.Class.define($[389],{extend:qx.ui.basic.Atom,construct:function(e,d,c,a,b){arguments.callee.base.call(this,e,d,c,a,b);this.initTabIndex();this.addEventListener($[10],this._onmouseover);this.addEventListener($[15],this._onmouseout);this.addEventListener($[2],this._onmousedown);this.addEventListener($[17],this._onmouseup);this.addEventListener($[26],this._onkeydown);this.addEventListener($[64],this._onkeyup)},properties:{appearance:{refine:true,init:"button"},tabIndex:{refine:true,init:1}},members:{_onmouseover:function(a){if(a.getTarget()!=this){return}if(this.hasState($[46])){this.removeState($[46]);this.addState($[23])}this.addState("over")},_onmouseout:function(a){if(a.getTarget()!=this){return}this.removeState("over");if(this.hasState($[23])){this.setCapture(true);this.removeState($[23]);this.addState($[46])}},_onmousedown:function(a){if(a.getTarget()!=this||!a.isLeftButtonPressed()){return}this.removeState($[46]);this.addState($[23])},_onmouseup:function(b){this.setCapture(false);var a=this.hasState($[23]);var c=this.hasState($[46]);if(a){this.removeState($[23])}if(c){this.removeState($[46])}if(!c){this.addState("over");if(a){this.execute()}}},_onkeydown:function(a){switch(a.getKeyIdentifier()){case $[69]:case $[89]:this.removeState($[46]);this.addState($[23]);a.stopPropagation()}},_onkeyup:function(a){switch(a.getKeyIdentifier()){case $[69]:case $[89]:if(this.hasState($[23])){this.removeState($[46]);this.removeState($[23]);this.execute();a.stopPropagation()}}}}});
-qx.Class.define($[451],{extend:qx.core.Target,events:{change:$[9]},properties:{value:{check:"!isNaN(value)&&value>=this.getMin()&&value<=this.getMax()",nullable:true,event:$[76],init:0},precision:{check:$[22],nullable:true,event:$[76],init:0},min:{check:$[57],apply:"_applyMin",event:$[76],init:0},max:{check:$[57],apply:"_applyMax",event:$[76],init:100},wrap:{check:$[3],init:false}},members:{_applyMax:function(b,a){this.setValue(Math.min(this.getValue(),b))},_applyMin:function(b,a){this.setValue(Math.max(this.getValue(),b))},limit:function(c){var a=this.getPrecision();if(a!=null){var b=Math.pow(10,a)}if(this.getWrap()){if(a!=null){var c=Math.round(c*b)/b}if(c<this.getMin()){return(this.getMax()-(this.getMin()-c))+1}if(c>this.getMax()){return(this.getMin()+(c-this.getMax()))-1}}if(c<this.getMin()){return this.getMin()}if(c>this.getMax()){return this.getMax()}if(a!=null){return Math.round(c*b)/b}else{return c}}}});
+qx.Class.define($[387],{extend:qx.ui.basic.Atom,construct:function(e,d,c,a,b){arguments.callee.base.call(this,e,d,c,a,b);this.initTabIndex();this.addEventListener($[9],this._onmouseover);this.addEventListener($[14],this._onmouseout);this.addEventListener($[2],this._onmousedown);this.addEventListener($[17],this._onmouseup);this.addEventListener($[25],this._onkeydown);this.addEventListener($[64],this._onkeyup)},properties:{appearance:{refine:true,init:"button"},tabIndex:{refine:true,init:1}},members:{_onmouseover:function(a){if(a.getTarget()!=this){return}if(this.hasState($[46])){this.removeState($[46]);this.addState($[23])}this.addState("over")},_onmouseout:function(a){if(a.getTarget()!=this){return}this.removeState("over");if(this.hasState($[23])){this.setCapture(true);this.removeState($[23]);this.addState($[46])}},_onmousedown:function(a){if(a.getTarget()!=this||!a.isLeftButtonPressed()){return}this.removeState($[46]);this.addState($[23])},_onmouseup:function(b){this.setCapture(false);var a=this.hasState($[23]);var c=this.hasState($[46]);if(a){this.removeState($[23])}if(c){this.removeState($[46])}if(!c){this.addState("over");if(a){this.execute()}}},_onkeydown:function(a){switch(a.getKeyIdentifier()){case $[69]:case $[89]:this.removeState($[46]);this.addState($[23]);a.stopPropagation()}},_onkeyup:function(a){switch(a.getKeyIdentifier()){case $[69]:case $[89]:if(this.hasState($[23])){this.removeState($[46]);this.removeState($[23]);this.execute();a.stopPropagation()}}}}});
+qx.Class.define($[450],{extend:qx.core.Target,events:{change:$[10]},properties:{value:{check:"!isNaN(value)&&value>=this.getMin()&&value<=this.getMax()",nullable:true,event:$[77],init:0},precision:{check:$[22],nullable:true,event:$[77],init:0},min:{check:$[57],apply:"_applyMin",event:$[77],init:0},max:{check:$[57],apply:"_applyMax",event:$[77],init:100},wrap:{check:$[3],init:false}},members:{_applyMax:function(b,a){this.setValue(Math.min(this.getValue(),b))},_applyMin:function(b,a){this.setValue(Math.max(this.getValue(),b))},limit:function(c){var a=this.getPrecision();if(a!=null){var b=Math.pow(10,a)}if(this.getWrap()){if(a!=null){var c=Math.round(c*b)/b}if(c<this.getMin()){return(this.getMax()-(this.getMin()-c))+1}if(c>this.getMax()){return(this.getMin()+(c-this.getMax()))-1}}if(c<this.getMin()){return this.getMin()}if(c>this.getMax()){return this.getMax()}if(a!=null){return Math.round(c*b)/b}else{return c}}}});
qx.Class.define("qx.ui.pageview.AbstractPageView",{type:$[102],extend:qx.ui.layout.BoxLayout,construct:function(a,b){arguments.callee.base.call(this);this._bar=new a;this._pane=new b;this.add(this._bar,this._pane)},members:{getPane:function(){return this._pane},getBar:function(){return this._bar}},destruct:function(){this._disposeObjects("_bar","_pane")}});
-qx.Class.define($[429],{extend:qx.ui.pageview.AbstractPageView,construct:function(){arguments.callee.base.call(this,qx.ui.pageview.tabview.Bar,qx.ui.pageview.tabview.Pane)},properties:{appearance:{refine:true,init:"tab-view"},orientation:{refine:true,init:$[44]},alignTabsToLeft:{check:$[3],init:true,apply:"_applyAlignTabsToLeft"},placeBarOnTop:{check:$[3],init:true,apply:"_applyPlaceBarOnTop"}},members:{_applyAlignTabsToLeft:function(c,b){var a=this._bar;a.setHorizontalChildrenAlign(c?"left":$[21]);a._addChildrenToStateQueue()},_applyPlaceBarOnTop:function(c,b){var a=this._bar;if(c){a.moveSelfToBegin()}else{a.moveSelfToEnd()}a._addChildrenToStateQueue()}}});
-qx.Class.define("qx.ui.pageview.AbstractBar",{type:$[102],extend:qx.ui.layout.BoxLayout,construct:function(){arguments.callee.base.call(this);this._manager=new qx.ui.selection.RadioManager;this.addEventListener($[49],this._onmousewheel)},members:{getManager:function(){return this._manager},_lastDate:(new Date(0)).valueOf(),_onmousewheel:function(g){g.preventDefault();g.stopPropagation();var d=(new Date).valueOf();if((d-50)<this._lastDate){return}this._lastDate=d;var a=this.getManager();var b=a.getEnabledItems();var c=b.indexOf(a.getSelected());if(this.getWheelDelta(g)>0){var f=b[c+1];if(!f){f=b[0]}}else{if(c>0){var f=b[c-1];if(!f){f=b[0]}}else{f=b[b.length-1]}}a.setSelected(f)},getWheelDelta:function(a){return a.getWheelDelta()}},destruct:function(){this._disposeObjects($[377])}});
-qx.Class.define($[448],{extend:qx.core.Target,construct:function(a,b){arguments.callee.base.call(this);this._items=[];this.setName(a!=null?a:qx.ui.selection.RadioManager.AUTO_NAME_PREFIX+this.toHashCode());if(b!=null){this.add.apply(this,b)}},statics:{AUTO_NAME_PREFIX:"qx-radio-"},properties:{selected:{nullable:true,apply:"_applySelected",event:"changeSelected",check:$[463]},name:{check:$[27],nullable:true,apply:"_applyName"}},members:{getItems:function(){return this._items},getEnabledItems:function(){var c=[];for(var f=0,e=this._items,d=e.length;f<d;f++){if(e[f].getEnabled()){c.push(e[f])}}return c},handleItemChecked:function(b,a){if(a){this.setSelected(b)}else{if(this.getSelected()==b){this.setSelected(null)}}},add:function(b){var a=arguments;var e=a.length;var d;for(var c=0;c<e;c++){d=a[c];if(qx.lang.Array.contains(this._items,d)){return}this._items.push(d);d.setManager(this);if(d.getChecked()){this.setSelected(d)}d.setName(this.getName())}},remove:function(a){qx.lang.Array.remove(this._items,a);a.setManager(null);if(a.getChecked()){this.setSelected(null)}},_applySelected:function(b,a){if(a){a.setChecked(false)}if(b){b.setChecked(true)}},_applyName:function(e,a){for(var c=0,b=this._items,d=b.length;c<d;c++){b[c].setName(e)}},selectNext:function(d){var a=this._items.indexOf(d);if(a==-1){return}var b=0;var c=this._items.length;a=(a+1)%c;while(b<c&&!this._items[a].getEnabled()){a=(a+1)%c;b++}this._selectByIndex(a)},selectPrevious:function(d){var a=this._items.indexOf(d);if(a==-1){return}var b=0;var c=this._items.length;a=(a-1+c)%c;while(b<c&&!this._items[a].getEnabled()){a=(a-1+c)%c;b++}this._selectByIndex(a)},_selectByIndex:function(a){if(this._items[a].getEnabled()){this.setSelected(this._items[a]);this._items[a].setFocused(true)}}},destruct:function(){this._disposeObjectDeep("_items",1)}});
+qx.Class.define($[428],{extend:qx.ui.pageview.AbstractPageView,construct:function(){arguments.callee.base.call(this,qx.ui.pageview.tabview.Bar,qx.ui.pageview.tabview.Pane)},properties:{appearance:{refine:true,init:"tab-view"},orientation:{refine:true,init:$[44]},alignTabsToLeft:{check:$[3],init:true,apply:"_applyAlignTabsToLeft"},placeBarOnTop:{check:$[3],init:true,apply:"_applyPlaceBarOnTop"}},members:{_applyAlignTabsToLeft:function(c,b){var a=this._bar;a.setHorizontalChildrenAlign(c?"left":$[21]);a._addChildrenToStateQueue()},_applyPlaceBarOnTop:function(c,b){var a=this._bar;if(c){a.moveSelfToBegin()}else{a.moveSelfToEnd()}a._addChildrenToStateQueue()}}});
+qx.Class.define("qx.ui.pageview.AbstractBar",{type:$[102],extend:qx.ui.layout.BoxLayout,construct:function(){arguments.callee.base.call(this);this._manager=new qx.ui.selection.RadioManager;this.addEventListener($[49],this._onmousewheel)},members:{getManager:function(){return this._manager},_lastDate:(new Date(0)).valueOf(),_onmousewheel:function(g){g.preventDefault();g.stopPropagation();var d=(new Date).valueOf();if((d-50)<this._lastDate){return}this._lastDate=d;var a=this.getManager();var b=a.getEnabledItems();var c=b.indexOf(a.getSelected());if(this.getWheelDelta(g)>0){var f=b[c+1];if(!f){f=b[0]}}else{if(c>0){var f=b[c-1];if(!f){f=b[0]}}else{f=b[b.length-1]}}a.setSelected(f)},getWheelDelta:function(a){return a.getWheelDelta()}},destruct:function(){this._disposeObjects($[375])}});
+qx.Class.define($[447],{extend:qx.core.Target,construct:function(a,b){arguments.callee.base.call(this);this._items=[];this.setName(a!=null?a:qx.ui.selection.RadioManager.AUTO_NAME_PREFIX+this.toHashCode());if(b!=null){this.add.apply(this,b)}},statics:{AUTO_NAME_PREFIX:"qx-radio-"},properties:{selected:{nullable:true,apply:"_applySelected",event:"changeSelected",check:$[461]},name:{check:$[26],nullable:true,apply:"_applyName"}},members:{getItems:function(){return this._items},getEnabledItems:function(){var c=[];for(var f=0,e=this._items,d=e.length;f<d;f++){if(e[f].getEnabled()){c.push(e[f])}}return c},handleItemChecked:function(b,a){if(a){this.setSelected(b)}else{if(this.getSelected()==b){this.setSelected(null)}}},add:function(b){var a=arguments;var e=a.length;var d;for(var c=0;c<e;c++){d=a[c];if(qx.lang.Array.contains(this._items,d)){return}this._items.push(d);d.setManager(this);if(d.getChecked()){this.setSelected(d)}d.setName(this.getName())}},remove:function(a){qx.lang.Array.remove(this._items,a);a.setManager(null);if(a.getChecked()){this.setSelected(null)}},_applySelected:function(b,a){if(a){a.setChecked(false)}if(b){b.setChecked(true)}},_applyName:function(e,a){for(var c=0,b=this._items,d=b.length;c<d;c++){b[c].setName(e)}},selectNext:function(d){var a=this._items.indexOf(d);if(a==-1){return}var b=0;var c=this._items.length;a=(a+1)%c;while(b<c&&!this._items[a].getEnabled()){a=(a+1)%c;b++}this._selectByIndex(a)},selectPrevious:function(d){var a=this._items.indexOf(d);if(a==-1){return}var b=0;var c=this._items.length;a=(a-1+c)%c;while(b<c&&!this._items[a].getEnabled()){a=(a-1+c)%c;b++}this._selectByIndex(a)},_selectByIndex:function(a){if(this._items[a].getEnabled()){this.setSelected(this._items[a]);this._items[a].setFocused(true)}}},destruct:function(){this._disposeObjectDeep("_items",1)}});
qx.Class.define("qx.ui.pageview.tabview.Bar",{extend:qx.ui.pageview.AbstractBar,construct:function(){arguments.callee.base.call(this);this.initZIndex();this.initHeight()},properties:{appearance:{refine:true,init:"tab-view-bar"},zIndex:{refine:true,init:2},height:{refine:true,init:"auto"}}});
qx.Class.define("qx.ui.pageview.AbstractPane",{type:$[102],extend:qx.ui.layout.CanvasLayout});
qx.Class.define("qx.ui.pageview.tabview.Pane",{extend:qx.ui.pageview.AbstractPane,construct:function(){arguments.callee.base.call(this);this.initZIndex();this.initHeight()},properties:{appearance:{refine:true,init:"tab-view-pane"},zIndex:{refine:true,init:1},height:{refine:true,init:"1*"}}});
qx.Class.define("qx.ui.popup.Popup",{extend:qx.ui.layout.CanvasLayout,construct:function(){arguments.callee.base.call(this);this.setZIndex(this._minZIndex);if(this._isFocusRoot){this.activateFocusRoot()}this.initHeight();this.initWidth()},properties:{appearance:{refine:true,init:"popup"},width:{refine:true,init:"auto"},height:{refine:true,init:"auto"},display:{refine:true,init:false},autoHide:{check:$[3],init:true},centered:{check:$[3],init:false},restrictToPageOnOpen:{check:$[3],init:true},restrictToPageLeft:{check:$[22],init:0},restrictToPageRight:{check:$[22],init:0},restrictToPageTop:{check:$[22],init:0},restrictToPageBottom:{check:$[22],init:0}},members:{_isFocusRoot:true,_showTimeStamp:(new Date(0)).valueOf(),_hideTimeStamp:(new Date(0)).valueOf(),_beforeAppear:function(){arguments.callee.base.call(this);if(this.getRestrictToPageOnOpen()){this._wantedLeft=this.getLeft();if(this._wantedLeft!=null){this.setLeft(10000);if(this.getElement()!=null){this.getElement().style.left=10000}}}qx.ui.popup.PopupManager.getInstance().add(this);qx.ui.popup.PopupManager.getInstance().update(this);this._showTimeStamp=(new Date).valueOf();this.bringToFront()},_beforeDisappear:function(){arguments.callee.base.call(this);qx.ui.popup.PopupManager.getInstance().remove(this);this._hideTimeStamp=(new Date).valueOf()},_afterAppear:function(){arguments.callee.base.call(this);if(this.getRestrictToPageOnOpen()){var l=qx.ui.core.ClientDocument.getInstance();var h=l.getClientWidth();var p=l.getClientHeight();var b=qx.bom.Viewport.getScrollTop();var f=qx.bom.Viewport.getScrollLeft();var n=this.getRestrictToPageLeft()+f;var i=this.getRestrictToPageRight()-f;var j=this.getRestrictToPageTop()+b;var c=this.getRestrictToPageBottom()-b;var d=(this._wantedLeft==null)?this.getLeft():this._wantedLeft;var k=this.getTop();var a=this.getBoxWidth();var m=this.getBoxHeight();var e=this.getLeft();var g=k;if(d+a>h-i){d=h-i-a}if(k+m>p-c){k=p-c-m}if(d<n){d=n}if(k<j){k=j}if(d!=e||k!=g){var o=this;window.setTimeout(function(){o.setLeft(d);o.setTop(k)},0)}}},_makeActive:function(){this.getFocusRoot().setActiveChild(this)},_makeInactive:function(){var a=this.getFocusRoot();var b=a.getActiveChild();if(b==this){a.setActiveChild(a)}},_minZIndex:1000000,bringToFront:function(){this.setZIndex(this._minZIndex+1000000);this._sendTo()},sendToBack:function(){this.setZIndex(this._minZIndex+1);this._sendTo()},_sendTo:function(){var d=qx.lang.Object.getValues(qx.ui.popup.PopupManager.getInstance().getAll());var g=function(j,i){return j.getZIndex()-i.getZIndex()};if(org.eclipse.rwt.EventHandler.getMenuManager()!=null){var c=org.eclipse.rwt.EventHandler.getMenuManager();var f=qx.lang.Object.getValues(c.getAll());var h=d.concat(f).sort(g)}else{var h=d.sort(g)}var e=h.length;var a=this._minZIndex;for(var b=0;b<e;b++){h[b].setZIndex(a++)}},getShowTimeStamp:function(){return this._showTimeStamp},getHideTimeStamp:function(){return this._hideTimeStamp},positionRelativeTo:function(c,a,d){if(c instanceof qx.ui.core.Widget){c=c.getElement()}if(c){var b=qx.bom.element.Location.get(c);this.setLocation(b.left+(a||0),b.top+(d||0))}else{throw new Error("Missing reference element")}},centerToBrowser:function(){var c=qx.ui.core.ClientDocument.getInstance();var b=(c.getClientWidth()-this.getBoxWidth())/2;var a=(c.getClientHeight()-this.getBoxHeight())/2;this.setLeft(b<0?0:b);this.setTop(a<0?0:a)}},destruct:function(){qx.ui.popup.PopupManager.getInstance().remove(this);this._disposeFields("_showTimeStamp","_hideTimeStamp")}});
-qx.Class.define($[218],{type:$[30],extend:qx.util.manager.Object,construct:function(){arguments.callee.base.call(this)},members:{update:function(c){if(!(c instanceof qx.ui.core.Widget)){c=null}var a,b;var d=this.getAll();for(b in d){a=d[b];if(!a.getAutoHide()||c==a||a.contains(c)){continue}if(qx.Class.isDefined($[264])&&c instanceof qx.ui.popup.ToolTip&&!(a instanceof qx.ui.popup.ToolTip)){continue}a.hide()}}}});
-qx.Class.define("qx.ui.selection.SelectionManager",{extend:qx.core.Target,construct:function(a){arguments.callee.base.call(this);this._selectedItems=new qx.ui.selection.Selection(this);if(a!=null){this.setBoundedWidget(a)}},events:{changeSelection:$[78]},properties:{boundedWidget:{check:$[133],nullable:true},multiSelection:{check:$[3],init:true},dragSelection:{check:$[3],init:true},canDeselect:{check:$[3],init:true},fireChange:{check:$[3],init:true},anchorItem:{check:$[108],nullable:true,apply:"_applyAnchorItem",event:"changeAnchorItem"},leadItem:{check:$[108],nullable:true,apply:"_applyLeadItem",event:$[355]},multiColumnSupport:{check:$[3],init:false}},members:{_applyAnchorItem:function(b,a){if(a){this.renderItemAnchorState(a,false)}if(b){this.renderItemAnchorState(b,true)}},_applyLeadItem:function(b,a){if(a){this.renderItemLeadState(a,false)}if(b){this.renderItemLeadState(b,true)}},_getFirst:function(){return this.getBoundedWidget().getFirstVisibleChild()},_getLast:function(){return this.getBoundedWidget().getLastVisibleChild()},getFirst:function(){var a=this._getFirst();if(a){return a.getEnabled()?a:this.getNext(a)}},getLast:function(){var a=this._getLast();if(a){return a.getEnabled()?a:this.getPrevious(a)}},getItems:function(){return this.getBoundedWidget().getChildren()},getNextSibling:function(a){return a.getNextSibling()},getPreviousSibling:function(a){return a.getPreviousSibling()},getNext:function(a){while(a){a=this.getNextSibling(a);if(!a){break}if(this.getItemEnabled(a)){return a}}return null},getPrevious:function(a){while(a){a=this.getPreviousSibling(a);if(!a){break}if(this.getItemEnabled(a)){return a}}return null},isBefore:function(b,a){var c=this.getItems();return c.indexOf(b)<c.indexOf(a)},isEqual:function(b,a){return b==a},getItemHashCode:function(a){return a.toHashCode()},scrollItemIntoView:function(b,a){b.scrollIntoView(a)},getItemLeft:function(a){return a.getOffsetLeft()},getItemTop:function(a){return a.getOffsetTop()},getItemWidth:function(a){return a.getOffsetWidth()},getItemHeight:function(a){return a.getOffsetHeight()},getItemEnabled:function(a){return a.getEnabled()},renderItemSelectionState:function(b,a){a?b.addState($[29]):b.removeState($[29]);if(b.handleStateChange){b.handleStateChange()}},renderItemAnchorState:function(a,b){b?a.addState("anchor"):a.removeState("anchor");if(a.handleStateChange!=null){a.handleStateChange()}},renderItemLeadState:function(b,a){a?b.addState("lead"):b.removeState("lead");if(b.handleStateChange!=null){b.handleStateChange()}},getItemSelected:function(a){return this._selectedItems.contains(a)},setItemSelected:function(d,c){switch(this.getMultiSelection()){case true:if(!this.getItemEnabled(d)){return}if(this.getItemSelected(d)==c){return}this.renderItemSelectionState(d,c);c?this._selectedItems.add(d):this._selectedItems.remove(d);this._dispatchChange();break;case false:var b=this.getSelectedItems()[0];if(c){var a=b;if(this.isEqual(d,a)){return}if(a!=null){this.renderItemSelectionState(a,false)}this.renderItemSelectionState(d,true);this._selectedItems.removeAll();this._selectedItems.add(d);this._dispatchChange()}else{if(!this.isEqual(b,d)){this.renderItemSelectionState(d,false);this._dispatchChange()}}break}},getSelectedItems:function(){return this._selectedItems.toArray()},getSelectedItem:function(){return this._selectedItems.getFirst()},setSelectedItems:function(c){var b=this._getChangeValue();var a=this.getFireChange();this.setFireChange(false);this._deselectAll();var e;var f=c.length;for(var d=0;d<f;d++){e=c[d];if(!this.getItemEnabled(e)){continue}this._selectedItems.add(e);this.renderItemSelectionState(e,true)}this.setFireChange(a);if(a&&this._hasChanged(b)){this._dispatchChange()}},setSelectedItem:function(c){if(!c){return}if(!this.getItemEnabled(c)){return}var b=this._getChangeValue();var a=this.getFireChange();this.setFireChange(false);this._deselectAll();this._selectedItems.add(c);this.renderItemSelectionState(c,true);this.setFireChange(a);if(a&&this._hasChanged(b)){this._dispatchChange()}},selectAll:function(){var b=this._getChangeValue();var a=this.getFireChange();this.setFireChange(false);this._selectAll();this.setFireChange(a);if(a&&this._hasChanged(b)){this._dispatchChange()}},_selectAll:function(){if(!this.getMultiSelection()){return}var c;var a=this.getItems();var d=a.length;this._selectedItems.removeAll();for(var b=0;b<d;b++){c=a[b];if(!this.getItemEnabled(c)){continue}this._selectedItems.add(c);this.renderItemSelectionState(c,true)}return true},deselectAll:function(){var b=this._getChangeValue();var a=this.getFireChange();this.setFireChange(false);this._deselectAll();this.setFireChange(a);if(a&&this._hasChanged(b)){this._dispatchChange()}},_deselectAll:function(){var a=this._selectedItems.toArray();for(var b=0;b<a.length;b++){this.renderItemSelectionState(a[b],false)}this._selectedItems.removeAll();return true},selectItemRange:function(d,b){var c=this._getChangeValue();var a=this.getFireChange();this.setFireChange(false);this._selectItemRange(d,b,true);this.setFireChange(a);if(a&&this._hasChanged(c)){this._dispatchChange()}},_selectItemRange:function(b,a,c){if(this.isBefore(a,b)){return this._selectItemRange(a,b,c)}if(c){this._deselectAll()}var d=b;while(d!=null){if(this.getItemEnabled(d)){this._selectedItems.add(d);this.renderItemSelectionState(d,true)}if(this.isEqual(d,a)){break}d=this.getNext(d)}return true},_deselectItemRange:function(b,a){if(this.isBefore(a,b)){return this._deselectItemRange(a,b)}var c=b;while(c!=null){this._selectedItems.remove(c);this.renderItemSelectionState(c,false);if(this.isEqual(c,a)){break}c=this.getNext(c)}},_activeDragSession:false,handleMouseDown:function(a,b){b.stopPropagation();if(!b.isLeftButtonPressed()&&!b.isRightButtonPressed()){return}if(b.isRightButtonPressed()&&this.getItemSelected(a)){return}if(b.isShiftPressed()||this.getDragSelection()||(!this.getItemSelected(a)&&!b.isCtrlPressed())){this._onmouseevent(a,b)}else{this.setLeadItem(a)}this._activeDragSession=this.getDragSelection();if(this._activeDragSession){this.getBoundedWidget().addEventListener($[17],this._ondragup,this);this.getBoundedWidget().setCapture(true)}},_ondragup:function(a){this.getBoundedWidget().removeEventListener($[17],this._ondragup,this);this.getBoundedWidget().setCapture(false);this._activeDragSession=false},handleMouseUp:function(a,b){if(!b.isLeftButtonPressed()){return}if(b.isCtrlPressed()||this.getItemSelected(a)&&!this._activeDragSession){this._onmouseevent(a,b)}if(this._activeDragSession){this._activeDragSession=false;this.getBoundedWidget().setCapture(false)}},handleMouseOver:function(b,a){if(!this.getDragSelection()||!this._activeDragSession){return}this._onmouseevent(b,a,true)},handleClick:function(a,b){},handleDblClick:function(a,b){},_onmouseevent:function(h,g,d){if(!this.getItemEnabled(h)){return}var k=this._getChangeValue();var j=this.getLeadItem();var a=this.getFireChange();this.setFireChange(false);var c=this.getSelectedItems();var b=c.length;this.setLeadItem(h);var l=this.getAnchorItem();var i=g.isCtrlPressed();var f=g.isShiftPressed();if(!l||b==0||(i&&!f&&this.getMultiSelection()&&!this.getDragSelection())){this.setAnchorItem(h);l=h}if((!i&&!f&&!this._activeDragSession||!this.getMultiSelection())){if(!this.getItemEnabled(h)){return}this._deselectAll();this.setAnchorItem(h);if(this._activeDragSession){this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(h)-1)?this.getPrevious(h):this.getNext(h))||h)}if(!this.getItemSelected(h)){this.renderItemSelectionState(h,true)}this._selectedItems.add(h);this._addToCurrentSelection=true}else{if(this._activeDragSession&&d){if(j){this._deselectItemRange(l,j)}if(this.isBefore(l,h)){if(this._addToCurrentSelection){this._selectItemRange(l,h,false)}else{this._deselectItemRange(l,h)}}else{if(this._addToCurrentSelection){this._selectItemRange(h,l,false)}else{this._deselectItemRange(h,l)}}this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(h)-1)?this.getPrevious(h):this.getNext(h))||h)}else{if(this.getMultiSelection()&&i&&!f){if(!this._activeDragSession){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(h))}this.setItemSelected(h,this._addToCurrentSelection);this.setAnchorItem(h)}else{if(this.getMultiSelection()&&i&&f){if(!this._activeDragSession){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(h))}if(this._addToCurrentSelection){this._selectItemRange(l,h,false)}els