Updated Effects package to use new interfaces. Tweaked the horizontal scrollbar layout. Fixed scrolling for Panels.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/e806fb94 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/e806fb94 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/e806fb94 Branch: refs/heads/tlf Commit: e806fb945fccc4f95329d1ebee7ceddee20f9ecb Parents: e52f0cb Author: Peter Ent <[email protected]> Authored: Wed Mar 22 17:03:31 2017 -0400 Committer: Peter Ent <[email protected]> Committed: Wed Mar 22 17:03:31 2017 -0400 ---------------------------------------------------------------------- frameworks/build.xml | 6 ++--- .../flex/org/apache/flex/utils/LayoutTweener.as | 5 ++-- .../org/apache/flex/utils/MockContentView.as | 15 ++++++----- .../org/apache/flex/utils/MockLayoutHost.as | 6 ++--- .../org/apache/flex/utils/MockLayoutParent.as | 3 ++- .../flex/org/apache/flex/html/DataContainer.as | 27 +++++++++++++++----- .../flex/html/beads/HScrollBarTrackView.as | 5 ++-- .../flex/html/beads/layouts/HScrollBarLayout.as | 12 ++++----- .../html/beads/layouts/HorizontalFlexLayout.as | 12 ++++++--- .../html/beads/layouts/VerticalFlexLayout.as | 12 ++++++--- .../html/supportClasses/ScrollingViewport.as | 6 ++--- .../HTML/src/main/resources/defaults.css | 3 +++ 12 files changed, 72 insertions(+), 40 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/build.xml b/frameworks/build.xml index 5a38893..961f9cf 100644 --- a/frameworks/build.xml +++ b/frameworks/build.xml @@ -83,9 +83,9 @@ <antcall target="Collections"/> <antcall target="HTML"/> <antcall target="Effects"/> - <antcall target="Basic"/> + <!-- <antcall target="Basic"/> --> <antcall target="Flat"/> - <antcall target="Charts"/> + <!--<antcall target="Charts"/>--> <antcall target="DragDrop"/> <antcall target="Formatters"/> <antcall target="GoogleMaps"/> @@ -97,7 +97,7 @@ <antcall target="Reflection"/> <antcall target="Storage"/> <antcall target="XML"/> - <antcall target="MaterialDesignLite"/> + <!--<antcall target="MaterialDesignLite"/>--> <antcall target="FontAwesome"/> <antcall target="Express"/> </target> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/LayoutTweener.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/LayoutTweener.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/LayoutTweener.as index 3ce644f..e9cd533 100644 --- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/LayoutTweener.as +++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/LayoutTweener.as @@ -21,6 +21,7 @@ package org.apache.flex.utils import org.apache.flex.core.IBeadLayout; import org.apache.flex.core.ILayoutChild; import org.apache.flex.core.ILayoutParent; + import org.apache.flex.core.ILayoutObject; import org.apache.flex.core.IParentIUIBase; import org.apache.flex.core.IStrand; import org.apache.flex.effects.Effect; @@ -106,8 +107,8 @@ package org.apache.flex.utils private function getEffects(originalLayoutParent:ILayoutParent, mockLayoutParent:ILayoutParent):Array { - var originalContentView:IParentIUIBase = originalLayoutParent.getLayoutHost().contentView; - var mockContentView:IParentIUIBase = mockLayoutParent.getLayoutHost().contentView; + var originalContentView:ILayoutObject = originalLayoutParent.getLayoutHost().contentView; + var mockContentView:ILayoutObject = mockLayoutParent.getLayoutHost().contentView; var numElements:int = originalContentView.numElements; var effects:Array = []; for (var i:int = 0; i < numElements; i++) http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockContentView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockContentView.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockContentView.as index 212fb97..f525e49 100644 --- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockContentView.as +++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockContentView.as @@ -31,11 +31,12 @@ package org.apache.flex.utils import org.apache.flex.core.IChild; import org.apache.flex.core.IContentView; import org.apache.flex.core.ILayoutChild; + import org.apache.flex.core.ILayoutObject; import org.apache.flex.core.IParent; import org.apache.flex.core.IParentIUIBase; import org.apache.flex.events.IEventDispatcher; - public class MockContentView implements IContentView, IParentIUIBase + public class MockContentView implements IContentView, IParentIUIBase, ILayoutObject { private var _x:Number; private var _y:Number; @@ -43,12 +44,14 @@ package org.apache.flex.utils private var _height:Number; private var elements:Array = []; - public function MockContentView(source:IParentIUIBase) + public function MockContentView(source:ILayoutObject) { - x = source.x; - y = source.y; - width = source.width; - height = source.height; + var p:IParentIUIBase = source as IParentIUIBase; + + x = p.x; + y = p.y; + width = p.width; + height = p.height; for (var i:int = 0; i < source.numElements; i++) { var mock:ILayoutChild = new MockLayoutChild(source.getElementAt(i) as ILayoutChild); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutHost.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutHost.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutHost.as index 3f45b7e..34c7802 100644 --- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutHost.as +++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutHost.as @@ -19,17 +19,17 @@ package org.apache.flex.utils { import org.apache.flex.core.ILayoutHost; - import org.apache.flex.core.IParentIUIBase; + import org.apache.flex.core.ILayoutObject; public class MockLayoutHost implements ILayoutHost { - private var _contentView:IParentIUIBase; + private var _contentView:ILayoutObject; public function MockLayoutHost(source:ILayoutHost) { _contentView = new MockContentView(source.contentView); } - public function get contentView():IParentIUIBase + public function get contentView():ILayoutObject { return _contentView; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as index 295933a..03d8fe4 100644 --- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as +++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as @@ -32,6 +32,7 @@ package org.apache.flex.utils import org.apache.flex.core.IBead; import org.apache.flex.core.ILayoutChild; import org.apache.flex.core.ILayoutHost; + import org.apache.flex.core.ILayoutObject; import org.apache.flex.core.ILayoutParent; import org.apache.flex.core.IParent; import org.apache.flex.core.IParentIUIBase; @@ -145,7 +146,7 @@ package org.apache.flex.utils return _layoutHost; } - public function get contentView():IParentIUIBase + public function get contentView():ILayoutObject { return _layoutHost.contentView; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as index df8f0b0..cf6d82e 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as @@ -211,8 +211,13 @@ package org.apache.flex.html */ /** - * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex() + * @copy org.apache.flex.core.IItemRendererParent#addItemRenderer() * @private + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 */ public function addItemRenderer(renderer:IItemRenderer):void { @@ -225,8 +230,13 @@ package org.apache.flex.html } /** - * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex() + * @copy org.apache.flex.core.IItemRendererParent#removeItemRenderer() * @private + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 */ public function removeItemRenderer(renderer:IItemRenderer):void { @@ -239,8 +249,13 @@ package org.apache.flex.html } /** - * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex() + * @copy org.apache.flex.core.IItemRendererParent#removeAllItemRenderers() * @private + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.8 */ public function removeAllItemRenderers():void { @@ -256,7 +271,7 @@ package org.apache.flex.html * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function getItemRendererForIndex(index:int):IItemRenderer { @@ -267,11 +282,11 @@ package org.apache.flex.html /** * Refreshes the itemRenderers. Useful after a size change by the data group. * - * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex() + * @copy org.apache.flex.core.IItemRendererParent#updateAllItemRenderers() * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 + * @productversion FlexJS 0.8 */ public function updateAllItemRenderers():void { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as index c888c21..8745bef 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as @@ -27,6 +27,7 @@ package org.apache.flex.html.beads import org.apache.flex.core.IBeadView; import org.apache.flex.core.IChild; import org.apache.flex.core.IStrand; + import org.apache.flex.html.Button; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; @@ -57,7 +58,7 @@ package org.apache.flex.html.beads private function drawView(g:Graphics, bgColor:uint):void { var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton; - var w:Number = button.width; + var w:Number = Button(_strand).width; g.clear(); g.lineStyle(1, 0x808080); @@ -73,7 +74,7 @@ package org.apache.flex.html.beads button.scaleY = 1.0; button.scaleX = 1.0; - var w:Number = button.width; + var w:Number = Button(_strand).width; drawView(upView.graphics, 0xf8f8f8); drawView(downView.graphics, 0xd8d8d8); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as index efc0230..f8b5ddd 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as @@ -91,20 +91,20 @@ package org.apache.flex.html.beads.layouts var track:Button = sbView.track; var thumb:Button = sbView.thumb; - decrement.x = 0; + decrement.x = 1; decrement.y = 0; - decrement.height = host.height; + decrement.height = host.height - 2; decrement.width = host.height; - increment.height = host.height; + increment.height = host.height - 2; increment.width = host.height; - increment.x = w - increment.width - 1; + increment.x = w - increment.width - 2; increment.y = 0; - track.x = decrement.width; + track.x = decrement.width + 4; track.y = 0; track.height = host.height; - track.width = increment.x - decrement.width; + track.width = increment.x - decrement.width - 5; thumb.width = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.width; if (track.width > thumb.width) { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as index 227a720..ba27c8a 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as @@ -140,7 +140,7 @@ package org.apache.flex.html.beads.layouts var marginBottom:Object; var margin:Object; - trace("HorizontalFlexLayout for "+UIBase(host).id+" with remainingWidth: "+remainingWidth); + //trace("HorizontalFlexLayout for "+UIBase(host).id+" with remainingWidth: "+remainingWidth); // First pass determines the data about the child. for(var i:int=0; i < n; i++) @@ -208,9 +208,12 @@ package org.apache.flex.html.beads.layouts if (data.width == 0 || data.height == 0) continue; useHeight = (data.height < 0 ? maxHeight : data.height); + + var setWidth:Boolean = true; if (data.width > 0) { if (data.grow > 0 && growCount > 0) { useWidth = remainingWidth / growCount; + setWidth = false; } else { useWidth = data.width; } @@ -224,7 +227,8 @@ package org.apache.flex.html.beads.layouts ilc.setY(ypos + data.mt); ilc.setHeight(useHeight - data.mt - data.mb); if (useWidth > 0) { - ilc.setWidth(useWidth - data.ml - data.mr); + if (setWidth) ilc.setWidth(useWidth - data.ml - data.mr); + else ilc.width = useWidth; } } else { child.x = xpos + data.ml; @@ -237,12 +241,12 @@ package org.apache.flex.html.beads.layouts xpos += useWidth + data.ml + data.mr; - trace("HorizontalFlexLayout: setting child "+i+" to "+child.width+" x "+child.height+" at "+child.x+", "+child.y); + //trace("HorizontalFlexLayout: setting child "+i+" to "+child.width+" x "+child.height+" at "+child.x+", "+child.y); } IEventDispatcher(host).dispatchEvent( new Event("layoutComplete") ); - trace("HorizontalFlexLayout: complete"); + //trace("HorizontalFlexLayout: complete"); return true; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as index 574b9b8..04ba596 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as @@ -139,7 +139,7 @@ package org.apache.flex.html.beads.layouts var marginBottom:Object; var margin:Object; - trace("VerticalFlexLayout for "+UIBase(host).id+" with remainingHeight: "+remainingHeight); + //trace("VerticalFlexLayout for "+UIBase(host).id+" with remainingHeight: "+remainingHeight); // First pass determines the data about the child. for(var i:int=0; i < n; i++) @@ -207,9 +207,12 @@ package org.apache.flex.html.beads.layouts if (data.width == 0 || data.height == 0) continue; useWidth = (data.width < 0 ? maxWidth : data.width); + + var setHeight:Boolean = true; if (data.height > 0) { if (data.grow > 0 && growCount > 0) { useHeight = remainingHeight / growCount; + setHeight = false; } else { useHeight = data.height; } @@ -223,7 +226,8 @@ package org.apache.flex.html.beads.layouts ilc.setY(ypos + data.mt); ilc.setWidth(useWidth - data.ml - data.mr); if (useHeight > 0) { - ilc.setHeight(useHeight); + if (setHeight) ilc.setHeight(useHeight); + else ilc.height = useHeight; } } else { child.x = xpos + data.ml; @@ -236,12 +240,12 @@ package org.apache.flex.html.beads.layouts ypos += useHeight + data.mt + data.mb; - trace("VerticalFlexLayout: setting child "+i+" to "+child.width+" x "+child.height+" at "+child.x+", "+child.y); + //trace("VerticalFlexLayout: setting child "+i+" to "+child.width+" x "+child.height+" at "+child.x+", "+child.y); } IEventDispatcher(host).dispatchEvent( new Event("layoutComplete") ); - trace("VerticalFlexLayout: complete"); + //trace("VerticalFlexLayout: complete"); return true; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as index 4d207a2..c199d23 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as @@ -212,7 +212,7 @@ package org.apache.flex.html.supportClasses _verticalScroller.y = 0; _verticalScroller.setHeight(hostHeight - (needH ? _horizontalScroller.height : 0), true); - ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;// + paddingMetrics.top + paddingMetrics.bottom; + ScrollBarModel(_verticalScroller.model).maximum = contentSize.height; ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height; ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height; @@ -228,10 +228,10 @@ package org.apache.flex.html.supportClasses { _horizontalScroller.visible = true; _horizontalScroller.x = 0; - _horizontalScroller.y = hostHeight - _horizontalScroller.height; + _horizontalScroller.y = hostHeight - _horizontalScroller.height - 1; _horizontalScroller.setWidth(hostWidth - (needV ? _verticalScroller.width : 0), true); - ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;// + paddingMetrics.left + paddingMetrics.right; + ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width; ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width; ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e806fb94/frameworks/projects/HTML/src/main/resources/defaults.css ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css b/frameworks/projects/HTML/src/main/resources/defaults.css index 81face4..211822d 100644 --- a/frameworks/projects/HTML/src/main/resources/defaults.css +++ b/frameworks/projects/HTML/src/main/resources/defaults.css @@ -660,6 +660,7 @@ global IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData"); IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory"); IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer"); + iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead"); iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead'); border-style: solid; border-radius: 4px; @@ -672,6 +673,7 @@ global { iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead"); iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead"); + iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel'); } HRule @@ -698,6 +700,7 @@ global List { + iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead"); iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead'); iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel'); IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
