get events working well enough to get DataBindingExample to function.  Now to 
figure out how to fix up CSS


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

Branch: refs/heads/refactor-sprite
Commit: bd849c42b8561ea9a61b7b4e7fa4c1c9720129e6
Parents: 68453ef
Author: Alex Harui <[email protected]>
Authored: Wed Aug 3 12:30:07 2016 -0700
Committer: Alex Harui <[email protected]>
Committed: Wed Aug 3 12:30:07 2016 -0700

----------------------------------------------------------------------
 .../main/flex/org/apache/flex/core/UIBase.as    |  6 ++--
 .../flex/org/apache/flex/core/UIButtonBase.as   |  2 +-
 .../org/apache/flex/events/ElementEvents.as     | 14 ++++----
 .../org/apache/flex/html/beads/CSSButtonView.as | 25 ++++++++------
 .../html/beads/CSSImageAndTextButtonView.as     | 36 +++++++++++---------
 .../org/apache/flex/html/beads/CheckBoxView.as  |  2 +-
 .../apache/flex/html/beads/CloseButtonView.as   | 10 +++---
 .../flex/html/beads/DownArrowButtonView.as      | 28 ++++++++-------
 .../flex/html/beads/HScrollBarThumbView.as      | 20 ++++++-----
 .../flex/html/beads/HScrollBarTrackView.as      | 25 ++++++++------
 .../flex/html/beads/ImageAndTextButtonView.as   | 12 ++++---
 .../apache/flex/html/beads/ImageButtonView.as   | 20 ++++++-----
 .../flex/html/beads/LeftArrowButtonView.as      | 22 +++++++-----
 .../flex/html/beads/RightArrowButtonView.as     | 22 +++++++-----
 .../apache/flex/html/beads/SliderThumbView.as   | 14 +++++---
 .../apache/flex/html/beads/SliderTrackView.as   | 14 +++++---
 .../org/apache/flex/html/beads/TextAreaView.as  |  5 ++-
 .../apache/flex/html/beads/TextButtonView.as    |  8 +++--
 .../apache/flex/html/beads/UpArrowButtonView.as | 22 +++++++-----
 .../flex/html/beads/VScrollBarThumbView.as      | 30 +++++++++-------
 .../flex/html/beads/VScrollBarTrackView.as      | 25 ++++++++------
 .../html/beads/controllers/AlertController.as   |  4 ++-
 .../beads/controllers/ComboBoxController.as     | 15 ++++----
 23 files changed, 222 insertions(+), 159 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIBase.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIBase.as
index fe303ab..d3d420e 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIBase.as
@@ -152,12 +152,12 @@ package org.apache.flex.core
                {
                        super();
             
+            createElement();
+            
             COMPILE::SWF
             {
                 MouseEventConverter.setupInstanceConverters(this);
-            }
-            
-            createElement();
+            }                
         }
         
         COMPILE::SWF

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as
index bd38d7f..85fc0fd 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as
@@ -74,8 +74,8 @@ package org.apache.flex.core
                {
                        // mouseChildren = true;
                        // mouseEnabled = true;
-            MouseEventConverter.setupInstanceConverters(this);
             createElement();
+            MouseEventConverter.setupInstanceConverters(this);
                }
 
         protected function createElement():IFlexJSElement

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/Core/src/main/flex/org/apache/flex/events/ElementEvents.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/ElementEvents.as
 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/ElementEvents.as
index 157e3b0..22b8029 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/ElementEvents.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/ElementEvents.as
@@ -33,13 +33,13 @@ package org.apache.flex.events
             'keyup': 1,
             'keydown': 1,
             'load': 1,
-            'mouseover': 1,
-            'mouseout': 1,
-            'mouseup': 1,
-            'mousedown': 1,
-            'mousemove': 1,
-            'rollover': 1,
-            'rollout': 1
+            'mouseOver': 1,
+            'mouseOut': 1,
+            'mouseUp': 1,
+            'mouseDown': 1,
+            'mouseMove': 1,
+            'rollOver': 1,
+            'rollOut': 1
         };
        }
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
index 7775f03..68fa746 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
@@ -18,7 +18,6 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-    import flash.display.DisplayObject;
     import flash.display.Loader;
     import flash.display.Shape;
     import flash.display.SimpleButton;
@@ -28,8 +27,10 @@ package org.apache.flex.html.beads
     
     import org.apache.flex.core.BeadViewBase;
     import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IChild;
     import org.apache.flex.core.IStrand;
     import org.apache.flex.core.ITextModel;
+    import org.apache.flex.core.IUIBase;
     import org.apache.flex.core.ValuesManager;
     import org.apache.flex.events.Event;
     import org.apache.flex.events.IEventDispatcher;
@@ -86,10 +87,11 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, 10, 10);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upSprite;
-                       SimpleButton(value).downState = downSprite;
-                       SimpleButton(value).overState = overSprite;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upSprite;
+                       button.downState = downSprite;
+                       button.overState = overSprite;
+                       button.hitTestState = shape;
 
             setupBackground(overSprite, "hover");
             setupBackground(downSprite, "active");
@@ -114,19 +116,20 @@ package org.apache.flex.html.beads
 
                private function setupSkin(sprite:Sprite, state:String = 
null):void
                {
+            var host:IUIBase = IUIBase(_strand);
                        var padding:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding", state);
                        var paddingLeft:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
                        var paddingRight:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
                        var paddingTop:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
                        var paddingBottom:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
-                       var pl:Number = CSSUtils.getLeftValue(paddingLeft, 
padding, DisplayObject(_strand).width);
-            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, 
DisplayObject(_strand).width);
-            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, 
DisplayObject(_strand).height);
-            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, 
DisplayObject(_strand).height);
+                       var pl:Number = CSSUtils.getLeftValue(paddingLeft, 
padding, host.width);
+            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, 
host.width);
+            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, 
host.height);
+            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, 
host.height);
                        
                    CSSBorderUtils.draw(sprite.graphics, 
-                                       DisplayObject(_strand).width + pl + pr, 
-                                       DisplayObject(_strand).height + pt + pb,
+                                       host.width + pl + pr, 
+                                       host.height + pt + pb,
                     _strand,
                     state, true);
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
index 1c5bf89..4d73309 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
@@ -28,19 +28,20 @@ package org.apache.flex.html.beads
        import flash.text.TextField;
        import flash.text.TextFieldType;
        
-    import org.apache.flex.core.BeadViewBase;
+       import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.CSSTextField;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.core.IUIBase;
        import org.apache.flex.core.ValuesManager;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
        import org.apache.flex.html.TextButton;
-    import org.apache.flex.html.beads.models.ImageAndTextModel;
+       import org.apache.flex.html.beads.models.ImageAndTextModel;
        import org.apache.flex.utils.CSSUtils;
-    import org.apache.flex.utils.SolidBorderUtil;
-    import org.apache.flex.utils.StringTrimmer;
+       import org.apache.flex.utils.SolidBorderUtil;
+       import org.apache.flex.utils.StringTrimmer;
 
     /**
      *  The CSSTextButtonView class is the default view for
@@ -119,10 +120,11 @@ package org.apache.flex.html.beads
             upTextField.parentHandlesPadding = true;
             downTextField.parentHandlesPadding = true;
             overTextField.parentHandlesPadding = true;
-                       SimpleButton(value).upState = upSprite;
-                       SimpleButton(value).downState = downSprite;
-                       SimpleButton(value).overState = overSprite;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upSprite;
+                       button.downState = downSprite;
+                       button.overState = overSprite;
+                       button.hitTestState = shape;
                        if (textModel.text !== null)
                                text = textModel.text;
                        if (textModel.html !== null)
@@ -145,8 +147,9 @@ package org.apache.flex.html.beads
         
                private function setupSkin(sprite:Sprite, 
textField:CSSTextField, state:String = null):void
                {
-                       var sw:uint = IUIBase(_strand).width;
-                       var sh:uint = IUIBase(_strand).height;
+            var host:IUIBase = IUIBase(_strand);
+                       var sw:uint = host.width;
+                       var sh:uint = host.height;
                        
                        textField.defaultTextFormat.leftMargin = 0;
                        textField.defaultTextFormat.rightMargin = 0;
@@ -203,10 +206,10 @@ package org.apache.flex.html.beads
                        var paddingRight:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
                        var paddingTop:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
                        var paddingBottom:Object = 
ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
-            var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, 
DisplayObject(_strand).width);
-            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, 
DisplayObject(_strand).width);
-            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, 
DisplayObject(_strand).height);
-            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, 
DisplayObject(_strand).height);
+            var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, 
host.width);
+            var pr:Number = CSSUtils.getRightValue(paddingRight, padding, 
host.width);
+            var pt:Number = CSSUtils.getTopValue(paddingTop, padding, 
host.height);
+            var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, 
host.height);
             
                        var backgroundColor:Object = 
ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
             var bgColor:uint;
@@ -332,8 +335,9 @@ package org.apache.flex.html.beads
                
                private function updateHitArea():void
                {
-                       var useWidth:uint = 
Math.max(DisplayObject(_strand).width, upTextField.textWidth);
-                       var useHeight:uint = 
Math.max(DisplayObject(_strand).height, upTextField.textHeight);
+            var host:IUIBase = IUIBase(_strand);
+                       var useWidth:uint = Math.max(host.width, 
upTextField.textWidth);
+                       var useHeight:uint = Math.max(host.height, 
upTextField.textHeight);
                        
                        shape.graphics.clear();
                        shape.graphics.beginFill(0xCCCCCC);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
index 6268e0d..b53f182 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
@@ -226,7 +226,7 @@ package org.apache.flex.html.beads
                        
                        layoutControl();
                        
-            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
                        if( value ) {
                 button.upState = upAndSelectedSprite;
                 button.downState = downAndSelectedSprite;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
index 7d3fb19..c8be3ec 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
@@ -24,6 +24,7 @@ package org.apache.flex.html.beads
        
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.html.Button;
        import org.apache.flex.html.TitleBar;
@@ -87,10 +88,11 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, 11, 11);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
                }
                                
                private var upView:Shape;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
index c68a633..802f13d 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
@@ -21,11 +21,13 @@ package org.apache.flex.html.beads
        import flash.display.Graphics;
        import flash.display.Shape;
        import flash.display.SimpleButton;
-
-    import org.apache.flex.core.BeadViewBase;
+       
+       import org.apache.flex.core.BeadViewBase;
+       import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IBeadView;
-    import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
+       import org.apache.flex.events.Event;
        
     /**
      *  The DownArrowButtonView class is the view for
@@ -89,13 +91,14 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, 
ScrollBarView.FullSize);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
 
-            
SimpleButton(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            
SimpleButton(_strand).addEventListener("heightChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
         }
                                
                private var upView:Shape;
@@ -104,8 +107,9 @@ package org.apache.flex.html.beads
         
         private function sizeChangeHandler(event:Event):void
         {
-            SimpleButton(_strand).scaleX = SimpleButton(_strand).width / 
ScrollBarView.FullSize;
-            SimpleButton(_strand).scaleY = SimpleButton(_strand).height / 
ScrollBarView.FullSize;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+            button.scaleX = button.width / ScrollBarView.FullSize;
+            button.scaleY = button.height / ScrollBarView.FullSize;
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
index 05a41b6..6f2acac 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
@@ -25,7 +25,9 @@ package org.apache.flex.html.beads
        
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
        import org.apache.flex.html.supportClasses.ScrollBar;
@@ -55,7 +57,7 @@ package org.apache.flex.html.beads
                
                private function drawView(g:Graphics, bgColor:uint):void
                {
-            var ww:Number = DisplayObject(_strand).width;
+            var ww:Number = IUIBase(_strand).width;
             g.clear();
                        g.lineStyle(1);
                        g.beginFill(bgColor);
@@ -89,19 +91,21 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, 
ScrollBarView.FullSize);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
             IEventDispatcher(_strand).addEventListener("widthChanged", 
widthChangedHandler);
                }
 
         private function widthChangedHandler(event:Event):void
         {
-                       DisplayObject(_strand).scaleY = 1.0;
-                       DisplayObject(_strand).scaleX = 1.0;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       button.scaleY = 1.0;
+                       button.scaleX = 1.0;
                        
-            var ww:Number = DisplayObject(_strand).width;
+            var ww:Number = button.width;
             drawView(upView.graphics, 0xc8c8c8);
             drawView(downView.graphics, 0xc8c8c8);
             drawView(overView.graphics, 0xb8b8b8);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
index de6a3af..19934b7 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
@@ -23,10 +23,12 @@ package org.apache.flex.html.beads
        import flash.display.Shape;
        import flash.display.SimpleButton;
        
-    import org.apache.flex.core.BeadViewBase;
+       import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The HScrollBarTrackView class is the view for
@@ -53,7 +55,8 @@ package org.apache.flex.html.beads
                
                private function drawView(g:Graphics, bgColor:uint):void
                {
-                       var w:Number = SimpleButton(_strand).width;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       var w:Number = button.width;
                        
                        g.clear();
                        g.lineStyle(1, 0x808080);
@@ -65,10 +68,11 @@ package org.apache.flex.html.beads
 
                private function widthChangeHandler(event:Event):void
                {
-                       DisplayObject(_strand).scaleY = 1.0;
-                       DisplayObject(_strand).scaleX = 1.0;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       button.scaleY = 1.0;
+                       button.scaleX = 1.0;
                        
-                       var w:Number = SimpleButton(_strand).width;
+                       var w:Number = button.width;
                        
                        drawView(upView.graphics, 0xf8f8f8);
                        drawView(downView.graphics, 0xd8d8d8);
@@ -102,12 +106,13 @@ package org.apache.flex.html.beads
                        drawView(downView.graphics, 0xd8d8d8);
                        drawView(overView.graphics, 0xe8e8e8);
                        
-                       SimpleButton(value).addEventListener("widthChanged", 
widthChangeHandler);
+                       
IEventDispatcher(value).addEventListener("widthChanged", widthChangeHandler);
                        shape = new Shape();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
                }
 
                private var upView:Shape;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
index 3083465..6334f64 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
@@ -31,11 +31,12 @@ package org.apache.flex.html.beads
        import org.apache.flex.core.CSSTextField;
        import org.apache.flex.core.IBead;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.core.IStrandWithModel;
        import org.apache.flex.core.ValuesManager;
        import org.apache.flex.html.beads.models.ImageAndTextModel;
-    import org.apache.flex.utils.SolidBorderUtil;
+       import org.apache.flex.utils.SolidBorderUtil;
        
        /**
         *  The ImageButtonView class provides an image-only view
@@ -97,10 +98,11 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, 10, 10);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upSprite;
-                       SimpleButton(value).downState = downSprite;
-                       SimpleButton(value).overState = overSprite;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upSprite;
+                       button.downState = downSprite;
+                       button.overState = overSprite;
+                       button.hitTestState = shape;
                        
                        setupBackground(upSprite, upTextField, 0xCCCCCC);
                        setupBackground(overSprite, overTextField, 0xFFCCCC, 
"hover");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
index eecc607..9f67971 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
@@ -30,13 +30,16 @@ COMPILE::SWF {
        import org.apache.flex.core.UIButtonBase;
 }
 
+    import flash.display.SimpleButton;
+    
     import org.apache.flex.core.BeadViewBase;
-       import org.apache.flex.core.IBead;
-       import org.apache.flex.core.IBeadView;
-       import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadView;
+    import org.apache.flex.core.IChild;
+    import org.apache.flex.core.IStrand;
     import org.apache.flex.core.ValuesManager;
     import org.apache.flex.events.Event;
-       import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.events.IEventDispatcher;
 
        /**
         *  The ImageButtonView class provides an image-only view
@@ -85,10 +88,11 @@ COMPILE::SWF {
                                shape.graphics.beginFill(0xCCCCCC);
                                shape.graphics.drawRect(0, 0, 10, 10);
                                shape.graphics.endFill();
-                               SimpleButton(value).upState = upSprite;
-                               SimpleButton(value).downState = downSprite;
-                               SimpleButton(value).overState = overSprite;
-                               SimpleButton(value).hitTestState = shape;
+                var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                               button.upState = upSprite;
+                               button.downState = downSprite;
+                               button.overState = overSprite;
+                               button.hitTestState = shape;
 
                                setupBackground(upSprite);
                                setupBackground(overSprite, "hover");

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
index 9fca051..eece6fb 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
@@ -25,8 +25,10 @@ package org.apache.flex.html.beads
        
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
-    import org.apache.flex.events.Event;
+       import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The LeftArrowButtonView class is the view for
@@ -90,13 +92,14 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, 
ScrollBarView.FullSize);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
             
-            
SimpleButton(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            
SimpleButton(_strand).addEventListener("heightChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
                }
         
                private var upView:Shape;
@@ -105,8 +108,9 @@ package org.apache.flex.html.beads
                
         private function sizeChangeHandler(event:Event):void
         {
-            SimpleButton(_strand).scaleX = SimpleButton(_strand).width / 
ScrollBarView.FullSize;
-            SimpleButton(_strand).scaleY = SimpleButton(_strand).height / 
ScrollBarView.FullSize;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+            button.scaleX = button.width / ScrollBarView.FullSize;
+            button.scaleY = button.height / ScrollBarView.FullSize;
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
index 225c37c..eb242c1 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
@@ -25,8 +25,10 @@ package org.apache.flex.html.beads
        
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
-    import org.apache.flex.events.Event;
+       import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The RightArrowButtonView class is the view for
@@ -90,13 +92,14 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, 
ScrollBarView.FullSize);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
             
-            
SimpleButton(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            
SimpleButton(_strand).addEventListener("heightChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
                }
         
                private var upView:Shape;
@@ -105,8 +108,9 @@ package org.apache.flex.html.beads
                
         private function sizeChangeHandler(event:Event):void
         {
-            SimpleButton(_strand).scaleX = SimpleButton(_strand).width / 
ScrollBarView.FullSize;
-            SimpleButton(_strand).scaleY = SimpleButton(_strand).height / 
ScrollBarView.FullSize;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+            button.scaleX = button.width / ScrollBarView.FullSize;
+            button.scaleY = button.height / ScrollBarView.FullSize;
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
index e9b4ea5..fa5d235 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
@@ -33,6 +33,8 @@ package org.apache.flex.html.beads
     }
     import org.apache.flex.events.Event;
     import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.core.IChild;
+    import flash.display.SimpleButton;
        
        /**
         *  The SliderThumbView class creates the draggable input element for 
the 
@@ -70,10 +72,11 @@ package org.apache.flex.html.beads
         COMPILE::SWF
                private function drawView(g:Graphics, bgColor:uint):void
                {
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
                        g.clear();
                        g.lineStyle(1,0x000000);
                        g.beginFill(bgColor);
-                       g.drawCircle(SimpleButton(_strand).width/2, 
SimpleButton(_strand).height/2, 10);
+                       g.drawCircle(button.width/2, button.height/2, 10);
                        g.endFill();
                }
                
@@ -101,10 +104,11 @@ package org.apache.flex.html.beads
                 drawView(downView.graphics, 0x999999);
                 drawView(overView.graphics, 0xDDDDDD);
                 
-                SimpleButton(value).upState = upView;
-                SimpleButton(value).downState = downView;
-                SimpleButton(value).overState = overView;
-                SimpleButton(value).hitTestState = hitArea;
+                var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                button.upState = upView;
+                button.downState = downView;
+                button.overState = overView;
+                button.hitTestState = hitArea;
                 
                 
IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
                 
IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);    
            

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
index 4290ac7..e423896 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
@@ -35,6 +35,8 @@ package org.apache.flex.html.beads
        }
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
+       import org.apache.flex.core.IChild;
+       import flash.display.SimpleButton;
        
        /**
         *  The SliderTrackView class creates the track area for the 
org.apache.flex.html.Slider
@@ -72,10 +74,11 @@ package org.apache.flex.html.beads
                COMPILE::SWF
                private function drawView(g:Graphics, bgColor:uint):void
                {
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
                        g.clear();
                        g.lineStyle(1,0x000000);
                        g.beginFill(bgColor);
-                       g.drawRect(0, 0, SimpleButton(_strand).width, 
SimpleButton(_strand).height);
+                       g.drawRect(0, 0, button.width, button.height);
                        g.endFill();
                }
                
@@ -101,10 +104,11 @@ package org.apache.flex.html.beads
                                drawView(downView.graphics, 0x808080);
                                drawView(overView.graphics, 0xEEEEEE);
                                
-                               SimpleButton(value).upState = upView;
-                               SimpleButton(value).downState = downView;
-                               SimpleButton(value).overState = overView;
-                               SimpleButton(value).hitTestState = hitArea;
+                var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                               button.upState = upView;
+                               button.downState = downView;
+                               button.overState = overView;
+                               button.hitTestState = hitArea;
                                
                                
IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
                                
IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);    
                                

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
index f3b5359..2c4e76f 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
@@ -18,7 +18,6 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
-       import flash.display.DisplayObject;
        import flash.events.Event;
        import flash.events.IEventDispatcher;
        import flash.text.TextField;
@@ -170,7 +169,7 @@ package org.apache.flex.html.beads
             if( !isNaN(ww) && ww > 0 )
                 _border.width = ww;
             
-            ww -= DisplayObject(vScrollBar).width;
+            ww -= vScrollBar.width;
                        if( !isNaN(ww) && ww > 0 )
                                textField.width = ww;
                        
@@ -181,7 +180,7 @@ package org.apache.flex.html.beads
                                _border.height = hh;
                        }
                        
-                       var sb:DisplayObject = DisplayObject(vScrollBar);
+                       var sb:VScrollBar = vScrollBar;
                        sb.y = 1;
                        sb.x = textField.width - 1;
                        sb.height = textField.height;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
index e3d84dd..5790139 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
@@ -23,9 +23,10 @@ package org.apache.flex.html.beads
        import flash.display.SimpleButton;
        import flash.text.TextFieldType;
        
-    import org.apache.flex.core.BeadViewBase;
+       import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.CSSTextField;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.core.ITextModel;
        import org.apache.flex.events.Event;
@@ -131,8 +132,9 @@ package org.apache.flex.html.beads
                
                private function sizeChangeHandler(event:Event):void
                {
-                       upTextField.width = downTextField.width = 
overTextField.width = DisplayObject(_strand).width;
-                       upTextField.height= downTextField.height= 
overTextField.height= DisplayObject(_strand).height;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       upTextField.width = downTextField.width = 
overTextField.width = button.width;
+                       upTextField.height= downTextField.height= 
overTextField.height= button.height;
                }
                
         /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
index 8e6ff4a..9acb60a 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
@@ -25,8 +25,10 @@ package org.apache.flex.html.beads
        
        import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
-    import org.apache.flex.events.Event;
+       import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The UpArrowButtonView class is the view for
@@ -90,13 +92,14 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, 
ScrollBarView.FullSize);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
             
-            
SimpleButton(_strand).addEventListener("widthChanged",sizeChangeHandler);
-            
SimpleButton(_strand).addEventListener("heightChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
+            
IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
                }
         
                private var upView:Shape;
@@ -105,8 +108,9 @@ package org.apache.flex.html.beads
                
         private function sizeChangeHandler(event:Event):void
         {
-            SimpleButton(_strand).scaleX = SimpleButton(_strand).width / 
ScrollBarView.FullSize;
-            SimpleButton(_strand).scaleY = SimpleButton(_strand).height / 
ScrollBarView.FullSize;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+            button.scaleX = button.width / ScrollBarView.FullSize;
+            button.scaleY = button.height / ScrollBarView.FullSize;
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
index 0f70b37..c119de7 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
@@ -18,16 +18,18 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
+       import flash.display.DisplayObject;
        import flash.display.Graphics;
        import flash.display.Shape;
        import flash.display.SimpleButton;
-    import flash.display.DisplayObject;
-
-    import org.apache.flex.core.BeadViewBase;
-    import org.apache.flex.core.IBeadView;
+       
+       import org.apache.flex.core.BeadViewBase;
+       import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
+    import org.apache.flex.core.IUIBase;
        import org.apache.flex.events.Event;
-       import org.apache.flex.events.IEventDispatcher; 
+       import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The VScrollBarThumbView class is the view for
@@ -54,7 +56,7 @@ package org.apache.flex.html.beads
                
                private function drawView(g:Graphics, bgColor:uint):void
                {
-            var hh:Number = DisplayObject(_strand).height;
+            var hh:Number = IUIBase(_strand).height;
             g.clear();
                        g.lineStyle(1);
                        g.beginFill(bgColor);
@@ -88,19 +90,21 @@ package org.apache.flex.html.beads
                        shape.graphics.beginFill(0xCCCCCC);
                        shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, 
ScrollBarView.FullSize);
                        shape.graphics.endFill();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
             IEventDispatcher(_strand).addEventListener("heightChanged", 
heightChangedHandler);
                }
 
         private function heightChangedHandler(event:Event):void
         {
-                       DisplayObject(_strand).scaleY = 1.0;
-                       DisplayObject(_strand).scaleX = 1.0;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       button.scaleY = 1.0;
+                       button.scaleX = 1.0;
                        
-            var hh:Number = DisplayObject(_strand).height;
+            var hh:Number = button.height;
             drawView(upView.graphics, 0xc8c8c8);
             drawView(downView.graphics, 0xc8c8c8);
             drawView(overView.graphics, 0xb8b8b8);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
index 3510251..e08944a 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
@@ -23,10 +23,12 @@ package org.apache.flex.html.beads
        import flash.display.Shape;
        import flash.display.SimpleButton;
        
-    import org.apache.flex.core.BeadViewBase;
+       import org.apache.flex.core.BeadViewBase;
        import org.apache.flex.core.IBeadView;
+       import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
        
     /**
      *  The VScrollBarTrackView class is the view for
@@ -53,7 +55,8 @@ package org.apache.flex.html.beads
                
                private function drawView(g:Graphics, bgColor:uint):void
                {
-                       var h:Number = SimpleButton(_strand).height;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       var h:Number = button.height;
                        
                        g.clear();
                        g.lineStyle(1, 0x808080);
@@ -65,10 +68,11 @@ package org.apache.flex.html.beads
 
                private function heightChangeHandler(event:Event):void
                {
-                       DisplayObject(_strand).scaleY = 1.0;
-                       DisplayObject(_strand).scaleX = 1.0;
+            var button:SimpleButton = IChild(_strand).$displayObject as 
SimpleButton;
+                       button.scaleY = 1.0;
+                       button.scaleX = 1.0;
                        
-                       var h:Number = SimpleButton(_strand).height;
+                       var h:Number = button.height;
                        
                        drawView(upView.graphics, 0xf8f8f8);
                        drawView(downView.graphics, 0xd8d8d8);
@@ -102,12 +106,13 @@ package org.apache.flex.html.beads
                        drawView(downView.graphics, 0xd8d8d8);
                        drawView(overView.graphics, 0xe8e8e8);
                        
-                       SimpleButton(value).addEventListener("heightChanged", 
heightChangeHandler);
+                       
IEventDispatcher(value).addEventListener("heightChanged", heightChangeHandler);
                        shape = new Shape();
-                       SimpleButton(value).upState = upView;
-                       SimpleButton(value).downState = downView;
-                       SimpleButton(value).overState = overView;
-                       SimpleButton(value).hitTestState = shape;
+            var button:SimpleButton = IChild(value).$displayObject as 
SimpleButton;
+                       button.upState = upView;
+                       button.downState = downView;
+                       button.overState = overView;
+                       button.hitTestState = shape;
                }
 
                private var upView:Shape;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
index 3982d0f..44fda3a 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
@@ -21,9 +21,11 @@ package org.apache.flex.html.beads.controllers
     import flash.display.DisplayObject;
     
        import org.apache.flex.core.IBeadController;
+    import org.apache.flex.core.IChild;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
+    import org.apache.flex.utils.UIUtils;
 
        /**
         *  The AlertControler class bead handles the close event on the 
org.apache.flex.html.Alert 
@@ -82,7 +84,7 @@ package org.apache.flex.html.beads.controllers
                 */
         private function handleAlertClose(event:Event):void
         {
-            DisplayObject(_strand).parent.removeChild(DisplayObject(_strand));
+            UIUtils.removePopUp(IChild(_strand));
         }
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/bd849c42/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
index 12fb59c..9e91772 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
@@ -23,9 +23,10 @@ package org.apache.flex.html.beads.controllers
        import org.apache.flex.core.IBeadController;
        import org.apache.flex.core.ISelectionModel;
        import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.IUIBase;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
-    import org.apache.flex.events.MouseEvent;
+       import org.apache.flex.events.MouseEvent;
        import org.apache.flex.html.beads.IComboBoxView;
 
        /**
@@ -74,17 +75,19 @@ package org.apache.flex.html.beads.controllers
                 */
         private function clickHandler(event:MouseEvent):void
         {
+            var host:IUIBase = IUIBase(_strand);
             var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) 
as IComboBoxView;
             viewBead.popUpVisible = true;
             var selectionModel:ISelectionModel = 
_strand.getBeadByType(ISelectionModel) as ISelectionModel;
             var popUpModel:ISelectionModel = 
viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
             popUpModel.dataProvider = selectionModel.dataProvider;
             popUpModel.selectedIndex = selectionModel.selectedIndex;
-                       DisplayObject(viewBead.popUp).width = 
DisplayObject(_strand).width;
-                       DisplayObject(viewBead.popUp).height = 200;
-                       DisplayObject(viewBead.popUp).x = 
DisplayObject(_strand).x;
-                       DisplayObject(viewBead.popUp).y = 
DisplayObject(_strand).y;
-            IEventDispatcher(viewBead.popUp).addEventListener("change", 
changeHandler);
+            var popUp:IUIBase = IUIBase(viewBead.popUp);
+                       popUp.width = host.width;
+            popUp.height = 200;
+            popUp.x = host.x;
+            popUp.y = host.y;
+            popUp.addEventListener("change", changeHandler);
         }
         
                /**

Reply via email to