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 8c0323901ea4f9d24f7ea07c4eea3c59f3df8e52
Author: Harbs <[email protected]>
AuthorDate: Thu Dec 7 17:01:24 2017 +0200

    IStrand changes to Basic
---
 .../royale/org/apache/royale/core/Application.as   | 36 +++++++++++-
 .../org/apache/royale/core/HTMLElementWrapper.as   | 67 ++++++++++++++++++++++
 .../main/royale/org/apache/royale/core/UIBase.as   | 15 +++--
 .../royale/org/apache/royale/core/UIButtonBase.as  | 30 ++++++++++
 .../royale/org/apache/royale/html/MXMLBeadView.as  | 36 ++++++++++--
 .../org/apache/royale/html/beads/TextAreaView.as   | 33 ++++++++++-
 .../html/supportClasses/TextFieldItemRenderer.as   | 30 ++++++++++
 7 files changed, 233 insertions(+), 14 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
index a2d6eb7..710916f 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/Application.as
@@ -33,6 +33,7 @@ package org.apache.royale.core
         import flash.events.Event;
         import flash.system.ApplicationDomain;
         import flash.utils.getQualifiedClassName;
+        import org.apache.royale.core.addBeadsToStrand
         import org.apache.royale.events.utils.MouseEventConverter;
     }
 
@@ -346,20 +347,37 @@ package org.apache.royale.core
 
         /**
          *  The array property that is used to add additional
-         *  beads to an MXML tag.  From ActionScript, just
-         *  call addBead directly.
+         *  beads to an MXML tag.  From ActionScript, use registerBead().
          *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.0
          */
+        COMPILE::SWF
         public var beads:Array;
 
         COMPILE::SWF
         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
+         */
+        COMPILE::SWF
+        public function registerBead(bead:IBead):void
+        {
+            if(beads)
+                beads.push(bead);
+            else
+                beads = [bead];
+        }
+
+        /**
          *  @copy org.apache.royale.core.IStrand#addBead()
          *
          *  @langversion 3.0
@@ -377,6 +395,20 @@ package org.apache.royale.core
         }
 
         /**
+         *  @copy org.apache.royale.core.IStrand#addBeads()
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9
+         */
+        COMPILE::SWF
+        public function addBeads():void
+        {
+            addBeadsToStrand(this,beads);
+        }
+
+        /**
          *  @copy org.apache.royale.core.IStrand#getBeadByType()
          *
          *  @langversion 3.0
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
index 77ab263..4d29a6b 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
@@ -18,6 +18,8 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.core
 {
+    import org.apache.royale.core.addBeadsToStrand;
+    
     COMPILE::SWF
     {
         import flash.display.Sprite;
@@ -44,12 +46,34 @@ package org.apache.royale.core
     public class HTMLElementWrapper extends Sprite
     {
         /**
+         *  @copy org.apache.royale.core.Application#beads
+         *  
+         *  The beads are not automatically added to the
+         *  strand.  Subclasses must decide when to
+         *  add the beads.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
+               public var beads:Array;
+        
+        /**
          * "abstract" method so we can override in JS
          * @param bead The new bead.
          */
         public function addBead(bead:IBead):void
         {            
         }
+        
+        public function registerBead(bead:IBead):void
+        {
+            if(beads)
+                beads.push(bead);
+            else
+                beads = [bead];
+        }
     }
     
        COMPILE::JS
@@ -161,6 +185,20 @@ package org.apache.royale.core
             }
         }
 
+        /**
+         *  @copy org.apache.royale.core.Application#beads
+         *  
+         *  The beads are not automatically added to the
+         *  strand.  Subclasses must decide when to
+         *  add the beads.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.0
+         */
+               public var beads:Array;
+        
                protected var _beads:Vector.<IBead>;
         
                //--------------------------------------
@@ -168,6 +206,22 @@ package org.apache.royale.core
                //--------------------------------------
 
         /**
+         *  @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.
          */
                public function addBead(bead:IBead):void
@@ -188,6 +242,19 @@ package org.apache.royale.core
                }
 
         /**
+         *  @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/Basic/src/main/royale/org/apache/royale/core/UIBase.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
index 9439ed6..ad3df8d 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
@@ -23,6 +23,7 @@ package org.apache.royale.core
         import flash.display.DisplayObject;
         import flash.display.Sprite;
         import flash.display.Stage;
+        import org.apache.royale.core.addBeadsToStrand;
         import org.apache.royale.events.utils.MouseEventConverter;
     }
        
@@ -1050,17 +1051,21 @@ package org.apache.royale.core
         {
             return this;
         }
-               
+
         /**
-         *  @copy org.apache.royale.core.Application#beads
+         *  @copy org.apache.royale.core.IStrand#addBeads()
          *  
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
+         *  @productversion Royale 0.9
          */
-               public var beads:Array;
-               
+        COMPILE::SWF
+        public function addBeads():void
+        {
+            addBeadsToStrand(this,beads);
+        }
+
         COMPILE::SWF
                private var _beads:Vector.<IBead>;
         
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIButtonBase.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIButtonBase.as
index 75c68ef..4951813 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIButtonBase.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIButtonBase.as
@@ -21,6 +21,7 @@ package org.apache.royale.core
        import flash.display.DisplayObject;
        import flash.display.SimpleButton;
        
+    import org.apache.royale.core.addBeadsToStrand;
        import org.apache.royale.core.IBead;
        import org.apache.royale.core.IBeadModel;
        import org.apache.royale.core.IMeasurementBead;
@@ -730,6 +731,22 @@ package org.apache.royale.core
                private var strand: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.UIBase#addBead()
          *  
          *  @langversion 3.0
@@ -750,6 +767,19 @@ package org.apache.royale.core
                }
                
         /**
+         *  @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.UIBase#getBeadByType()
          *  
          *  @langversion 3.0
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
index 886ec57..956adaf 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/MXMLBeadView.as
@@ -19,7 +19,7 @@
 package org.apache.royale.html
 {
        import org.apache.royale.states.State;
-
+    import org.apache.royale.core.addBeadsToStrand;
        import org.apache.royale.core.IBead;
     import org.apache.royale.core.ILayoutHost;
     import org.apache.royale.core.IParent;
@@ -78,10 +78,7 @@ package org.apache.royale.html
 
             dispatchEvent(new Event("strandChanged"));
 
-            for each (var bead:IBead in beads)
-                addBead(bead);
-
-            dispatchEvent(new org.apache.royale.events.Event("beadsAdded"));
+            addBeads();
 
             MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), 
MXMLDescriptor);
 
@@ -257,6 +254,22 @@ package org.apache.royale.html
         private var _beads:Array;
 
         /**
+         *  @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
@@ -273,6 +286,19 @@ package org.apache.royale.html
         }
 
         /**
+         *  @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()
          *
          *  @langversion 3.0
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
index c084d13..8e8bd10 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextAreaView.as
@@ -23,6 +23,7 @@ package org.apache.royale.html.beads
        import flash.events.IEventDispatcher;
        import flash.text.TextFieldType;
        
+       import org.apache.royale.core.addBeadsToStrand;
        import org.apache.royale.core.IBead;
     import org.apache.royale.core.IBeadModel;
        import org.apache.royale.core.IScrollBarModel;
@@ -104,8 +105,7 @@ package org.apache.royale.html.beads
                {
                        super.strand = value;
                        
-            for each (var bead:IBead in beads)
-                addBead(bead);
+            addBeads();
             
                        // add a border to this
                        _border = new Border();
@@ -204,6 +204,22 @@ package org.apache.royale.html.beads
                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.UIBase#addBead()
          *  
          *  @langversion 3.0
@@ -218,6 +234,19 @@ package org.apache.royale.html.beads
                        _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);
+        }
                
         /**
          *  @copy org.apache.royale.core.UIBase#getBeadByType()
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
index 408f6c6..7d46a54 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/TextFieldItemRenderer.as
@@ -21,6 +21,7 @@ package org.apache.royale.html.supportClasses
     import flash.display.DisplayObject;
     import flash.text.TextFieldType;
     
+       import org.apache.royale.core.addBeadsToStrand;
     import org.apache.royale.core.CSSTextField;
     import org.apache.royale.core.IBead;
     import org.apache.royale.core.IBeadController;
@@ -482,6 +483,22 @@ package org.apache.royale.html.supportClasses
         public var beads:Array;
         
         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];
+        }
                
                /**
                 * @private
@@ -493,6 +510,19 @@ package org.apache.royale.html.supportClasses
             _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);
+        }
         
                /**
                 * @private

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

Reply via email to