1 /* ************************************************************************
3 qooxdoo - the new era of web development
8 2004-2007 1&1 Internet AG, Germany, http://www.1and1.org
11 LGPL: http://www.gnu.org/licenses/lgpl.html
12 EPL: http://www.eclipse.org/org/documents/epl-v10.php
13 See the LICENSE file in the project's top-level directory for details.
16 * Sebastian Werner (wpbasti)
17 * Andreas Ecker (ecker)
19 ************************************************************************ */
21 /* ************************************************************************
25 ************************************************************************ */
27 qx.OO.defineClass("qx.ui.layout.FlowLayout", qx.ui.core.Parent,
29 qx.ui.core.Parent.call(this);
33 The spacing between childrens. Could be any positive integer value.
35 qx.OO.addProperty({ name : "horizontalSpacing", type : "number", defaultValue : 0, addToQueueRuntime : true, impl : "layout" });
38 The spacing between childrens. Could be any positive integer value.
40 qx.OO.addProperty({ name : "verticalSpacing", type : "number", defaultValue : 0, addToQueueRuntime : true, impl : "layout" });
43 The horizontal align of the children. Allowed values are: "left" and "right"
45 qx.OO.addProperty({ name : "horizontalChildrenAlign", type : "string", defaultValue : "left", possibleValues : [ "left", "right" ], addToQueueRuntime : true });
48 The vertical align of the children. Allowed values are: "top" and "bottom"
50 qx.OO.addProperty({ name : "verticalChildrenAlign", type : "string", defaultValue : "top", possibleValues : [ "top", "bottom" ], addToQueueRuntime : true });
53 Should the children be layouted in reverse order?
55 qx.OO.addProperty({ name : "reverseChildrenOrder", type : "boolean", defaultValue : false, addToQueueRuntime : true, impl : "layout" });
63 ---------------------------------------------------------------------------
65 ---------------------------------------------------------------------------
69 This creates an new instance of the layout impl this widget uses
71 qx.Proto._createLayoutImpl = function() {
72 return new qx.renderer.layout.FlowLayoutImpl(this);
80 ---------------------------------------------------------------------------
82 ---------------------------------------------------------------------------
85 qx.Proto._changeInnerWidth = function(vNew, vOld)
87 qx.ui.core.Parent.prototype._changeInnerWidth.call(this, vNew, vOld);
89 // allow 'auto' values for height to update when the inner width changes
90 this._invalidatePreferredInnerHeight();
97 ---------------------------------------------------------------------------
99 ---------------------------------------------------------------------------
102 qx.Proto._modifyLayout = function(propValue, propOldValue, propData)
104 // invalidate inner preferred dimensions
105 this._invalidatePreferredInnerDimensions();