add optional flag to addElement to control notifications

Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/776bfce5
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/776bfce5
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/776bfce5

Branch: refs/heads/develop
Commit: 776bfce596dc9d289e3a6c3e139c4ee1d93ac193
Parents: b91788a
Author: Alex Harui <[email protected]>
Authored: Wed Oct 29 13:44:42 2014 -0700
Committer: Alex Harui <[email protected]>
Committed: Wed Oct 29 13:44:42 2014 -0700

----------------------------------------------------------------------
 .../supportClasses/optimized/SVGChartDataGroup.as       |  4 ++--
 .../FlexJSUI/src/org/apache/flex/core/Application.as    |  6 +++---
 .../FlexJSUI/src/org/apache/flex/core/IContentView.as   |  2 +-
 .../FlexJSUI/src/org/apache/flex/core/IParent.as        |  9 ++++++---
 .../FlexJSUI/src/org/apache/flex/core/UIBase.as         |  8 ++++----
 .../src/org/apache/flex/createjs/core/ViewBase.as       |  6 +++---
 .../FlexJSUI/src/org/apache/flex/html/Container.as      | 12 +++++++++---
 .../src/org/apache/flex/html/beads/PanelView.as         |  2 +-
 .../apache/flex/html/beads/PanelWithControlBarView.as   |  6 +++---
 .../apache/flex/html/beads/ScrollingContainerView.as    |  2 +-
 .../src/org/apache/flex/utils/MXMLDataInterpreter.as    |  2 +-
 11 files changed, 34 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/optimized/SVGChartDataGroup.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/optimized/SVGChartDataGroup.as
 
b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/optimized/SVGChartDataGroup.as
index c1a48d1..6f7d7b4 100644
--- 
a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/optimized/SVGChartDataGroup.as
+++ 
b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/charts/supportClasses/optimized/SVGChartDataGroup.as
@@ -120,7 +120,7 @@ package org.apache.flex.charts.supportClasses.optimized
                 *  @playerversion AIR 2.6
                 *  @productversion FlexJS 0.0
                 */
-               override public function addElement(value:Object):void
+               override public function addElement(value:Object, 
dispatchEvent:Boolean = true):void
                {
                        _children.push(value);
                        
@@ -137,7 +137,7 @@ package org.apache.flex.charts.supportClasses.optimized
                 *  @playerversion AIR 2.6
                 *  @productversion FlexJS 0.0
                 */
-               override public function addElementAt(value:Object, 
index:int):void
+               override public function addElementAt(value:Object, index:int, 
dispatchEvent:Boolean = true):void
                {
                        if (index >= _children.length) _children.push(value);
                        else _children.splice(index, 0, value);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
index 7ff9660..9b9506e 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/Application.as
@@ -340,7 +340,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function addElement(c:Object):void
+        public function addElement(c:Object, dispatchEvent:Boolean = true):void
         {
             if (c is IUIBase)
             {
@@ -359,7 +359,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function addElementAt(c:Object, index:int):void
+        public function addElementAt(c:Object, index:int, 
dispatchEvent:Boolean = true):void
         {
             if (c is IUIBase)
             {
@@ -407,7 +407,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function removeElement(c:Object):void
+        public function removeElement(c:Object, dispatchEvent:Boolean = 
true):void
         {
             if (c is IUIBase)
             {

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContentView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContentView.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContentView.as
index 692d85c..486a672 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContentView.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IContentView.as
@@ -32,7 +32,7 @@ package org.apache.flex.core
                function get height():Number;
                function set height(value:Number):void;
                
-               function addElement(value:Object):void;
+               function addElement(value:Object, dispatchEvent:Boolean = 
true):void;
                function removeAllElements():void;
        }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
index e9c46d3..d90588a 100755
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/IParent.as
@@ -34,26 +34,28 @@ package org.apache.flex.core
          *  Add a component to the parent.
          * 
          *  @param c The subcomponent to add.
+         *  @param dispatchEvent Whether to dispatch an event after adding the 
child.
          * 
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        function addElement(c:Object):void;
+        function addElement(c:Object, dispatchEvent:Boolean = true):void;
 
         /**
          *  Add a component to the parent.
          * 
          *  @param c The subcomponent to add.
          *  @param c The index where the subcomponent should be added.
+         *  @param dispatchEvent Whether to dispatch an event after adding the 
child.
          * 
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        function addElementAt(c:Object, index:int):void;
+        function addElementAt(c:Object, index:int, dispatchEvent:Boolean = 
true):void;
         
         /**
          *  Gets the index of this subcomponent.
@@ -72,13 +74,14 @@ package org.apache.flex.core
          *  Remove a component from the parent.
          * 
          *  @param c The subcomponent to remove.
+         *  @param dispatchEvent Whether to dispatch an event after removing 
the child.
          * 
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-       function removeElement(c:Object):void;
+       function removeElement(c:Object, dispatchEvent:Boolean = true):void;
        
        /**
         *  The number of elements in the parent.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
index deb1c2f..e837e36 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/UIBase.as
@@ -24,7 +24,7 @@ package org.apache.flex.core
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
        import org.apache.flex.events.MouseEvent;
-    import org.apache.flex.events.utils.MouseEventConverter;
+       import org.apache.flex.events.utils.MouseEventConverter;
        
        /**
         *  Set a different class for click events so that
@@ -750,7 +750,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-               public function addElement(c:Object):void
+               public function addElement(c:Object, dispatchEvent:Boolean = 
true):void
                {
             if (c is IUIBase)
             {
@@ -769,7 +769,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function addElementAt(c:Object, index:int):void
+        public function addElementAt(c:Object, index:int, 
dispatchEvent:Boolean = true):void
         {
             if (c is IUIBase)
             {
@@ -817,7 +817,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public function removeElement(c:Object):void
+        public function removeElement(c:Object, dispatchEvent:Boolean = 
true):void
         {
             if (c is IUIBase)
                 removeChild(IUIBase(c).element as DisplayObject);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
index 9d7fe95..d3ffe23 100644
--- 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
+++ 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/createjs/core/ViewBase.as
@@ -61,12 +61,12 @@ package org.apache.flex.createjs.core
                        return _applicationModel;
                }
         
-        public function addElement(c:Object):void
+        public function addElement(c:Object, dispatchEvent:Boolean = true):void
         {
             addChild(c as DisplayObject);
         }
 
-        public function addElementAt(c:Object, index:int):void
+        public function addElementAt(c:Object, index:int, 
dispatchEvent:Boolean = true):void
         {
             addChildAt(c as DisplayObject, index);
         }
@@ -81,7 +81,7 @@ package org.apache.flex.createjs.core
             return getChildIndex(c as DisplayObject);
         }
         
-        public function removeElement(c:Object):void
+        public function removeElement(c:Object, dispatchEvent:Boolean = 
true):void
         {
             removeChild(c as DisplayObject);
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/Container.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/Container.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/Container.as
index 9ae090a..70caf45 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/Container.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/Container.as
@@ -105,7 +105,7 @@ package org.apache.flex.html
         /**
          *  @private
          */
-        override public function addElement(c:Object):void
+        override public function addElement(c:Object, dispatchEvent:Boolean = 
true):void
         {
             if (c is IUIBase)
             {
@@ -126,12 +126,14 @@ package org.apache.flex.html
                                        actualParent.addChild(c as 
DisplayObject);
                                }
                        }
+            if (dispatchEvent)
+                this.dispatchEvent(new Event("childrenAdded"));
         }
         
         /**
          *  @private
          */
-        override public function addElementAt(c:Object, index:int):void
+        override public function addElementAt(c:Object, index:int, 
dispatchEvent:Boolean = true):void
         {
             if (c is IUIBase)
             {
@@ -151,17 +153,21 @@ package org.apache.flex.html
                        actualParent.addChildAt(c as DisplayObject, index);
                                }
                        }
+            if (dispatchEvent)
+                this.dispatchEvent(new Event("childrenAdded"));
         }
         
         /**
          *  @private
          */
-        override public function removeElement(c:Object):void
+        override public function removeElement(c:Object, dispatchEvent:Boolean 
= true):void
         {
             if (c is IUIBase)
                 actualParent.removeChild(IUIBase(c).element as DisplayObject);
             else
                 actualParent.removeChild(c as DisplayObject);
+            if (dispatchEvent)
+                this.dispatchEvent(new Event("childrenRemoved"));
         }
         
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelView.as 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelView.as
index c832a13..dac93ad 100644
--- 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelView.as
+++ 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelView.as
@@ -97,7 +97,7 @@ package org.apache.flex.html.beads
                        // any changes to values in the Panel's model that 
correspond values in the TitleBar will 
                        // be picked up automatically by the TitleBar.
                        titleBar.model = host.model;
-                       host.addElement(titleBar);
+                       host.addElement(titleBar, false);
                        titleBar.addEventListener("heightChanged", 
changeHandler);
             if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
                 titleBar.addEventListener("widthChanged", changeHandler);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelWithControlBarView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelWithControlBarView.as
 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelWithControlBarView.as
index 338c616..0ea7b35 100644
--- 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/PanelWithControlBarView.as
@@ -107,17 +107,17 @@ package org.apache.flex.html.beads
                        // any changes to values in the Panel's model that 
correspond values in the TitleBar will 
                        // be picked up automatically by the TitleBar.
                        titleBar.model = UIBase(_strand).model as 
ITitleBarModel;
-                       Container(_strand).addElement(titleBar);
+                       Container(_strand).addElement(titleBar, false);
                        
                        var controlBarItems:Array = 
IPanelModel(UIBase(_strand).model).controlBar;
                        if( controlBarItems && controlBarItems.length > 0 ) {
                                _controlBar = new ControlBar();
                                
                                for each(var comp:IUIBase in controlBarItems) {
-                                       _controlBar.addElement(comp);
+                                       _controlBar.addElement(comp, false);
                                }
                                
-                               Container(_strand).addElement(controlBar);
+                               Container(_strand).addElement(controlBar, 
false);
                        }
                        
                        layoutChromeElements();

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
index e9b424a..b6098cc 100644
--- 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
+++ 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
@@ -210,7 +210,7 @@ package org.apache.flex.html.beads
             vsb = new ScrollBar();
             vsb.model = _vScrollBarModel;
             vsb.width = 16;
-            IParent(_strand).addElement(vsb);
+            IParent(_strand).addElement(vsb, false);
             return vsb;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/776bfce5/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
----------------------------------------------------------------------
diff --git 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
index f9af9e3..ef3d3e4 100644
--- 
a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
+++ 
b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
@@ -260,7 +260,7 @@ public class MXMLDataInterpreter
         }
         if (parent && comp is DisplayObject)
         {
-            parent.addElement(comp);
+            parent.addElement(comp, !(comp is IContainer));
         }
         
         if (children)

Reply via email to