Repository: flex-asjs Updated Branches: refs/heads/refactor-strand [created] 41e30e2cf
Core changes to IStrand Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/80580936 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/80580936 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/80580936 Branch: refs/heads/refactor-strand Commit: 80580936bf28455f7c3573ca96ee14dff396936c Parents: dd4672b Author: Harbs <ha...@in-tools.com> Authored: Sat Jul 15 23:57:20 2017 +0300 Committer: Harbs <ha...@in-tools.com> Committed: Sat Jul 15 23:57:20 2017 +0300 ---------------------------------------------------------------------- .../flex/org/apache/flex/core/ElementWrapper.as | 61 ++++++++++++++++++++ .../main/flex/org/apache/flex/core/IStrand.as | 24 ++++++++ .../main/flex/org/apache/flex/core/Strand.as | 29 ++++++++++ .../apache/flex/utils/MXMLDataInterpreter.as | 4 +- 4 files changed, 116 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80580936/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as index b744edb..53785ac 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as @@ -60,11 +60,29 @@ package org.apache.flex.core _element = value; } + private var beads:Array; + protected var _beads:Vector.<IBead>; //-------------------------------------- // Function //-------------------------------------- + + /** + * @copy org.apache.flex.core.IStrand#registerBead() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + public function registerBead(bead:IBead):void + { + if(beads) + beads.push(bead); + else + beads = [bead]; + } /** * @param bead The new bead. @@ -79,6 +97,19 @@ package org.apache.flex.core _beads.push(bead); bead.strand = this; } + + /** + * @copy org.apache.flex.core.IStrand#addBeads() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + public function addBeads():void + { + addBeadsToStrand(this,beads); + } /** * @param classOrInterface The requested bead type. @@ -228,6 +259,7 @@ package org.apache.flex.core _element = value; } + private var beads:Array; protected var _beads:Vector.<IBead>; @@ -236,6 +268,22 @@ package org.apache.flex.core //-------------------------------------- /** + * @copy org.apache.flex.core.IStrand#registerBead() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + public function registerBead(bead:IBead):void + { + if(beads) + beads.push(bead); + else + beads = [bead]; + } + + /** * @param bead The new bead. */ public function addBead(bead:IBead):void @@ -250,6 +298,19 @@ package org.apache.flex.core } /** + * @copy org.apache.flex.core.IStrand#addBeads() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + public function addBeads():void + { + addBeadsToStrand(this,beads); + } + + /** * @param classOrInterface The requested bead type. * @return The bead. */ http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80580936/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IStrand.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IStrand.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IStrand.as index b6e8b20..a60e340 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IStrand.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IStrand.as @@ -37,6 +37,18 @@ package org.apache.flex.core public interface IStrand { /** + * Registers a bead to be add to the strand. + * + * @param bead The bead to be added. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + function registerBead(bead:IBead):void; + + /** * Add a bead to the strand. * * @param bead The bead to be added. @@ -47,6 +59,18 @@ package org.apache.flex.core * @productversion FlexJS 0.0 */ function addBead(bead:IBead):void; + + /** + * Add the beads registered to the strand. + * + * @param bead The bead to be added. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + function addBeads():void; /** * Find a bead on the strand. http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80580936/frameworks/projects/Core/src/main/flex/org/apache/flex/core/Strand.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/Strand.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/Strand.as index b0318d6..f4953fa 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/Strand.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/Strand.as @@ -120,6 +120,22 @@ package org.apache.flex.core private var _beads:Vector.<IBead>; /** + * @copy org.apache.flex.core.IStrand#registerBead() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + public function registerBead(bead:IBead):void + { + if(beads) + beads.push(bead); + else + beads = [bead]; + } + + /** * @copy org.apache.flex.core.IStrand#addBead() * * @langversion 3.0 @@ -136,6 +152,19 @@ package org.apache.flex.core _model = bead as IBeadModel; bead.strand = this; } + + /** + * @copy org.apache.flex.core.IStrand#addBeads() + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.9 + */ + public function addBeads():void + { + addBeadsToStrand(this,beads); + } /** * @copy org.apache.flex.core.IStrand#getBeadByType() http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/80580936/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as index 6f24181..704503d 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as @@ -191,8 +191,8 @@ public class MXMLDataInterpreter else if (simple == false) value = generateMXMLObject(document, value as Array); comp[name] = value; - if (value is IBead && comp is IStrand) - IStrand(comp).addBead(value as IBead); + // if (value is IBead && comp is IStrand) + // IStrand(comp).addBead(value as IBead); } var beadOffset:int = i + (m - 1) * 3; //if (beadOffset >= -1)