diff options
author | Derrell Lipman <derrell@samba.org> | 2007-01-03 19:57:40 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:36:06 -0500 |
commit | 2e7c59c24470766e37309c7a8bfa4c7b81c57614 (patch) | |
tree | c44c89911868c52f25ca66bdefa68e13248db8e6 /webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/layout/LayoutImpl.js | |
parent | 57f5bf78fa9fc9d190c3cb25251e686a1488f790 (diff) | |
download | samba-2e7c59c24470766e37309c7a8bfa4c7b81c57614.tar.gz samba-2e7c59c24470766e37309c7a8bfa4c7b81c57614.tar.bz2 samba-2e7c59c24470766e37309c7a8bfa4c7b81c57614.zip |
r20515: Continued work on the Web Application Framework. Until we get all of the
functionality of the old scripts incorporated into the new framework, the old
scripts need to still be available. I've reverted to having the old scripts
be the default pages, and added an option to access the preview of the new
SWAT.
(This used to be commit b43620d4b8eff815f4a6dc02522a8dfc9fdcaef4)
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/layout/LayoutImpl.js')
-rw-r--r-- | webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/layout/LayoutImpl.js | 442 |
1 files changed, 0 insertions, 442 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/layout/LayoutImpl.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/layout/LayoutImpl.js deleted file mode 100644 index 5855d7d420..0000000000 --- a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/layout/LayoutImpl.js +++ /dev/null @@ -1,442 +0,0 @@ -/* ************************************************************************ - - qooxdoo - the new era of web development - - http://qooxdoo.org - - Copyright: - 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org - - License: - LGPL 2.1: http://www.gnu.org/licenses/lgpl.html - - Authors: - * Sebastian Werner (wpbasti) - * Andreas Ecker (ecker) - -************************************************************************ */ - -/* ************************************************************************ - -#module(ui_core) -#module(ui_layout) -#require(qx.sys.Client) - -************************************************************************ */ - -qx.OO.defineClass("qx.renderer.layout.LayoutImpl", qx.core.Object, -function(vWidget) -{ - qx.core.Object.call(this); - - this._widget = vWidget; -}); - - - - -/*! - Returns the associated widget -*/ -qx.Proto.getWidget = function() { - return this._widget; -} - - -/*! - Global Structure: - [01] COMPUTE BOX DIMENSIONS FOR AN INDIVIDUAL CHILD - [02] COMPUTE NEEDED DIMENSIONS FOR AN INDIVIDUAL CHILD - [03] COMPUTE NEEDED DIMENSIONS FOR ALL CHILDREN - [04] UPDATE LAYOUT WHEN A CHILD CHANGES ITS OUTER DIMENSIONS - [05] UPDATE CHILD ON INNER DIMENSION CHANGES OF LAYOUT - [06] UPDATE LAYOUT ON JOB QUEUE FLUSH - [07] UPDATE CHILDREN ON JOB QUEUE FLUSH - [08] CHILDREN ADD/REMOVE/MOVE HANDLING - [09] FLUSH LAYOUT QUEUES OF CHILDREN - [10] LAYOUT CHILD - [11] DISPOSER -*/ - - -/* ---------------------------------------------------------------------------- - [01] COMPUTE BOX DIMENSIONS FOR AN INDIVIDUAL CHILD ---------------------------------------------------------------------------- -*/ - -/*! - Compute and return the box width of the given child -*/ -qx.Proto.computeChildBoxWidth = function(vChild) { - return vChild.getWidthValue() || vChild._computeBoxWidthFallback(); -} - -/*! - Compute and return the box height of the given child -*/ -qx.Proto.computeChildBoxHeight = function(vChild) { - return vChild.getHeightValue() || vChild._computeBoxHeightFallback(); -} - - - - - -/* ---------------------------------------------------------------------------- - [02] COMPUTE NEEDED DIMENSIONS FOR AN INDIVIDUAL CHILD ---------------------------------------------------------------------------- -*/ - -/*! - Compute and return the needed width of the given child -*/ -qx.Proto.computeChildNeededWidth = function(vChild) -{ - // omit ultra long lines, these two variables only needed once - // here, but this enhance the readability of the code :) - var vMinBox = vChild._computedMinWidthTypePercent ? null : vChild.getMinWidthValue(); - var vMaxBox = vChild._computedMaxWidthTypePercent ? null : vChild.getMaxWidthValue(); - - var vBox = (vChild._computedWidthTypePercent || vChild._computedWidthTypeFlex ? null : vChild.getWidthValue()) || vChild.getPreferredBoxWidth() || 0; - - return qx.lang.Number.limit(vBox, vMinBox, vMaxBox) + vChild.getMarginLeft() + vChild.getMarginRight(); -} - -/*! - Compute and return the needed height of the given child -*/ -qx.Proto.computeChildNeededHeight = function(vChild) -{ - // omit ultra long lines, these two variables only needed once - // here, but this enhance the readability of the code :) - var vMinBox = vChild._computedMinHeightTypePercent ? null : vChild.getMinHeightValue(); - var vMaxBox = vChild._computedMaxHeightTypePercent ? null : vChild.getMaxHeightValue(); - - var vBox = (vChild._computedHeightTypePercent || vChild._computedHeightTypeFlex ? null : vChild.getHeightValue()) || vChild.getPreferredBoxHeight() || 0; - - return qx.lang.Number.limit(vBox, vMinBox, vMaxBox) + vChild.getMarginTop() + vChild.getMarginBottom(); -} - - - - -/* ---------------------------------------------------------------------------- - [03] COMPUTE NEEDED DIMENSIONS FOR ALL CHILDREN ---------------------------------------------------------------------------- -*/ - -/*! - Calculate the maximum needed width of all children -*/ -qx.Proto.computeChildrenNeededWidth_max = function() -{ - for (var i=0, ch=this.getWidget().getVisibleChildren(), chl=ch.length, maxv=0; i<chl; i++) { - maxv = Math.max(maxv, ch[i].getNeededWidth()); - } - - return maxv; -} - -/*! - Calculate the maximum needed height of all children -*/ -qx.Proto.computeChildrenNeededHeight_max = function() -{ - for (var i=0, ch=this.getWidget().getVisibleChildren(), chl=ch.length, maxv=0; i<chl; i++) { - maxv = Math.max(maxv, ch[i].getNeededHeight()); - } - - return maxv; -} - -qx.Proto.computeChildrenNeededWidth_sum = function() -{ - for (var i=0, ch=this.getWidget().getVisibleChildren(), chl=ch.length, sumv=0; i<chl; i++) { - sumv += ch[i].getNeededWidth(); - } - - return sumv; -} - -qx.Proto.computeChildrenNeededHeight_sum = function() -{ - for (var i=0, ch=this.getWidget().getVisibleChildren(), chl=ch.length, sumv=0; i<chl; i++) { - sumv += ch[i].getNeededHeight(); - } - - return sumv; -} - -/*! - Compute and return the width needed by all children of this widget -*/ -qx.Proto.computeChildrenNeededWidth = qx.Proto.computeChildrenNeededWidth_max; - -/*! - Compute and return the height needed by all children of this widget -*/ -qx.Proto.computeChildrenNeededHeight = qx.Proto.computeChildrenNeededHeight_max; - - - - -/* ---------------------------------------------------------------------------- - [04] UPDATE LAYOUT WHEN A CHILD CHANGES ITS OUTER DIMENSIONS ---------------------------------------------------------------------------- -*/ - -/*! - Things to do and layout when any of the childs changes its outer width. - Needed by layouts where the children depend on each other, like flow or box layouts. -*/ -qx.Proto.updateSelfOnChildOuterWidthChange = function(vChild) {} - -/*! - Things to do and layout when any of the childs changes its outer height. - Needed by layouts where the children depend on each other, like flow or box layouts. -*/ -qx.Proto.updateSelfOnChildOuterHeightChange = function(vChild) {} - - - - - -/* ---------------------------------------------------------------------------- - [05] UPDATE CHILD ON INNER DIMENSION CHANGES OF LAYOUT ---------------------------------------------------------------------------- -*/ - -/*! - Actions that should be done if the inner width of the layout widget has changed. - Normally this includes updates to percent values and ranges. -*/ -qx.Proto.updateChildOnInnerWidthChange = function(vChild) {} - -/*! - Actions that should be done if the inner height of the layout widget has changed. - Normally this includes updates to percent values and ranges. -*/ -qx.Proto.updateChildOnInnerHeightChange = function(vChild) {} - - - - - -/* ---------------------------------------------------------------------------- - [06] UPDATE LAYOUT ON JOB QUEUE FLUSH ---------------------------------------------------------------------------- -*/ - -/*! - Invalidate and recompute cached data according to job queue. - This is executed at the beginning of the job queue handling. -*/ -qx.Proto.updateSelfOnJobQueueFlush = function(vJobQueue) {} - - - - - - -/* ---------------------------------------------------------------------------- - [07] UPDATE CHILDREN ON JOB QUEUE FLUSH ---------------------------------------------------------------------------- -*/ - -/*! - Updates children on job queue flush. - This is executed at the end of the job queue handling. -*/ -qx.Proto.updateChildrenOnJobQueueFlush = function(vQueue) {} - - - - - - -/* ---------------------------------------------------------------------------- - [08] CHILDREN ADD/REMOVE/MOVE HANDLING ---------------------------------------------------------------------------- -*/ - -/*! - Add child to current layout. Rarely needed by some layout implementations. -*/ -qx.Proto.updateChildrenOnAddChild = function(vChild, vIndex) {} - -/*! - Remove child from current layout. - Needed by layouts where the children depend on each other, like flow or box layouts. -*/ -qx.Proto.updateChildrenOnRemoveChild = function(vChild, vIndex) {} - -/*! - Move child within its parent to a new position. - Needed by layouts where the children depend on each other, like flow or box layouts. -*/ -qx.Proto.updateChildrenOnMoveChild = function(vChild, vIndex, vOldIndex) {} - - - - - - - -/* ---------------------------------------------------------------------------- - [09] FLUSH LAYOUT QUEUES OF CHILDREN ---------------------------------------------------------------------------- -*/ - -/*! - Has full control of the order in which the registered - (or non-registered) children should be layouted. -*/ -qx.Proto.flushChildrenQueue = function(vChildrenQueue) -{ - var vWidget = this.getWidget(); - - for (var vHashCode in vChildrenQueue) { - vWidget._layoutChild(vChildrenQueue[vHashCode]); - } -} - - - - - - - - -/* ---------------------------------------------------------------------------- - [10] LAYOUT CHILD ---------------------------------------------------------------------------- -*/ - -/*! - Called from qx.ui.core.Widget. Its task is to apply the layout - (excluding border and padding) to the child. -*/ -qx.Proto.layoutChild = function(vChild, vJobs) {} - -if (qx.sys.Client.getInstance().isMshtml()) -{ - qx.Proto.layoutChild_sizeLimitX = qx.util.Return.returnTrue; - qx.Proto.layoutChild_sizeLimitY = qx.util.Return.returnTrue; -} -else -{ - /*! - Apply min-/max-width/height to the child. Direct usage of stylesheet properties. - This is only possible in modern capable clients (i.e. excluding all current - versions of Internet Explorer) - */ - qx.Proto.layoutChild_sizeLimitX = function(vChild, vJobs) - { - if (vJobs.minWidth) { - vChild._computedMinWidthTypeNull ? vChild._resetRuntimeMinWidth() : vChild._applyRuntimeMinWidth(vChild.getMinWidthValue()); - } - else if (vJobs.initial && !vChild._computedMinWidthTypeNull) { - vChild._applyRuntimeMinWidth(vChild.getMinWidthValue()); - } - - if (vJobs.maxWidth) { - vChild._computedMaxWidthTypeNull ? vChild._resetRuntimeMaxWidth() : vChild._applyRuntimeMaxWidth(vChild.getMaxWidthValue()); - } - else if (vJobs.initial && !vChild._computedMaxWidthTypeNull) { - vChild._applyRuntimeMaxWidth(vChild.getMaxWidthValue()); - } - } - - qx.Proto.layoutChild_sizeLimitY = function(vChild, vJobs) - { - if (vJobs.minHeight) { - vChild._computedMinHeightTypeNull ? vChild._resetRuntimeMinHeight() : vChild._applyRuntimeMinHeight(vChild.getMinHeightValue()); - } - else if (vJobs.initial && !vChild._computedMinHeightTypeNull) { - vChild._applyRuntimeMinHeight(vChild.getMinHeightValue()); - } - - if (vJobs.maxHeight) { - vChild._computedMaxHeightTypeNull ? vChild._resetRuntimeMaxHeight() : vChild._applyRuntimeMaxHeight(vChild.getMaxHeightValue()); - } - else if (vJobs.initial && !vChild._computedMaxHeightTypeNull) { - vChild._applyRuntimeMaxHeight(vChild.getMaxHeightValue()); - } - } -} - -/*! - Apply the margin values as pure stylesheet equivalent. -*/ -qx.Proto.layoutChild_marginX = function(vChild, vJobs) -{ - if (vJobs.marginLeft || vJobs.initial) - { - var vValueLeft = vChild.getMarginLeft(); - vValueLeft != null ? vChild._applyRuntimeMarginLeft(vValueLeft) : vChild._resetRuntimeMarginLeft(); - } - - if (vJobs.marginRight || vJobs.initial) - { - var vValueRight = vChild.getMarginRight(); - vValueRight != null ? vChild._applyRuntimeMarginRight(vValueRight) : vChild._resetRuntimeMarginRight(); - } -} - -qx.Proto.layoutChild_marginY = function(vChild, vJobs) -{ - if (vJobs.marginTop || vJobs.initial) - { - var vValueTop = vChild.getMarginTop(); - vValueTop != null ? vChild._applyRuntimeMarginTop(vValueTop) : vChild._resetRuntimeMarginTop(); - } - - if (vJobs.marginBottom || vJobs.initial) - { - var vValueBottom = vChild.getMarginBottom(); - vValueBottom != null ? vChild._applyRuntimeMarginBottom(vValueBottom) : vChild._resetRuntimeMarginBottom(); - } -} - -qx.Proto.layoutChild_sizeX_essentialWrapper = function(vChild, vJobs) { - return vChild._isWidthEssential() ? this.layoutChild_sizeX(vChild, vJobs) : vChild._resetRuntimeWidth(); -} - -qx.Proto.layoutChild_sizeY_essentialWrapper = function(vChild, vJobs) { - return vChild._isHeightEssential() ? this.layoutChild_sizeY(vChild, vJobs) : vChild._resetRuntimeHeight(); -} - - - - - - -/* ---------------------------------------------------------------------------- - [11] DISPOSER ---------------------------------------------------------------------------- -*/ - -/*! - Dispose the layout implmentation and release the associated widget. -*/ -qx.Proto.dispose = function() -{ - if (this.getDisposed()) { - return true; - } - - this._widget = null; - - qx.core.Object.prototype.dispose.call(this); -} |