This is an automated email from the ASF dual-hosted git repository.

harbs pushed a commit to branch feature/strandwork
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 8b713c84e8102af8178508cddbd2c88de08165d0
Author: Harbs <[email protected]>
AuthorDate: Thu Dec 7 16:56:25 2017 +0200

    Core changes to IStrand
---
 .../org/apache/royale/core/ElementWrapper.as       | 64 ++++++++++++++++++++++
 .../main/royale/org/apache/royale/core/IStrand.as  | 24 ++++++++
 .../main/royale/org/apache/royale/core/Strand.as   | 29 ++++++++++
 .../org/apache/royale/utils/MXMLDataInterpreter.as |  4 +-
 4 files changed, 119 insertions(+), 2 deletions(-)

diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
index 208b5fc..2e268cd 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
@@ -61,12 +61,32 @@ package org.apache.royale.core
             _element = value;
             _element.royale_wrapper = this;
         }
+
+        private var beads:Array;
+
         
         protected var _beads:Vector.<IBead>;
         
         //--------------------------------------
         //   Function
         //--------------------------------------
+
+
+        /**
+         *  @copy org.apache.royale.core.IStrand#registerBead()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function registerBead(bead:IBead):void
+        {
+            if(beads)
+                beads.push(bead);
+            else
+                beads = [bead];
+        }
         
         /**
          * @param bead The new bead.
@@ -81,6 +101,20 @@ package org.apache.royale.core
             _beads.push(bead);
             bead.strand = this;
         }
+
+
+        /**
+         *  @copy org.apache.royale.core.IStrand#addBeads()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function addBeads():void
+        {
+            addBeadsToStrand(this,beads);
+        }
         
         /**
          * @param classOrInterface The requested bead type.
@@ -231,6 +265,7 @@ package org.apache.royale.core
             _element.royale_wrapper = this;
         }
         
+        private var beads:Array;
 
                protected var _beads:Vector.<IBead>;
         
@@ -238,6 +273,22 @@ package org.apache.royale.core
                //   Function
                //--------------------------------------
 
+         /**
+         *  @copy org.apache.royale.core.IStrand#registerBead()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function registerBead(bead:IBead):void
+        {
+            if(beads)
+                beads.push(bead);
+            else
+                beads = [bead];
+        }
+
         /**
          * @param bead The new bead.
          */
@@ -252,6 +303,19 @@ package org.apache.royale.core
                        bead.strand = this;
                }
 
+         /**
+         *  @copy org.apache.royale.core.IStrand#addBeads()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function addBeads():void
+        {
+            addBeadsToStrand(this,beads);
+        }
+
         /**
          * @param classOrInterface The requested bead type.
          * @return The bead.
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IStrand.as 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IStrand.as
index c8832eb..af128a1 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IStrand.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IStrand.as
@@ -37,6 +37,18 @@ package org.apache.royale.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 Royale 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.royale.core
          *  @productversion Royale 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 Royale 0.9
+         */
+               function addBeads():void;
         
         /**
          *  Find a bead on the strand.
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as
index 847ff84..071b455 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/Strand.as
@@ -120,6 +120,22 @@ package org.apache.royale.core
                private var _beads:Vector.<IBead>;
 
         /**
+         *  @copy org.apache.royale.core.IStrand#registerBead()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function registerBead(bead:IBead):void
+        {
+            if(beads)
+                beads.push(bead);
+            else
+                beads = [bead];
+        }
+
+        /**
          *  @copy org.apache.royale.core.IStrand#addBead()
          *  
          *  @langversion 3.0
@@ -136,6 +152,19 @@ package org.apache.royale.core
                                _model = bead as IBeadModel;
                        bead.strand = this;
                }
+
+        /**
+         *  @copy org.apache.royale.core.IStrand#addBeads()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        public function addBeads():void
+        {
+            addBeadsToStrand(this,beads);
+        }
                
         /**
          *  @copy org.apache.royale.core.IStrand#getBeadByType()
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/MXMLDataInterpreter.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/MXMLDataInterpreter.as
index ab537d3..7b6b6dd 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/MXMLDataInterpreter.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/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)

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to