You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ca...@apache.org on 2016/11/02 18:33:09 UTC

[09/50] [abbrv] git commit: [flex-asjs] [refs/heads/feature/mdl] - move UIBase and UIButtonBase

move UIBase and UIButtonBase


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

Branch: refs/heads/feature/mdl
Commit: 975d3f34f058cf3fd79302a6e7037c5e29f7ac84
Parents: 87ee711
Author: Alex Harui <ah...@apache.org>
Authored: Fri Oct 28 08:06:04 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Nov 1 07:55:20 2016 -0700

----------------------------------------------------------------------
 .../main/flex/org/apache/flex/core/UIBase.as    | 1401 ------------------
 .../flex/org/apache/flex/core/UIButtonBase.as   |  792 ----------
 .../main/flex/org/apache/flex/core/UIBase.as    | 1401 ++++++++++++++++++
 .../flex/org/apache/flex/core/UIButtonBase.as   |  792 ++++++++++
 4 files changed, 2193 insertions(+), 2193 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/975d3f34/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
deleted file mode 100644
index 0e4a988..0000000
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIBase.as
+++ /dev/null
@@ -1,1401 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-    COMPILE::SWF
-    {
-        import flash.display.DisplayObject;
-        import flash.display.Sprite;
-        import flash.display.Stage;            
-    }
-	
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.ValueChangeEvent;
-	import org.apache.flex.events.utils.MouseEventConverter;
-	COMPILE::SWF {
-	import flash.display.InteractiveObject;
-	}
-	
-	/**
-	 *  Set a different class for click events so that
-	 *  there aren't dependencies on the flash classes
-	 *  on the JS side.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.2
-	 *  @playerversion AIR 2.6
-	 *  @productversion FlexJS 0.0
-	 */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-	
-    /**
-     *  Set a different class for rollOver events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="rollOver", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for rollOut events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="rollOut", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseDown events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseDown", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseUp events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseUp", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseMove events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseMove", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseOut events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseOut", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  Set a different class for mouseOver events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-    [Event(name="mouseOver", type="org.apache.flex.events.MouseEvent")]
-    
-    /**
-     *  The UIBase class is the base class for most composite user interface
-     *  components.  For the Flash Player, Buttons and Text controls may
-     *  have a different base class and therefore may not extend UIBase.
-     *  However all user interface components should implement IUIBase.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	public class UIBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IParentIUIBase, IStyleableObject, ILayoutChild, ITransformHost
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function UIBase()
-		{
-			super();
-            
-            createElement();
-            
-            COMPILE::SWF
-            {
-                MouseEventConverter.setupInstanceConverters(this);
-            }                
-        }
-        
-        COMPILE::SWF
-        public function get $sprite():Sprite
-        {
-            return $displayObject as Sprite;
-        }
-        
-		private var _explicitWidth:Number;
-        
-        /**
-         *  The explicitly set width (as opposed to measured width
-         *  or percentage width).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get explicitWidth():Number
-		{
-			return _explicitWidth;
-		}
-
-        /**
-         *  @private
-         */
-        public function set explicitWidth(value:Number):void
-		{
-			if (_explicitWidth == value)
-				return;
-			
-			// width can be pixel or percent not both
-			if (!isNaN(value))
-				_percentWidth = NaN;
-			
-			_explicitWidth = value;
-			
-			dispatchEvent(new Event("explicitWidthChanged"));
-		}
-		
-		private var _explicitHeight:Number;
-
-        /**
-         *  The explicitly set width (as opposed to measured width
-         *  or percentage width).
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get explicitHeight():Number
-		{
-			return _explicitHeight;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set explicitHeight(value:Number):void
-		{
-			if (_explicitHeight == value)
-				return;
-			
-			// height can be pixel or percent not both
-			if (!isNaN(value))
-				_percentHeight = NaN;
-			
-			_explicitHeight = value;
-			
-			dispatchEvent(new Event("explicitHeightChanged"));
-		}
-		
-		private var _percentWidth:Number;
-
-        /**
-         *  The requested percentage width this component
-         *  should have in the parent container.  Note that
-         *  the actual percentage may be different if the 
-         *  total is more than 100% or if there are other
-         *  components with explicitly set widths.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get percentWidth():Number
-		{
-			return _percentWidth;
-		}
-
-        /**
-         *  @private
-         */
-		public function set percentWidth(value:Number):void
-		{
-			COMPILE::SWF {
-				if (_percentWidth == value)
-					return;
-				
-				if (!isNaN(value))
-					_explicitWidth = NaN;
-				
-				_percentWidth = value;
-			}
-			COMPILE::JS {
-				this._percentWidth = value;
-				this.positioner.style.width = value + '%';
-				if (!isNaN(value))
-					this._explicitWidth = NaN;
-			}
-			
-			dispatchEvent(new Event("percentWidthChanged"));
-		}
-
-        private var _percentHeight:Number;
-        
-        /**
-         *  The requested percentage height this component
-         *  should have in the parent container.  Note that
-         *  the actual percentage may be different if the 
-         *  total is more than 100% or if there are other
-         *  components with explicitly set heights.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get percentHeight():Number
-		{
-			return _percentHeight;
-		}
-        
-        /**
-         *  @private
-         */
-		public function set percentHeight(value:Number):void
-		{
-			COMPILE::SWF {
-				if (_percentHeight == value)
-					return;
-				
-				if (!isNaN(value))
-					_explicitHeight = NaN;
-				
-				_percentHeight = value;
-			}
-				
-			COMPILE::JS {
-				this._percentHeight = value;
-				this.positioner.style.height = value + '%';
-				if (!isNaN(value))
-					this._explicitHeight = NaN;
-			}
-			
-			dispatchEvent(new Event("percentHeightChanged"));
-		}
-		
-		private var _width:Number;
-
-        [Bindable("widthChanged")]
-        [PercentProxy("percentWidth")]
-        /**
-         *  The width of the component.  If no width has been previously
-         *  set the default width may be specified in the IValuesImpl
-         *  or determined as the bounding box around all child
-         *  components and graphics.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-        override public function get width():Number
-		{
-			var w:Number = _width;
-			if (isNaN(w)) {
-				w = $width;
-			}
-			return w;
-		}
-        
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get width():Number
-        {
-            var pixels:Number;
-            var strpixels:String = positioner.style.width as String;
-            if (strpixels !== null && strpixels.indexOf('%') != -1)
-                pixels = NaN;
-            else
-                pixels = parseFloat(strpixels);
-            if (isNaN(pixels)) {
-                pixels = positioner.offsetWidth;
-                if (pixels === 0 && positioner.scrollWidth !== 0) {
-                    // invisible child elements cause offsetWidth to be 0.
-                    pixels = positioner.scrollWidth;
-                }
-            }
-            return pixels;
-        }
-
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-		override public function set width(value:Number):void
-		{
-			if (explicitWidth != value)
-			{
-				explicitWidth = value;
-			}
-			
-            setWidth(value);
-		}
-        
-        /**
-         *  @private
-         */
-        COMPILE::JS
-        public function set width(value:Number):void
-        {
-            if (explicitWidth != value)
-            {
-                explicitWidth = value;
-            }
-            
-            setWidth(value);
-        }
-
-        /**
-         *  Retrieve the low-level bounding box width.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-		public function get $width():Number
-		{
-			return super.width;
-		}
-		
-		private var _height:Number;
-
-        [Bindable("heightChanged")]
-        [PercentProxy("percentHeight")]
-        /**
-         *  The height of the component.  If no height has been previously
-         *  set the default height may be specified in the IValuesImpl
-         *  or determined as the bounding box around all child
-         *  components and graphics.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-		override public function get height():Number
-		{
-			var h:Number = _height;
-			if (isNaN(h)) {
-				h = $height;
-			}
-			return h;
-		}
-        
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get height():Number
-        {
-            var pixels:Number;
-            var strpixels:String = positioner.style.height as String;
-            if (strpixels !== null && strpixels.indexOf('%') != -1)
-                pixels = NaN;
-            else
-                pixels = parseFloat(strpixels);
-            if (isNaN(pixels)) {
-                pixels = positioner.offsetHeight;
-                if (pixels === 0 && positioner.scrollHeight !== 0) {
-                    // invisible child elements cause offsetHeight to be 0.
-                    pixels = positioner.scrollHeight;
-                }
-            }
-            return pixels;
-        }
-
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-		override public function set height(value:Number):void
-		{
-			if (explicitHeight != value)
-			{
-				explicitHeight = value;
-			}
-			
-            setHeight(value);
-		}
-        
-        /**
-         *  @private
-         */
-        COMPILE::JS
-        public function set height(value:Number):void
-        {
-            if (explicitHeight != value)
-            {
-                explicitHeight = value;
-            }
-            
-            setHeight(value);
-        }
-        
-        /**
-         *  Retrieve the low-level bounding box height.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        COMPILE::SWF
-		public function get $height():Number
-		{
-			return super.height;
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setHeight(value:Number, noEvent:Boolean = false):void
-        {
-            if (_height != value)
-            {
-                _height = value;
-                COMPILE::JS
-                {
-                    this.positioner.style.height = value + 'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-        }
-
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidth(value:Number, noEvent:Boolean = false):void
-        {
-            if (_width != value)
-            {
-                _width = value;
-                COMPILE::JS
-                {
-                    this.positioner.style.width = value + 'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("widthChanged"));
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setWidthAndHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidthAndHeight(newWidth:Number, newHeight:Number, noEvent:Boolean = false):void
-        {
-            if (_width != newWidth)
-            {
-                _width = newWidth;
-                COMPILE::JS
-                {
-                    this.positioner.style.width = newWidth + 'px';        
-                }
-                if (!noEvent) 
-                    dispatchEvent(new Event("widthChanged"));
-            }
-            if (_height != newHeight)
-            {
-                _height = newHeight;
-                COMPILE::JS
-                {
-                    this.positioner.style.height = newHeight + 'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-            dispatchEvent(new Event("sizeChanged"));
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isWidthSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isWidthSizedToContent():Boolean
-        {
-            if (!isNaN(_explicitWidth))
-                return false;
-            if (!isNaN(_percentWidth))
-                return false;
-            var left:* = ValuesManager.valuesImpl.getValue(this, "left");
-            var right:* = ValuesManager.valuesImpl.getValue(this, "right");
-            return (left === undefined || right === undefined);
-
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isHeightSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isHeightSizedToContent():Boolean
-        {
-            if (!isNaN(_explicitHeight))
-                return false;
-            if (!isNaN(_percentHeight))
-                return false;
-            var top:* = ValuesManager.valuesImpl.getValue(this, "top");
-            var bottom:* = ValuesManager.valuesImpl.getValue(this, "bottom");
-            return (top === undefined || bottom === undefined);          
-        }
-		
-        private var _x:Number;
-        
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-        override public function set x(value:Number):void
-        {
-            super.x = _x = value;
-            if (!style)
-                style = { left: value };
-            else
-                style.left = value;
-        }
-        
-        COMPILE::JS
-        public function set x(value:Number):void
-        {
-            positioner.style.position = 'absolute';
-            positioner.style.left = value + 'px';
-        }
-
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get x():Number
-        {
-            var strpixels:String = positioner.style.left as String;
-            var pixels:Number = parseFloat(strpixels);
-            if (isNaN(pixels))
-                pixels = positioner.offsetLeft;
-            return pixels;
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setX
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setX(value:Number):void
-        {
-			COMPILE::SWF
-			{
-				super.x = value;					
-			}
-			COMPILE::JS
-			{
-				positioner.style.position = 'absolute';
-				positioner.style.left = value + 'px';
-			}
-        }
-        
-        private var _y:Number;
-        
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-        override public function set y(value:Number):void
-        {
-            super.y = _y = value;
-            if (!style)
-                style = { top: value };
-            else
-                style.top = value;
-        }
-        
-        COMPILE::JS
-        public function set y(value:Number):void
-        {
-            positioner.style.position = 'absolute';
-            positioner.style.top = value + 'px';
-        }
-        
-        /**
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get y():Number
-        {
-            var strpixels:String = positioner.style.top as String;
-            var pixels:Number = parseFloat(strpixels);
-            if (isNaN(pixels))
-                pixels = positioner.offsetTop;
-            return pixels;
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setY
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setY(value:Number):void
-        {
-			COMPILE::SWF
-			{
-				super.y = value;					
-			}
-			COMPILE::JS
-			{
-				positioner.style.position = 'absolute';
-				positioner.style.top = value + 'px';				
-			}
-        }
-        
-		/**
-		 * @private
-		 */
-        [Bindable("visibleChanged")]
-        COMPILE::SWF
-		override public function set visible(value:Boolean):void
-		{
-			super.visible = value;
-			dispatchEvent(new Event(value?"show":"hide"));
-			dispatchEvent(new Event("visibleChanged"));
-        }
-        
-        COMPILE::JS
-        private var displayStyleForLayout:String;
-		
-		/**
-		 *  The display style is used for both visible
-		 *  and layout so is managed as a special case.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		COMPILE::JS
-		public function setDisplayStyleForLayout(value:String):void
-		{
-			if (positioner.style.display !== 'none')
-				positioner.style.display = value;
-			else
-				displayStyleForLayout = value;
-		}
-        
-        COMPILE::JS
-        public function get visible():Boolean
-        {
-            return positioner.style.display !== 'none';
-        }
-        
-        COMPILE::JS
-        public function set visible(value:Boolean):void
-        {
-            var oldValue:Boolean = positioner.style.display !== 'none';
-            if (value !== oldValue) 
-            {
-                if (!value) 
-                {
-					displayStyleForLayout = positioner.style.display;
-                    positioner.style.display = 'none';
-                    dispatchEvent(new Event('hide'));
-                } 
-                else 
-                {
-                    if (displayStyleForLayout) 
-                        positioner.style.display = displayStyleForLayout;
-                    dispatchEvent(new Event('show'));
-                }
-                dispatchEvent(new Event('visibleChanged'));
-            }
-        }
-        
-        /**
-         * @return The array of children.
-         * @flexjsignorecoercion Array
-         */
-        COMPILE::JS
-        public function internalChildren():Array
-        {
-            return element.childNodes as Array;
-        }
-        		
-        private var _view:IBeadView;
-        
-        /**
-         *  An IBeadView that serves as the view for the component.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion Class
-         */
-        public function get view():IBeadView
-        {
-            if (_view == null)
-            {
-                var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    if (c)
-                    {
-                        _view = (new c()) as IBeadView;
-                        addBead(_view);
-                    }
-                }
-            }
-            return _view;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set view(value:IBeadView):void
-        {
-            if (_view != value)
-            {
-                addBead(value as IBead);
-                dispatchEvent(new Event("viewChanged"));
-            }
-        }
-
-        private var _id:String;
-
-        /**
-         *  An id property for MXML documents.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get id():String
-		{
-			return _id;
-		}
-
-        /**
-         *  @private
-         */
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-		
-        private var _style:Object;
-        
-        /**
-         *  The object that contains
-         *  "styles" and other associated
-         *  name-value pairs.  You can
-         *  also specify a string in
-         *  HTML style attribute format.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get style():Object
-        {
-            return _style;
-        }
-        
-        /**
-         *  @private
-         *  @flexjsignorecoercion String
-         */
-        public function set style(value:Object):void
-        {
-            if (_style != value)
-            {
-                if (value is String)
-                {
-                    _style = ValuesManager.valuesImpl.parseStyles(value as String);
-                }
-                else
-                    _style = value;
-                if (!isNaN(_y))
-                    _style.top = _y;
-                if (!isNaN(_x))
-                    _style.left = _x;
-                dispatchEvent(new Event("stylesChanged"));
-            }
-        }
-        
-        /**
-         *  A list of type names.  Often used for CSS
-         *  type selector lookups.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var typeNames:String;
-        
-        private var _className:String;
-
-        /**
-         *  The classname.  Often used for CSS
-         *  class selector lookups.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get className():String
-		{
-			return _className;
-		}
-
-        /**
-         *  @private
-         */
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
-                COMPILE::JS
-                {
-                    setClassName(typeNames ? value + ' ' + typeNames : value);             
-                }
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
-		
-		COMPILE::JS
-		protected function setClassName(value:String):void
-		{
-			element.className = value;           
-		}
-		
-        
-        /**
-         *  @copy org.apache.flex.core.Application#beads
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public var beads:Array;
-		
-        COMPILE::SWF
-		private var _beads:Vector.<IBead>;
-        
-        /**
-         *  @copy org.apache.flex.core.IStrand#addBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */        
-		override public function addBead(bead:IBead):void
-		{
-            super.addBead(bead);
-            if (bead is IBeadView)
-                _view = bead as IBeadView;
-			
-			if (bead is IBeadView) {
-				IEventDispatcher(this).dispatchEvent(new Event("viewChanged"));
-			}
-		}
-		
-		
-        // maintain this or just calculate it from the displayobject children on demand?
-        private var _elements:Array;
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#addElement()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
-         */
-		public function addElement(c:IChild, dispatchEvent:Boolean = true):void
-		{
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    _elements = [];
-                _elements[_elements.length] = c;
-                $displayObjectContainer.addChild(c.$displayObject);
-                if (c is IUIBase)
-                {
-                    IUIBase(c).addedToParent();
-                }
-                    
-            }
-            COMPILE::JS
-            {
-                element.appendChild(c.positioner);
-                (c as IUIBase).addedToParent();
-            }
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#addElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.IUIBase
-         */
-        public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    _elements = [];
-                _elements.splice(index,0,c);
-
-                $displayObjectContainer.addChildAt(c.$displayObject,index);
-
-                if (c is IUIBase)
-                {
-                    (c as IUIBase).addedToParent();
-                }
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                if (index >= children.length)
-                    addElement(c);
-                else
-                {
-                    element.insertBefore(c.positioner,
-                        children[index]);
-                    (c as IUIBase).addedToParent();
-                }
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getElementAt(index:int):IChild
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    return null;
-                return _elements[index];
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                return children[index].flexjs_wrapper;
-            }
-        }        
-        
-        /**
-         *  @copy org.apache.flex.core.IParent#getElementIndex()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function getElementIndex(c:IChild):int
-        {
-            COMPILE::SWF
-            {
-                if(_elements == null)
-                    return -1;
-                return _elements.indexOf(c);
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                var n:int = children.length;
-                for (var i:int = 0; i < n; i++)
-                {
-                    if (children[i] == c.element)
-                        return i;
-                }
-                return -1;                
-            }
-        }
-
-        /**
-         *  @copy org.apache.flex.core.IParent#removeElement()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion HTMLElement
-         */
-        public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if(_elements)
-                {
-                    var idx:int = _elements.indexOf(c);
-                    if(idx>=0)
-                        _elements.splice(idx,1);
-                }
-                $displayObjectContainer.removeChild(c.$displayObject as DisplayObject);
-            }
-            COMPILE::JS
-            {
-                element.removeChild(c.element as HTMLElement);
-            }
-        }
-		
-        /**
-         *  @copy org.apache.flex.core.IParent#numElements
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get numElements():int
-        {
-            COMPILE::SWF
-            {
-                return _elements ? _elements.length : 0;
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                return children.length;
-            }
-        }
-        
-        /**
-         *  The method called when added to a parent.  This is a good
-         *  time to set up beads.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion Class
-         *  @flexjsignorecoercion Number
-         */
-        public function addedToParent():void
-        {
-            var c:Class;
-			
-            COMPILE::JS
-            {
-                if (style)
-                    ValuesManager.valuesImpl.applyStyles(this, style);
-            }
-            
-			if (isNaN(_explicitWidth) && isNaN(_percentWidth)) 
-            {
-				var value:* = ValuesManager.valuesImpl.getValue(this,"width");
-				if (value !== undefined) 
-                {
-					if (value is String)
-                    {
-                        var s:String = String(value);
-                        if (s.indexOf("%") != -1)
-        					_percentWidth = Number(s.substring(0, s.length - 1));
-                        else
-                        {
-                            if (s.indexOf("px") != -1)
-                                s = s.substring(0, s.length - 2);
-                            _width = _explicitWidth = Number(s);                            
-                        }
-                    }
-					else 
-						_width = _explicitWidth = value as Number;
-				}
-			}
-			
-			if (isNaN(_explicitHeight) && isNaN(_percentHeight)) 
-            {
-				value = ValuesManager.valuesImpl.getValue(this,"height");
-				if (value !== undefined) 
-                {
-                    if (value is String)
-                    {
-    					s = String(value);
-                        if (s.indexOf("%") != -1)
-    						_percentHeight = Number(s.substring(0, s.length - 1));
-                        else
-                        {
-                            if (s.indexOf("px") != -1)
-                                s = s.substring(0, s.length - 2);
-                            _height = _explicitHeight = Number(s);
-                        }
-					} 
-                    else
-						_height = _explicitHeight = value as Number;
-				}
-			}
-            
-            for each (var bead:IBead in beads)
-                addBead(bead);
-                
-            if (getBeadByType(IBeadModel) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
-                if (c)
-                {
-                    var model:IBeadModel = new c as IBeadModel;
-                    if (model)
-                        addBead(model);
-                }
-            }
-            if (_view == null && getBeadByType(IBeadView) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    var view:IBeadView = new c as IBeadView;
-                    if (view)
-                        addBead(view);                        
-                }
-            }
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-            dispatchEvent(new Event("beadsAdded"));
-        }
-        		
-        /**
-         *  A measurement bead, if one exists.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get measurementBead() : IMeasurementBead
-		{
-			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( measurementBead == null ) {
-				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
-			}
-			
-			return measurementBead;
-		}
-        
-        COMPILE::SWF
-        private var _stageProxy:StageProxy;
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         *  @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         *  @flexjsignorecoercion org.apache.flex.events.IEventDispatcher
-         */
-		public function get topMostEventDispatcher():IEventDispatcher
-        {
-            COMPILE::SWF
-            {
-                if (!_stageProxy)
-                {
-                    _stageProxy = new StageProxy($displayObject.stage);
-                    _stageProxy.addEventListener("removedFromStage", stageProxy_removedFromStageHandler);
-                }
-                
-                return _stageProxy;
-            }
-            COMPILE::JS
-            {
-                var e:WrappedHTMLElement = document.body as WrappedHTMLElement;
-                return e.flexjs_wrapper as IEventDispatcher;
-            }
-        }
-        
-        COMPILE::SWF
-        private function stageProxy_removedFromStageHandler(event:Event):void
-        {
-            _stageProxy = null;
-        }
-        
-        /**
-         * Rebroadcast an event from a sub component from the component.
-         */
-        protected function repeaterListener(event:Event):void
-        {
-            dispatchEvent(event);
-        }
-        
-        /**
-         * @return The actual element to be parented.
-         * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
-         */
-        protected function createElement():IFlexJSElement
-        {
-			COMPILE::SWF
-			{
-				element = new WrappedSprite();
-				element.flexjs_wrapper = this;
-				(element as InteractiveObject).doubleClickEnabled = true; // make JS and flash consistent
-                return element;
-			}
-			COMPILE::JS
-			{
-	            if (element == null)
-	                element = document.createElement('div') as WrappedHTMLElement;
-	            if (positioner == null)
-	                positioner = element;
-	            positioner.style.display = 'block';
-	            positioner.style.position = 'relative';
-	            
-	            element.flexjs_wrapper = this;
-	            
-	            return positioner;
-			}
-        }
-        
-        /**
-         * The HTMLElement used to position the component.
-         * @flexjsignorecoercion String
-         */
-        COMPILE::JS
-        public function get alpha():Number 
-        {
-            var stralpha:String = positioner.style.opacity as String;
-            var alpha:Number = parseFloat(stralpha);
-            return alpha;
-        }
-        
-        COMPILE::JS
-        public function set alpha(value:Number):void
-        {
-            positioner.style.opacity = value;
-        }
-
-        /**
-         * @param value The event containing new style properties.
-         */
-        COMPILE::JS
-        protected function styleChangeHandler(value:ValueChangeEvent):void
-        {
-            var newStyle:Object = {};
-            newStyle[value.propertyName] = value.newValue;
-            ValuesManager.valuesImpl.applyStyles(this, newStyle);
-        };
-
-		COMPILE::SWF
-		public function get transformElement():IFlexJSElement
-		{
-			return element;
-		}
-		
-		COMPILE::JS
-		public function get transformElement():WrappedHTMLElement
-		{
-			return element;
-		}
-		
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/975d3f34/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
deleted file mode 100644
index 85fc0fd..0000000
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ /dev/null
@@ -1,792 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-	import flash.display.DisplayObject;
-	import flash.display.SimpleButton;
-	
-	import org.apache.flex.core.IBead;
-	import org.apache.flex.core.IBeadModel;
-	import org.apache.flex.core.IMeasurementBead;
-	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.EventDispatcher;
-	import org.apache.flex.events.IEventDispatcher;
-	import org.apache.flex.events.utils.MouseEventConverter;
-	
-    //--------------------------------------
-    //  Events
-    //--------------------------------------
-    
-    /**
-     *  Set a different class for click events so that
-     *  there aren't dependencies on the flash classes
-     *  on the JS side.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	[Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
-    /**
-     *  The UIHTMLElementWrapper class is the base class for most Buttons
-     *  and other UI objects in a FlexJS application that do not have children.  
-     *  In Flash, these buttons extend SimpleButton and therefore
-     *  do not support all of the Sprite APIs.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion FlexJS 0.0
-     */
-	COMPILE::SWF
-	public class UIButtonBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IUIBase, IStyleableObject, ILayoutChild
-	{
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function UIButtonBase()
-		{
-			// mouseChildren = true;
-			// mouseEnabled = true;
-            createElement();
-            MouseEventConverter.setupInstanceConverters(this);
-		}
-
-        protected function createElement():IFlexJSElement
-        {
-            element = _button = new WrappedSimpleButton();
-            _button.flexjs_wrapper = this;
-            return element;
-        }
-        private var _button:WrappedSimpleButton;
-
-        public function get $button():SimpleButton
-        {
-            return _button;
-        }
-
-        private var _x:Number;
-        
-		/**
-		 *  @private
-		 */
-		override public function set x(value:Number):void
-		{
-			if (_button.x != value) {
-				_button.x = _x = value;
-                if (!style)
-                    style = { left: value };
-                else
-                    style.left = value;
-				dispatchEvent(new Event("xChanged"));
-			}
-		}
-		
-        private var _y:Number;
-        
-        /**
-		 *  @private
-		 */
-		override public function set y(value:Number):void
-		{
-			if (_button.y != value) {
-				_button.y = _y = value;
-                if (!style)
-                    style = { top: value };
-                else
-                    style.top = value;
-				dispatchEvent(new Event("yChanged"));
-			}
-		}
-
-		/**
-		 *  Retrieve the low-level bounding box y.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function get $y():Number
-		{
-			return _button.y;
-		}
-		
-		private var _explicitWidth:Number;
-		
-		/**
-		 *  The explicitly set width (as opposed to measured width
-		 *  or percentage width).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get explicitWidth():Number
-		{
-			if (isNaN(_explicitWidth))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "width");
-				if (value !== undefined) {
-					_explicitWidth = Number(value);
-				}
-			}
-			
-			return _explicitWidth;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set explicitWidth(value:Number):void
-		{
-			if (_explicitWidth == value)
-				return;
-			
-			// width can be pixel or percent not both
-			if (!isNaN(value))
-				_percentWidth = NaN;
-			
-			_explicitWidth = value;
-			
-			dispatchEvent(new Event("explicitWidthChanged"));
-		}
-		
-		private var _explicitHeight:Number;
-		
-		/**
-		 *  The explicitly set width (as opposed to measured width
-		 *  or percentage width).
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get explicitHeight():Number
-		{
-			if (isNaN(_explicitHeight))
-			{
-				var value:* = ValuesManager.valuesImpl.getValue(this, "height");
-				if (value !== undefined) {
-					_explicitHeight = Number(value);
-				}
-			}
-			
-			return _explicitHeight;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set explicitHeight(value:Number):void
-		{
-			if (_explicitHeight == value)
-				return;
-			
-			// height can be pixel or percent not both
-			if (!isNaN(value))
-				_percentHeight = NaN;
-			
-			_explicitHeight = value;
-			
-			dispatchEvent(new Event("explicitHeightChanged"));
-		}
-		
-		private var _percentWidth:Number;
-		
-		/**
-		 *  The requested percentage width this component
-		 *  should have in the parent container.  Note that
-		 *  the actual percentage may be different if the 
-		 *  total is more than 100% or if there are other
-		 *  components with explicitly set widths.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get percentWidth():Number
-		{
-			return _percentWidth;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set percentWidth(value:Number):void
-		{
-			if (_percentWidth == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitWidth = NaN;
-			
-			_percentWidth = value;
-			
-			dispatchEvent(new Event("percentWidthChanged"));
-		}
-		
-		private var _percentHeight:Number;
-		
-		/**
-		 *  The requested percentage height this component
-		 *  should have in the parent container.  Note that
-		 *  the actual percentage may be different if the 
-		 *  total is more than 100% or if there are other
-		 *  components with explicitly set heights.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		public function get percentHeight():Number
-		{
-			return _percentHeight;
-		}
-		
-		/**
-		 *  @private
-		 */
-		public function set percentHeight(value:Number):void
-		{
-			if (_percentHeight == value)
-				return;
-			
-			if (!isNaN(value))
-				_explicitHeight = NaN;
-			
-			_percentHeight = value;
-			
-			dispatchEvent(new Event("percentHeightChanged"));
-		}
-		
-		private var _width:Number;
-        
-		[Bindable("widthChanged")]
-        [PercentProxy("percentWidth")]
-        /**
-         *  @copy org.apache.flex.core.UIBase#width
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function get width():Number
-		{
-			if (isNaN(explicitWidth))
-			{
-				var w:Number = _width;
-				if (isNaN(w)) w = $width;
-				return w;
-			}
-			else
-				return explicitWidth;
-		}
-
-        /**
-         *  @private
-         */
-		override public function set width(value:Number):void
-		{
-			if (explicitWidth != value)
-			{
-				explicitWidth = value;
-			}
-			
-			setWidth(value);
-		}
-
-        /**
-         *  Retrieve the low-level bounding box width.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get $width():Number
-		{
-			return _button.width;
-		}
-		
-		private var _height:Number;
-
-		[Bindable("heightChanged")]
-        [PercentProxy("percentHeight")]
-        /**
-         *  @copy org.apache.flex.core.UIBase#width
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function get height():Number
-		{
-			if (isNaN(explicitHeight))
-			{
-				var h:Number = _height;
-				if (isNaN(h)) h = $height;
-				return h;
-			}
-			else
-				return explicitHeight;
-		}
-        
-        /**
-         *  @private
-         */
-		override public function set height(value:Number):void
-		{
-			if (explicitHeight != value)
-			{
-				explicitHeight = value;
-			}
-			
-			setHeight(value);
-		}
-        
-        /**
-         *  Retrieve the low-level bounding box height.
-         *  Not implemented in JS.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get $height():Number
-		{
-			return _button.height;
-		}
-
-        /**
-         *  @copy org.apache.flex.core.IUIBase#setHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setHeight(value:Number, noEvent:Boolean = false):void
-        {
-            if (_height != value)
-            {
-                _height = value;
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#setWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidth(value:Number, noEvent:Boolean = false):void
-        {
-            if (_width != value)
-            {
-                _width = value;
-                if (!noEvent)
-                    dispatchEvent(new Event("widthChanged"));
-            }
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#setWidthAndHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setWidthAndHeight(newWidth:Number, newHeight:Number, noEvent:Boolean = false):void
-        {
-            if (_width != newWidth)
-            {
-                _width = newWidth;
-                if (_height == newHeight)
-                    if (!noEvent) 
-                        dispatchEvent(new Event("widthChanged"));
-            }
-            if (_height != newHeight)
-            {
-                _height = newHeight;
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-            dispatchEvent(new Event("sizeChanged"));
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isWidthSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isWidthSizedToContent():Boolean
-        {
-            return (isNaN(_explicitWidth) && isNaN(_percentWidth));
-        }
-		        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setX
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setX(value:Number):void
-        {
-            _button.x = value;
-        }
-                
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#setY
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function setY(value:Number):void
-        {
-            _button.y = value;
-        }
-        
-		/**
-		 * @private
-		 */
-        [Bindable("visibleChanged")]
-		override public function set visible(value:Boolean):void
-		{
-			_button.visible = value;
-			dispatchEvent(new Event(value?"show":"hide"));
-			dispatchEvent(new Event("visibleChanged"));
-		}
-
-        override public function get visible():Boolean
-        {
-            return _button.visible;
-        }
-        
-        /**
-         *  @copy org.apache.flex.core.ILayoutChild#isHeightSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function isHeightSizedToContent():Boolean
-        {
-            return (isNaN(_explicitHeight) && isNaN(_percentHeight));
-        }
-        
-        private var _view:IBeadView;
-        
-        /**
-         *  An IBeadView that serves as the view for the component.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get view():IBeadView
-        {
-            if (_view == null)
-            {
-                var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    _view = (new c()) as IBeadView;
-                    addBead(_view);
-                }
-            }
-            return _view;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set view(value:IBeadView):void
-        {
-            if (_view != value)
-            {
-                addBead(value as IBead);
-                dispatchEvent(new Event("viewChanged"));
-            }
-        }
-        
-		private var _id:String;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#id
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get id():String
-		{
-			return _id;
-		}
-
-        /**
-         *  @private
-         */
-		public function set id(value:String):void
-		{
-			if (_id != value)
-			{
-				_id = value;
-				dispatchEvent(new Event("idChanged"));
-			}
-		}
-
-        private var _styles:Object;
-        
-        /**
-         *  The object that contains
-         *  "styles" and other associated
-         *  name-value pairs.  You can
-         *  also specify a string in
-         *  HTML style attribute format.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get style():Object
-        {
-            return _styles;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set style(value:Object):void
-        {
-            if (value is String)
-                _styles = ValuesManager.valuesImpl.parseStyles(value as String);
-            else
-                _styles = value;
-            if (!isNaN(_y))
-                _styles.top = _y;
-            if (!isNaN(_x))
-                _styles.left = _x;
-            dispatchEvent(new Event("stylesChanged"));
-        }
-        
-        /**
-         *  The styles for this object formatted
-         *  as an HTML style attribute.  While this
-         *  may be a convenient and less verbose
-         *  way of specifying styles than using
-         *  the style object, you run the risk of
-         *  having a typo.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function set styleString(value:String):void
-        {
-            _styles = JSON.parse("{" + value + "}");
-        }
-        
-        /**
-         *  A list of type names.  Often used for CSS
-         *  type selector lookups.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var typeNames:String;
-        
-		private var _className:String;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#className
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get className():String
-		{
-			return _className;
-		}
-
-        /**
-         *  @private
-         */
-		public function set className(value:String):void
-		{
-			if (_className != value)
-			{
-				_className = value;
-				dispatchEvent(new Event("classNameChanged"));
-			}
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.UIBase#beads
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public var beads:Array;
-        
-		private var strand:Vector.<IBead>;
-
-        /**
-         *  @copy org.apache.flex.core.UIBase#addBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		override public function addBead(bead:IBead):void
-		{
-            super.addBead(bead);
-            if (bead is IBeadView)
-                _view = bead as IBeadView;
-			bead.strand = this;
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#addToParent()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function addedToParent():void
-		{
-            var c:Class;
-            
-            for each (var bead:IBead in beads)
-                addBead(bead);
-            
-            if (getBeadByType(IBeadModel) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
-                if (c)
-                {
-                    var model:IBeadModel = new c as IBeadModel;
-                    if (model)
-                        addBead(model);
-                }
-            }
-            if (getBeadByType(IBeadView) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
-                if (c)
-                {
-                    var view:IBeadView = new c as IBeadView;
-                    if (view)
-                        addBead(view);
-                }
-            }
-            if (getBeadByType(IBeadController) == null) 
-            {
-                c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
-                if (c)
-                {
-                    var controller:IBeadController = new c as IBeadController;
-                    if (controller)
-                        addBead(controller);
-                }
-            }
-
-            dispatchEvent(new Event("beadsAdded"));
-            
-		}
-		
-        /**
-         *  @copy org.apache.flex.core.UIBase#measurementBead
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-		public function get measurementBead() : IMeasurementBead
-		{
-			var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
-			if( measurementBead == null ) {
-				addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
-			}
-			
-			return measurementBead;
-		}
-        
-        /**
-         *  @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public function get topMostEventDispatcher():IEventDispatcher
-        {
-            if (!parent)
-                return null;
-            return IUIBase(parent).topMostEventDispatcher;
-        }
-
-        
-	}
-}