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

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

commit cf06ede63e3e794198fd68e8647e9c6eceae383d
Author: Carlos Rovira <carlosrov...@apache.org>
AuthorDate: Mon Apr 9 20:41:48 2018 +0200

    UIBase className changes to support new cssclassList class methods like 
addStyles
---
 .../main/royale/org/apache/royale/core/UIBase.as   |   18 +-
 .../main/royale/org/apache/royale/core/UIBase.as   | 1628 --------------------
 2 files changed, 9 insertions(+), 1637 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
index b5f4dd1..f59d7f0 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/core/UIBase.as
@@ -37,6 +37,7 @@ package org.apache.royale.core
     {
         import org.apache.royale.html.util.addElementToWrapper;
         import org.apache.royale.utils.CSSUtils;
+        import org.apache.royale.utils.cssclasslist.addStyles;
     }
        
        /**
@@ -1085,11 +1086,13 @@ package org.apache.royale.core
         {
             if (_className !== value)
             {
+                _className = value;
+
                 COMPILE::JS
                 {
-                    setClassName(typeNames ? StringUtil.trim(value + ' ' + 
typeNames) : value);             
+                    setClassName(computeFinalClassNames());             
                 }
-                _className = value;
+                
                 dispatchEvent(new Event("classNameChanged"));
             }
         }
@@ -1097,13 +1100,13 @@ package org.apache.royale.core
                COMPILE::JS
         protected function computeFinalClassNames():String
                {
-            return (_className ? _className + " " : "") + (typeNames ? 
typeNames : "");
+            return  StringUtil.trim((_className ? _className : "") + " " + 
(typeNames ? typeNames : ""));
                }
 
         COMPILE::JS
         protected function setClassName(value:String):void
         {
-            element.className = value;           
+            addStyles(element, value);        
         }
 
         /**
@@ -1394,11 +1397,8 @@ package org.apache.royale.core
                        
             COMPILE::JS
             {
-                               if (typeNames)
-                {
-                    setClassName(computeFinalClassNames());
-                }
-
+                           setClassName(computeFinalClassNames());
+                
                 if (style)
                     ValuesManager.valuesImpl.applyStyles(this, style);
             }
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/core/UIBase.as 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/core/UIBase.as
deleted file mode 100644
index f59d7f0..0000000
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/core/UIBase.as
+++ /dev/null
@@ -1,1628 +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.royale.core
-{
-    COMPILE::SWF
-    {
-        import flash.display.DisplayObject;
-        import flash.display.Sprite;
-        import flash.display.Stage;
-        import org.apache.royale.events.utils.MouseEventConverter;
-    }
-       
-       import org.apache.royale.events.Event;
-       import org.apache.royale.events.IEventDispatcher;
-       import org.apache.royale.events.MouseEvent;
-       import org.apache.royale.events.ValueChangeEvent;
-       import org.apache.royale.utils.loadBeadFromValuesManager;
-    import org.apache.royale.utils.StringUtil;
-
-    COMPILE::JS
-    {
-        import org.apache.royale.html.util.addElementToWrapper;
-        import org.apache.royale.utils.CSSUtils;
-        import org.apache.royale.utils.cssclasslist.addStyles;
-    }
-       
-       /**
-        *  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 Royale 0.0
-        */
-       [Event(name="click", type="org.apache.royale.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 Royale 0.0
-     */
-    [Event(name="rollOver", type="org.apache.royale.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 Royale 0.0
-     */
-    [Event(name="rollOut", type="org.apache.royale.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 Royale 0.0
-     */
-    [Event(name="mouseDown", type="org.apache.royale.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 Royale 0.0
-     */
-    [Event(name="mouseUp", type="org.apache.royale.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 Royale 0.0
-     */
-    [Event(name="mouseMove", type="org.apache.royale.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 Royale 0.0
-     */
-    [Event(name="mouseOut", type="org.apache.royale.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 Royale 0.0
-        */
-       [Event(name="mouseOver", type="org.apache.royale.events.MouseEvent")]
-       /**
-        *  Set a different class for mouseWheel 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 Royale 0.0
-        */
-       [Event(name="mouseWheel", type="org.apache.royale.events.MouseEvent")]
-       
-       /**
-        *  Set a different class for doubleClick 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 Royale 0.0
-        */
-       [Event(name="doubleClick", type="org.apache.royale.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 Royale 0.0
-     */
-       public class UIBase extends HTMLElementWrapper implements 
IStrandWithModel, IEventDispatcher, IParentIUIBase, IStyleableObject, 
ILayoutChild, IRoyaleElement
-       {
-        /**
-         *  Constructor.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-               public function UIBase()
-               {
-                       super();
-            
-            COMPILE::SWF
-            {
-                MouseEventConverter.setupInstanceConverters(this);
-                doubleClickEnabled = true; // make JS and flash consistent
-            }
-            
-            COMPILE::JS
-            {
-                createElement();
-            }
-        }
-        
-        COMPILE::SWF
-        public function get $displayObject():DisplayObject
-        {
-            return this;
-        }
-        
-        public function get royale_wrapper():Object
-        {
-            return this;
-        }
-        public function set royale_wrapper(value:Object):void
-        {
-        }
-        
-               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 Royale 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 Royale 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 Royale 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.toString() 
+ '%';
-                               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 Royale 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.toString() 
+ '%';
-                               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 Royale 0.0
-         */
-        COMPILE::SWF
-        override public function get width():Number
-               {
-                       var w:Number = _width;
-                       if (isNaN(w)) {
-                               w = $width;
-                       }
-                       return w;
-               }
-        
-        [Bindable("widthChanged")]
-        [PercentProxy("percentWidth")]
-        /**
-         * @royaleignorecoercion String
-         */
-        COMPILE::JS
-        public function get width():Number
-        {
-            if(!isNaN(_explicitWidth))
-                return _explicitWidth;
-            var pixels:Number;
-            var strpixels:String = element.style.width as String;
-            if(strpixels == null)
-                pixels = NaN;
-            else
-                pixels = CSSUtils.toNumber(strpixels,NaN);
-            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 Royale 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 Royale 0.0
-         */
-        COMPILE::SWF
-               override public function get height():Number
-               {
-                       var h:Number = _height;
-                       if (isNaN(h)) {
-                               h = $height;
-                       }
-                       return h;
-               }
-        
-        [Bindable("heightChanged")]
-        [PercentProxy("percentHeight")]
-        /**
-         * @royaleignorecoercion String
-         */
-        COMPILE::JS
-        public function get height():Number
-        {
-            if(!isNaN(_explicitHeight))
-                return _explicitHeight;
-            var pixels:Number;
-            var strpixels:String = element.style.height as String;
-            if(strpixels == null)
-                pixels = NaN;
-            else
-                pixels = CSSUtils.toNumber(strpixels,NaN);
-            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 Royale 0.0
-         */
-        COMPILE::SWF
-               public function get $height():Number
-               {
-                       return super.height;
-               }
-        
-        /**
-         *  @copy org.apache.royale.core.ILayoutChild#setHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        public function setHeight(value:Number, noEvent:Boolean = false):void
-        {
-            if (_height !== value)
-            {
-                _height = value;
-                COMPILE::JS
-                {
-                    this.positioner.style.height = value.toString() + 'px';    
    
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-        }
-
-        /**
-         *  @copy org.apache.royale.core.ILayoutChild#setWidth
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        public function setWidth(value:Number, noEvent:Boolean = false):void
-        {
-            if (_width !== value)
-            {
-                _width = value;
-                COMPILE::JS
-                {
-                    this.positioner.style.width = value.toString() + 'px';     
   
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("widthChanged"));
-            }
-        }
-
-        /**
-         * @private
-         * Used by layout to prevent causing unnecessary reflows when 
measuring.
-         */
-        private var _measuredWidth:Number;
-
-               public function get measuredWidth():Number
-               {
-                       return _measuredWidth;
-               }
-
-               public function set measuredWidth(value:Number):void
-               {
-                       _measuredWidth = value;
-               }
-        /**
-         * @private
-         * Used by layout to prevent causing unnecessary reflows when 
measuring.
-         */
-        private var _measuredHeight:Number;
-
-               public function get measuredHeight():Number
-               {
-                       return _measuredHeight;
-               }
-
-               public function set measuredHeight(value:Number):void
-               {
-                       _measuredHeight = value;
-               }
-        
-        /**
-         *  @copy org.apache.royale.core.ILayoutChild#setWidthAndHeight
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 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.toString() + 'px';  
      
-                }
-                if (!noEvent) 
-                    dispatchEvent(new Event("widthChanged"));
-            }
-            if (_height !== newHeight)
-            {
-                _height = newHeight;
-                COMPILE::JS
-                {
-                    this.positioner.style.height = newHeight.toString() + 
'px';        
-                }
-                if (!noEvent)
-                    dispatchEvent(new Event("heightChanged"));
-            }            
-            dispatchEvent(new Event("sizeChanged"));
-        }
-        
-        /**
-         *  @copy org.apache.royale.core.ILayoutChild#isWidthSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 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.royale.core.ILayoutChild#isHeightSizedToContent
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 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;
-        }
-        /**
-         * @royaleignorecoercion HTMLElement
-         */
-        COMPILE::JS
-        public function set x(value:Number):void
-        {
-            _x = value;
-            setX(value);
-        }
-
-        /**
-         * @royaleignorecoercion String
-         * @royaleignorecoercion HTMLElement
-         */
-        COMPILE::JS
-        public function get x():Number
-        {
-            if(!isNaN(_x))
-                return _x
-            var strpixels:String = positioner.style.left as String;
-            var pixels:Number = parseFloat(strpixels);
-            if (isNaN(pixels))
-            {
-                pixels = positioner.offsetLeft;
-                if (positioner.parentNode != positioner.offsetParent)
-                    pixels -= (positioner.parentNode as 
HTMLElement).offsetLeft;
-            }
-            return pixels;
-        }
-        
-        /**
-         *  @copy org.apache.royale.core.ILayoutChild#setX
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         *  @royaleignorecoercion HTMLElement
-         */
-        public function setX(value:Number):void
-        {
-                       COMPILE::SWF
-                       {
-                               super.x = value;                                
        
-                       }
-                       COMPILE::JS
-                       {
-                               //positioner.style.position = 'absolute';
-                if (positioner.parentNode != positioner.offsetParent)
-                    value += (positioner.parentNode as HTMLElement).offsetLeft;
-                               positioner.style.left = value.toString() + '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;
-        }
-        
-        /**
-         * @royaleignorecoercion HTMLElement
-         */
-        COMPILE::JS
-        public function set y(value:Number):void
-        {
-            _y = value;
-            setY(value);
-        }
-        
-        /**
-         * @royaleignorecoercion String
-         * @royaleignorecoercion HTMLElement
-         */
-        COMPILE::JS
-        public function get y():Number
-        {
-            if(!isNaN(_y))
-                return _y
-            var strpixels:String = positioner.style.top as String;
-            var pixels:Number = parseFloat(strpixels);
-            if (isNaN(pixels))
-            {
-                pixels = positioner.offsetTop;
-                if (positioner.parentNode != positioner.offsetParent)
-                    pixels -= (positioner.parentNode as HTMLElement).offsetTop;
-            }
-            return pixels;
-        }
-        
-        /**
-         *  @copy org.apache.royale.core.ILayoutChild#setY
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         *  @royaleignorecoercion HTMLElement
-         */
-        public function setY(value:Number):void
-        {
-                       COMPILE::SWF
-                       {
-                               super.y = value;                                
        
-                       }
-                       COMPILE::JS
-                       {
-                               //positioner.style.position = 'absolute';
-                if (positioner.parentNode != positioner.offsetParent)
-                    value += (positioner.parentNode as HTMLElement).offsetTop;
-                               positioner.style.top = value.toString() + '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 Royale 0.0
-                */
-               COMPILE::JS
-               public function setDisplayStyleForLayout(value:String):void
-               {
-                       if (positioner.style.display !== 'none')
-                               positioner.style.display = value;
-                       else
-                               displayStyleForLayout = value;
-               }
-        
-        [Bindable("visibleChanged")]
-        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 != null)
-                        positioner.style.display = displayStyleForLayout;
-                    dispatchEvent(new Event('show'));
-                }
-                dispatchEvent(new Event('visibleChanged'));
-            }
-        }
-        
-        /**
-         * @return The array of children.
-         * @royaleignorecoercion Array
-         */
-        COMPILE::JS
-        public function internalChildren():Array
-        {
-            return element.childNodes as Array;
-        }
-        
-        COMPILE::SWF
-               private var _model:IBeadModel;
-
-        /**
-         *  An IBeadModel that serves as the data model for the component.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        COMPILE::SWF
-        public function get model():Object
-               {
-            if (_model == null)
-            {
-                // addbead will set _model
-                addBead(new (ValuesManager.valuesImpl.getValue(this, 
"iBeadModel")) as IBead);
-            }
-                       return _model;
-               }
-
-        /**
-         *  @private
-         */
-        COMPILE::SWF
-               public function set model(value:Object):void
-               {
-                       if (_model != value)
-                       {
-                               addBead(value as IBead);
-                               dispatchEvent(new Event("modelChanged"));
-                       }
-               }
-               
-        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 Royale 0.0
-         *  @royaleignorecoercion Class
-         *  @royaleignorecoercion org.apache.royale.core.IBeadView
-         */
-        public function get view():IBeadView
-        {
-            if(!_view)
-                _view = loadBeadFromValuesManager(IBeadView, "iBeadView", 
this) as IBeadView;
-            return _view;
-        }
-        
-        /**
-         *  @private
-         */
-        public function set view(value:IBeadView):void
-        {
-            if (_view != value)
-            {
-                addBead(value);
-                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 Royale 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"));
-                       }
-            COMPILE::JS
-            {
-                element.id = _id;
-            }
-               }
-               
-        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 Royale 0.0
-         */
-        public function get style():Object
-        {
-            return _style;
-        }
-        
-        /**
-         *  @private
-         *  @royaleignorecoercion 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;
-                               COMPILE::JS
-                               {
-                                       if (parent)
-                                               
ValuesManager.valuesImpl.applyStyles(this, _style);
-                               }
-                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 Royale 0.0
-         * 
-         *  @royalesuppresspublicvarwarning
-         */
-        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 Royale 0.0
-         */
-        public function get className():String
-               {
-                       return _className;
-               }
-
-        /**
-         *  @private
-         */
-        public function set className(value:String):void
-        {
-            if (_className !== value)
-            {
-                _className = value;
-
-                COMPILE::JS
-                {
-                    setClassName(computeFinalClassNames());             
-                }
-                
-                dispatchEvent(new Event("classNameChanged"));
-            }
-        }
-
-               COMPILE::JS
-        protected function computeFinalClassNames():String
-               {
-            return  StringUtil.trim((_className ? _className : "") + " " + 
(typeNames ? typeNames : ""));
-               }
-
-        COMPILE::JS
-        protected function setClassName(value:String):void
-        {
-            addStyles(element, value);        
-        }
-
-        /**
-         *  @copy org.apache.royale.core.IUIBase#element
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        COMPILE::SWF
-        public function get element():IRoyaleElement
-        {
-            return this;
-        }
-               
-        /**
-         *  @copy org.apache.royale.core.Application#beads
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         * 
-         *  @royalesuppresspublicvarwarning
-         */
-               public var beads:Array;
-               
-        COMPILE::SWF
-               private var _beads:Vector.<IBead>;
-        
-        /**
-         *  @copy org.apache.royale.core.IStrand#addBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.9
-         *  @royaleignorecoercion org.apache.royale.core.IBeadModel
-         *  @royaleignorecoercion org.apache.royale.core.IBeadView
-         */        
-               override public function addBead(bead:IBead):void
-               {
-            var isView:Boolean;
-                       if (!_beads)
-                               _beads = new Vector.<IBead>;
-                       _beads.push(bead);
-                       if (bead is IBeadModel)
-                               _model = bead as IBeadModel;
-            else if (bead is IBeadView)
-            {
-                _view = bead as IBeadView;
-                isView = true
-            }
-                       bead.strand = this;
-                       
-                       if (isView) {
-                               dispatchEvent(new Event("viewChanged"));
-                       }
-               }
-               
-        /**
-         *  @copy org.apache.royale.core.IStrand#getBeadByType()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        COMPILE::SWF
-               public function getBeadByType(classOrInterface:Class):IBead
-               {
-                       for each (var bead:IBead in _beads)
-                       {
-                               if (bead is classOrInterface)
-                                       return bead;
-                       }
-                       return null;
-               }
-               
-        /**
-         *  @copy org.apache.royale.core.IStrand#removeBead()
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        COMPILE::SWF
-               public function removeBead(value:IBead):IBead   
-               {
-                       var n:int = _beads.length;
-                       for (var i:int = 0; i < n; i++)
-                       {
-                               var bead:IBead = _beads[i];
-                               if (bead == value)
-                               {
-                                       _beads.splice(i, 1);
-                                       return bead;
-                               }
-                       }
-                       return null;
-               }
-               
-        /**
-         *  @copy org.apache.royale.core.IParent#addElement()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-                *  @royaleignorecoercion org.apache.royale.core.IUIBase
-         */
-               public function addElement(c:IChild, dispatchEvent:Boolean = 
true):void
-               {
-            COMPILE::SWF
-            {
-                if (c is IUIBase)
-                {
-                    if (c is IRenderedObject)
-                        addChild(IRenderedObject(c).$displayObject);
-                    else
-                        addChild(c as DisplayObject);                        
-                    IUIBase(c).addedToParent();
-                }
-                else
-                    addChild(c as DisplayObject);
-            }
-            COMPILE::JS
-            {
-                element.appendChild(c.positioner);
-                (c as IUIBase).addedToParent();
-            }
-               }
-        
-        /**
-         *  @copy org.apache.royale.core.IParent#addElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-                *  @royaleignorecoercion org.apache.royale.core.IUIBase
-         */
-        public function addElementAt(c:IChild, index:int, 
dispatchEvent:Boolean = true):void
-        {
-            COMPILE::SWF
-            {
-                if (c is IUIBase)
-                {
-                    if (c is IRenderedObject)
-                        addChildAt(IUIBase(c).$displayObject, index);
-                    else
-                        addChildAt(c as DisplayObject, index);
-                    IUIBase(c).addedToParent();
-                }
-                else
-                    addChildAt(c as DisplayObject, index);
-            }
-            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.royale.core.IParent#getElementAt()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        public function getElementAt(index:int):IChild
-        {
-            COMPILE::SWF
-            {
-                return getChildAt(index) as IChild;
-            }
-            COMPILE::JS
-            {
-                var children:Array = internalChildren();
-                if (children.length == 0)
-                {
-                    return null;
-                }
-                return children[index].royale_wrapper;
-            }
-        }        
-        
-        /**
-         *  @copy org.apache.royale.core.IParent#getElementIndex()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        public function getElementIndex(c:IChild):int
-        {
-            COMPILE::SWF
-            {
-                if (c is IRenderedObject)
-                    return getChildIndex(IRenderedObject(c).$displayObject);
-                else
-                    return getChildIndex(c as DisplayObject);
-            }
-            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.royale.core.IParent#removeElement()
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-                *  @royaleignorecoercion HTMLElement
-         */
-        public function removeElement(c:IChild, dispatchEvent:Boolean = 
true):void
-        {
-            COMPILE::SWF
-            {
-                if (c is IRenderedObject)
-                    removeChild(IRenderedObject(c).$displayObject);
-                else
-                    removeChild(c as DisplayObject);
-            }
-            COMPILE::JS
-            {
-                element.removeChild(c.element as HTMLElement);
-            }
-        }
-               
-        /**
-         *  @copy org.apache.royale.core.IParent#numElements
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         */
-        public function get numElements():int
-        {
-            COMPILE::SWF
-            {
-                return numChildren;
-            }
-            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 Royale 0.0
-         *  @royaleignorecoercion Class
-         *  @royaleignorecoercion Number
-         */
-        public function addedToParent():void
-        {
-            var c:Class;
-                       
-            COMPILE::JS
-            {
-                           setClassName(computeFinalClassNames());
-                
-                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);
-                
-                       loadBeadFromValuesManager(IBeadModel, "iBeadModel", 
this);
-            loadBeadFromValuesManager(IBeadView, "iBeadView", this);
-                       loadBeadFromValuesManager(IBeadController, 
"iBeadController", this);
-            dispatchEvent(new Event("beadsAdded"));
-        }
-
-        private var _measurementBead:IMeasurementBead;
-        /**
-         *  A measurement bead, if one exists.
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.9
-         *  @royaleignorecoercion org.apache.royale.core.IMeasurementBead
-         */
-               public function get measurementBead() : IMeasurementBead
-               {
-            if(!_measurementBead)
-            {
-                           _measurementBead = 
loadBeadFromValuesManager(IMeasurementBead, "iMeasurementBead", this) as 
IMeasurementBead;
-            }
-            return _measurementBead;
-               }
-        
-        COMPILE::SWF
-        private var _stageProxy:StageProxy;
-        
-        /**
-         *  @copy org.apache.royale.core.IUIBase#topMostEventDispatcher
-         * 
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion Royale 0.0
-         *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
-         */
-               public function get topMostEventDispatcher():IEventDispatcher
-        {
-            COMPILE::SWF
-            {
-                if (!_stageProxy)
-                {
-                    _stageProxy = new StageProxy(stage);
-                    _stageProxy.addEventListener("removedFromStage", 
stageProxy_removedFromStageHandler);
-                }
-                
-                return _stageProxy;
-            }
-            COMPILE::JS
-            {
-                var e:WrappedHTMLElement = document.body as WrappedHTMLElement;
-                return e.royale_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);
-        }
-        
-        /**
-         * The HTMLElement used to position the component.
-         */
-        COMPILE::JS
-        public function get positioner():WrappedHTMLElement
-        {
-            return element;
-        }
-        
-        /**
-         * @private
-         */
-        COMPILE::JS
-        public function set positioner(value:WrappedHTMLElement):void
-        {
-            element = value;
-        }
-        
-        /**
-         * @return The actual element to be parented.
-         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        protected function createElement():WrappedHTMLElement
-        {
-                       addElementToWrapper(this,'div');
-            positioner.style.display = 'block';
-            //positioner.style.position = 'relative';
-            return element;
-        }
-        
-        
-        /**
-         * The HTMLElement used to position the component.
-         * @royaleignorecoercion 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);
-        }
-
-        /**
-         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         * @royaleignorecoercion org.apache.royale.core.IParent
-         */
-        COMPILE::JS
-        public function get parent():IParent
-        {
-            var p:WrappedHTMLElement = this.positioner.parentNode as 
WrappedHTMLElement;
-            var wrapper:IParent = p ? p.royale_wrapper as IParent : null;
-            return wrapper;
-        }
-        
-        COMPILE::SWF
-        {
-        [SWFOverride(returns="flash.display.DisplayObjectContainer")]
-        override public function get parent():IParent
-        {
-            return super.parent as IParent;
-        }
-        }
-        
-               COMPILE::SWF
-               public function get transformElement():IRoyaleElement
-               {
-                       return this;
-               }
-               
-               COMPILE::JS
-               public function get transformElement():WrappedHTMLElement
-               {
-                       return element;
-               }
-        
-        COMPILE::SWF
-        {
-        [SWFOverride(params="flash.events.Event", 
altparams="org.apache.royale.events.Event:org.apache.royale.events.MouseEvent")]
-        override public function 
dispatchEvent(event:org.apache.royale.events.Event):Boolean
-        {
-            return super.dispatchEvent(event);
-        }
-        }
-
-       }
-}

-- 
To stop receiving notification emails like this one, please contact
carlosrov...@apache.org.

Reply via email to