Updated Branches: refs/heads/develop 0b8875a87 -> fd4bf1f60
Fix to NonVirtualDataGroup on the JS side to set its positioner. Fix to ListView (JS and AS) to handle size changes and adjust its dataGroup accordingly. Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/fd4bf1f6 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/fd4bf1f6 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/fd4bf1f6 Branch: refs/heads/develop Commit: fd4bf1f60a6f32ea25da742acfd3545a635f8977 Parents: 0b8875a Author: Peter Ent <[email protected]> Authored: Thu Jan 30 16:41:00 2014 -0500 Committer: Peter Ent <[email protected]> Committed: Thu Jan 30 16:41:00 2014 -0500 ---------------------------------------------------------------------- .../flex/html/staticControls/beads/ListView.as | 21 +++++++++++++++++--- .../flex/html/staticControls/beads/ListView.js | 19 ++++++++++++++++++ .../supportClasses/NonVirtualDataGroup.js | 2 ++ 3 files changed, 39 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fd4bf1f6/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as ---------------------------------------------------------------------- diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as index f1ac5d3..f90994e 100644 --- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as +++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/ListView.as @@ -21,9 +21,9 @@ package org.apache.flex.html.staticControls.beads import flash.display.DisplayObject; import flash.display.DisplayObjectContainer; - import org.apache.flex.core.IBead; - import org.apache.flex.core.IBeadModel; + import org.apache.flex.core.IBead; import org.apache.flex.core.IBeadLayout; + import org.apache.flex.core.IBeadModel; import org.apache.flex.core.IBeadView; import org.apache.flex.core.IItemRenderer; import org.apache.flex.core.IItemRendererParent; @@ -33,8 +33,10 @@ package org.apache.flex.html.staticControls.beads import org.apache.flex.core.ISelectionModel; import org.apache.flex.core.IStrand; import org.apache.flex.core.Strand; + import org.apache.flex.core.UIBase; import org.apache.flex.core.ValuesManager; import org.apache.flex.events.Event; + import org.apache.flex.events.IEventDispatcher; import org.apache.flex.html.staticControls.beads.models.ScrollBarModel; import org.apache.flex.html.staticControls.beads.models.SingleLineBorderModel; import org.apache.flex.html.staticControls.supportClasses.Border; @@ -96,6 +98,9 @@ package org.apache.flex.html.staticControls.beads public function set strand(value:IStrand):void { _strand = value; + + IEventDispatcher(_strand).addEventListener("widthChanged", handleSizeChange); + IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange); listModel = value.getBeadByType(ISelectionModel) as ISelectionModel; listModel.addEventListener("selectedIndexChanged", selectionChangeHandler); @@ -113,7 +118,9 @@ package org.apache.flex.html.staticControls.beads { var mapper:IBeadLayout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout; strand.addBead(mapper); - } + } + + handleSizeChange(null); } private var lastSelectedIndex:int = -1; @@ -167,6 +174,14 @@ package org.apache.flex.html.staticControls.beads IParent(_strand).addElement(vsb); return vsb; } + + private function handleSizeChange(event:Event):void + { + UIBase(_dataGroup).x = 0; + UIBase(_dataGroup).y = 0; + UIBase(_dataGroup).width = UIBase(_strand).width; + UIBase(_dataGroup).height = UIBase(_strand).height; + } } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fd4bf1f6/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/ListView.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/ListView.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/ListView.js index dd2ac4e..32afbac 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/ListView.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/beads/ListView.js @@ -59,6 +59,11 @@ org.apache.flex.html.staticControls.beads.ListView.prototype.set_strand = this.strand_ = value; + this.strand_.addEventListener('widthChanged', + goog.bind(this.handleSizeChange, this)); + this.strand_.addEventListener('heightChanged', + goog.bind(this.handleSizeChange, this)); + /*if (this.strand_.getBeadByType(org.apache.flex.core.IBeadLayout) == null) { var m = org.apache.flex.core.ValuesManager.valuesImpl. getValue(this.strand_,'iBeadLayout'); @@ -74,6 +79,8 @@ org.apache.flex.html.staticControls.beads.ListView.prototype.set_strand = org.apache.flex.html.staticControls.supportClasses.NonVirtualDataGroup(); this.dataGroup_.set_strand(this); this.strand_.addElement(this.dataGroup_); + + this.handleSizeChange(null); }; @@ -149,3 +156,15 @@ org.apache.flex.html.staticControls.beads.ListView.prototype.set_vScrollBar = fu org.apache.flex.html.staticControls.beads.ListView.prototype.get_resizeableView = function() { return this; }; + + +/** + * @expose + * @param {Object} event The event that triggered the resize. + */ +org.apache.flex.html.staticControls.beads.ListView.prototype.handleSizeChange = function(event) { + this.dataGroup_.set_x(0); + this.dataGroup_.set_y(0); + this.dataGroup_.set_width(this.strand_.get_width()); + this.dataGroup_.set_height(this.strand_.get_height()); +}; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/fd4bf1f6/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.js ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.js b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.js index 0ccde8c..ab6a850 100644 --- a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.js +++ b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/supportClasses/NonVirtualDataGroup.js @@ -63,6 +63,8 @@ org.apache.flex.html.staticControls.supportClasses.NonVirtualDataGroup. this.element.style.position = 'inherit'; this.set_className('NonVirtualDataGroup'); + this.positioner = this.element; + return this.element; };
