http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as index 081a8be..c37ee77 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIButtonBase.as @@ -28,9 +28,9 @@ package org.apache.flex.core import org.apache.flex.core.IUIBase; import org.apache.flex.core.ValuesManager; import org.apache.flex.events.Event; - import org.apache.flex.events.utils.MouseEventConverter; import org.apache.flex.events.EventDispatcher; - import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.utils.MouseEventConverter; //-------------------------------------- // Events @@ -49,8 +49,9 @@ package org.apache.flex.core [Event(name="click", type="org.apache.flex.events.MouseEvent")] /** - * The UIButtonBase class is the base class for most Buttons in a FlexJS - * application. In Flash, these buttons extend SimpleButton and therefore + * 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 @@ -59,7 +60,7 @@ package org.apache.flex.core * @productversion FlexJS 0.0 */ COMPILE::SWF - public class UIButtonBase extends EventDispatcher implements IStrandWithModel, IEventDispatcher, IUIBase, IStyleableObject, ILayoutChild + public class UIButtonBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IUIBase, IStyleableObject, ILayoutChild { /** * Constructor. @@ -69,69 +70,32 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function UIButtonBase(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null) + public function UIButtonBase() { - _button = new WrappedSimpleButton(upState, overState, downState, hitTestState); - _button.flexjs_wrapper = this; - - // mouseChildren = true; // mouseEnabled = true; MouseEventConverter.setupInstanceConverters(this); } - private var _button:WrappedSimpleButton; - - public function get $button():SimpleButton + protected function createElement():IFlexJSElement { - return _button; - } - - public function get $displayObject():DisplayObject - { - return _button; + element = _button = new WrappedSimpleButton(); + _button.flexjs_wrapper = this; + return element; } + private var _button:WrappedSimpleButton; - /** - * @copy org.apache.flex.core.HTMLElementWrapper#element - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - public function get element():IFlexJSElement + public function get $button():SimpleButton { return _button; } - private var _parent:IParent; - public function get parent():IParent - { - return _parent; - } - public function set parent(val:IParent):void - { - _parent = val; - } - - public function get alpha():Number - { - return _button.alpha; - } - - public function set alpha(value:Number):void - { - _button.alpha = value; - } - - private var _x:Number; /** * @private */ - public function set x(value:Number):void + override public function set x(value:Number):void { if (_button.x != value) { _button.x = _x = value; @@ -142,17 +106,13 @@ package org.apache.flex.core dispatchEvent(new Event("xChanged")); } } - public function get x():Number - { - return _x; - } private var _y:Number; - + /** * @private */ - public function set y(value:Number):void + override public function set y(value:Number):void { if (_button.y != value) { _button.y = _y = value; @@ -164,11 +124,6 @@ package org.apache.flex.core } } - public function get y():Number - { - return _y; - } - /** * Retrieve the low-level bounding box y. * @@ -346,7 +301,7 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function get width():Number + override public function get width():Number { if (isNaN(explicitWidth)) { @@ -361,7 +316,7 @@ package org.apache.flex.core /** * @private */ - public function set width(value:Number):void + override public function set width(value:Number):void { if (explicitWidth != value) { @@ -397,7 +352,7 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function get height():Number + override public function get height():Number { if (isNaN(explicitHeight)) { @@ -412,7 +367,7 @@ package org.apache.flex.core /** * @private */ - public function set height(value:Number):void + override public function set height(value:Number):void { if (explicitHeight != value) { @@ -541,14 +496,14 @@ package org.apache.flex.core * @private */ [Bindable("visibleChanged")] - public function set visible(value:Boolean):void + override public function set visible(value:Boolean):void { _button.visible = value; dispatchEvent(new Event(value?"show":"hide")); dispatchEvent(new Event("visibleChanged")); } - public function get visible():Boolean + override public function get visible():Boolean { return _button.visible; } @@ -566,38 +521,6 @@ package org.apache.flex.core return (isNaN(_explicitHeight) && isNaN(_percentHeight)); } - private var _model:IBeadModel; - - /** - * @copy org.apache.flex.core.UIBase#model - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - public function get model():Object - { - if (_model == null) - { - // addbead will set _model - addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead); - } - return _model; - } - - /** - * @private - */ - public function set model(value:Object):void - { - if (_model != value) - { - addBead(value as IBead); - dispatchEvent(new Event("modelChanged")); - } - } - private var _view:IBeadView; /** @@ -772,60 +695,15 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function addBead(bead:IBead):void + override public function addBead(bead:IBead):void { - if (!strand) - strand = new Vector.<IBead>; - strand.push(bead); - if (bead is IBeadModel) - _model = bead as IBeadModel; - else if (bead is IBeadView) + super.addBead(bead); + if (bead is IBeadView) _view = bead as IBeadView; bead.strand = this; } /** - * @copy org.apache.flex.core.UIBase#getBeadByType() - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - public function getBeadByType(classOrInterface:Class):IBead - { - for each (var bead:IBead in strand) - { - if (bead is classOrInterface) - return bead; - } - return null; - } - - /** - * @copy org.apache.flex.core.UIBase#removeBead() - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - public function removeBead(value:IBead):IBead - { - var n:int = strand.length; - for (var i:int = 0; i < n; i++) - { - var bead:IBead = strand[i]; - if (bead == value) - { - strand.splice(i, 1); - return bead; - } - } - return null; - } - - /** * @copy org.apache.flex.core.UIBase#addToParent() * * @langversion 3.0
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as new file mode 100644 index 0000000..5f82f4a --- /dev/null +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/UIHTMLElementWrapper.as @@ -0,0 +1,257 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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.DisplayObjectContainer; + 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.utils.MouseEventConverter; + import org.apache.flex.events.EventDispatcher; + import org.apache.flex.events.IEventDispatcher; + + //-------------------------------------- + // 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 + */ + public class UIHTMLElementWrapper extends HTMLElementWrapper implements IStrandWithModel, IEventDispatcher + { + /** + * Constructor. + * + * @langversion 3. + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function UIHTMLElementWrapper() + { + } + + COMPILE::JS + private var _positioner:WrappedHTMLElement; + + /** + * The HTMLElement used to position the component. + */ + COMPILE::JS + public function get positioner():WrappedHTMLElement + { + return _positioner; + } + + /** + * @private + */ + COMPILE::JS + public function set positioner(value:WrappedHTMLElement):void + { + _positioner = value; + } + + /** + * allow access from overrides + */ + protected var _model:IBeadModel; + + /** + * @flexjsignorecoercion Class + * @flexjsignorecoercion org.apache.flex.core.IBeadModel + */ + public function get model():Object + { + if (_model == null) + { + // addbead will set _model + var m:Class = org.apache.flex.core.ValuesManager.valuesImpl. + getValue(this, 'iBeadModel') as Class; + var b:IBeadModel = new m() as IBeadModel; + addBead(b); + } + return _model; + } + + [Bindable("modelChanged")] + public function set model(value:Object):void + { + if (_model != value) + { + addBead(value as IBead); + dispatchEvent(new org.apache.flex.events.Event("modelChanged")); + } + } + + /** + * @param bead The new bead. + */ + override public function addBead(bead:IBead):void + { + if (!_beads) + { + _beads = new Vector.<IBead>(); + } + + _beads.push(bead); + + if (bead is IBeadModel) + { + _model = bead as IBeadModel; + } + + bead.strand = this; + } + + COMPILE::SWF + public function get $displayObjectContainer():DisplayObjectContainer + { + return _element as DisplayObjectContainer; + } + + COMPILE::SWF + public function get $displayObject():DisplayObject + { + return _element as DisplayObject; + } + + COMPILE::SWF + public function get width():Number + { + return $displayObject.width; + } + + COMPILE::SWF + public function set width(value:Number):void + { + $displayObject.width = value; + } + + COMPILE::SWF + public function get height():Number + { + return $displayObject.height; + } + + COMPILE::SWF + public function set height(value:Number):void + { + $displayObject.height = value; + } + + COMPILE::SWF + public function get x():Number + { + return $displayObject.x; + } + + COMPILE::SWF + public function set x(value:Number):void + { + $displayObject.x = value; + } + + COMPILE::SWF + public function get y():Number + { + return $displayObject.y; + } + + COMPILE::SWF + public function set y(value:Number):void + { + $displayObject.y = value; + } + + COMPILE::SWF + public function get visible():Boolean + { + return $displayObject.visible; + } + + COMPILE::SWF + public function set visible(value:Boolean):void + { + $displayObject.visible = value; + } + + COMPILE::SWF + public function get alpha():Number + { + return $displayObject.alpha; + } + + COMPILE::SWF + public function set alpha(value:Number):void + { + $displayObject.alpha = value; + } + + /** + * @param value The event containing new style properties. + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + * @flexjsignorecoercion org.apache.flex.core.IParent + */ + public function get parent():IParent + { + COMPILE::JS + { + var p:WrappedHTMLElement = this.positioner.parentNode as WrappedHTMLElement; + } + COMPILE::SWF + { + var p:IFlexJSElement = this.$displayObject.parent as IFlexJSElement; + } + var wrapper:IParent = p ? p.flexjs_wrapper as IParent : null; + return wrapper; + } + + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedHTMLElement.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedHTMLElement.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedHTMLElement.as index b5ff7ba..e906cdd 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedHTMLElement.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedHTMLElement.as @@ -19,7 +19,7 @@ package org.apache.flex.core { COMPILE::JS - public class WrappedHTMLElement extends HTMLElement + public class WrappedHTMLElement extends HTMLElement implements IFlexJSElement { //-------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as new file mode 100644 index 0000000..195e8d9 --- /dev/null +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedMovieClip.as @@ -0,0 +1,52 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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.MovieClip; + } + + COMPILE::SWF + public class WrappedMovieClip extends MovieClip implements IFlexJSElement + { + private var _flexjs_wrapper:HTMLElementWrapper; + + //-------------------------------------- + // Property + //-------------------------------------- + + /** + * A pointer back to the instance that wrapped this element. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get flexjs_wrapper():HTMLElementWrapper + { + return _flexjs_wrapper; + } + public function set flexjs_wrapper(value:HTMLElementWrapper):void + { + _flexjs_wrapper = value; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as index 80e3378..eb90a21 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedShape.as @@ -26,11 +26,12 @@ package org.apache.flex.core COMPILE::SWF public class WrappedShape extends Shape implements IFlexJSElement { - - //-------------------------------------- - // Property - //-------------------------------------- - + private var _flexjs_wrapper:HTMLElementWrapper; + + //-------------------------------------- + // Property + //-------------------------------------- + /** * A pointer back to the instance that wrapped this element. * @@ -39,6 +40,13 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public var flexjs_wrapper:Object; + public function get flexjs_wrapper():HTMLElementWrapper + { + return _flexjs_wrapper; + } + public function set flexjs_wrapper(value:HTMLElementWrapper):void + { + _flexjs_wrapper = value; + } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as index 56bb3d0..00249a0 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSimpleButton.as @@ -33,10 +33,12 @@ package org.apache.flex.core } - //-------------------------------------- - // Property - //-------------------------------------- - + private var _flexjs_wrapper:HTMLElementWrapper; + + //-------------------------------------- + // Property + //-------------------------------------- + /** * A pointer back to the instance that wrapped this element. * @@ -45,6 +47,13 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public var flexjs_wrapper:Object; + public function get flexjs_wrapper():HTMLElementWrapper + { + return _flexjs_wrapper; + } + public function set flexjs_wrapper(value:HTMLElementWrapper):void + { + _flexjs_wrapper = value; + } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as index f2919b3..e00e9f8 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedSprite.as @@ -27,10 +27,12 @@ package org.apache.flex.core public class WrappedSprite extends Sprite implements IFlexJSElement { - //-------------------------------------- - // Property - //-------------------------------------- - + private var _flexjs_wrapper:HTMLElementWrapper; + + //-------------------------------------- + // Property + //-------------------------------------- + /** * A pointer back to the instance that wrapped this element. * @@ -39,6 +41,13 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public var flexjs_wrapper:Object; + public function get flexjs_wrapper():HTMLElementWrapper + { + return _flexjs_wrapper; + } + public function set flexjs_wrapper(value:HTMLElementWrapper):void + { + _flexjs_wrapper = value; + } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as index c998ca5..bc36bad 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/WrappedTextField.as @@ -27,6 +27,8 @@ package org.apache.flex.core public class WrappedTextField extends TextField implements IFlexJSElement { + private var _flexjs_wrapper:HTMLElementWrapper; + //-------------------------------------- // Property //-------------------------------------- @@ -39,6 +41,13 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public var flexjs_wrapper:Object; + public function get flexjs_wrapper():HTMLElementWrapper + { + return _flexjs_wrapper; + } + public function set flexjs_wrapper(value:HTMLElementWrapper):void + { + _flexjs_wrapper = value; + } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/DisplayUtils.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/DisplayUtils.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/DisplayUtils.as index 3655b5a..54b1f99 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/DisplayUtils.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/DisplayUtils.as @@ -52,7 +52,7 @@ package org.apache.flex.utils COMPILE::JS { - var r:Object = obj.element.getBoundingClientRect(); + var r:Object = (obj.element as HTMLElement).getBoundingClientRect(); var bounds:Rectangle = new Rectangle(r.x, r.y, r.width, r.height); bounds.x -= window.pageXOffset; bounds.y -= window.pageYOffset; @@ -81,8 +81,8 @@ package org.apache.flex.utils COMPILE::JS { - var r1:Object = obj1.element.getBoundingClientRect(); - var r2:Object = obj2.element.getBoundingClientRect(); + var r1:Object = (obj1.element as HTMLElement).getBoundingClientRect(); + var r2:Object = (obj2.element as HTMLElement).getBoundingClientRect(); var bounds1:Rectangle = new Rectangle(r1.x, r1.y, r1.width, r1.height); var bounds2:Rectangle = new Rectangle(r2.x, r2.y, r2.width, r2.height); @@ -115,7 +115,7 @@ package org.apache.flex.utils COMPILE::JS { - var result:Array = examineElementsUnderPoint(x,y,obj.element); + var result:Array = examineElementsUnderPoint(x,y,obj.element as HTMLElement); return result.length > 0; } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as index 9af7640..058c5b8 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as @@ -168,6 +168,7 @@ public class MXMLDataInterpreter /** * @flexjsignorecoercion Function + * @flexjsignorecoercion org.apache.flex.core.IChild */ private static function initializeStrandBasedObject(document:Object, parent:IParent, comp:Object, data:Array, i:int):int { @@ -296,12 +297,12 @@ public class MXMLDataInterpreter COMPILE::SWF { if (parent && comp is IChild) - parent.addElement(comp, !(parent is IContainer)); + parent.addElement(comp as IChild, !(parent is IContainer)); } COMPILE::JS { if (parent && comp is IChild) - parent.addElement(comp, !(parent is IContainer)); + parent.addElement(comp as IChild, !(parent is IContainer)); } if (children) http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as index 4e5cfed..5f4382d 100644 --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as @@ -29,7 +29,7 @@ COMPILE::SWF import flash.ui.ContextMenuItem; } -import org.apache.flex.core.HTMLElementWrapper; +import org.apache.flex.core.UIHTMLElementWrapper; import org.apache.flex.core.IBead; import org.apache.flex.core.IStrand; @@ -74,7 +74,7 @@ public class ViewSourceContextMenuOption implements IBead COMPILE::SWF { - var menuHost:InteractiveObject = InteractiveObject(HTMLElementWrapper(value).$sprite); + var menuHost:InteractiveObject = InteractiveObject(UIHTMLElementWrapper(value).$displayObject); var cm:ContextMenu = ContextMenu(menuHost.contextMenu); if (!cm) { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as index db85a4a..333dae7 100644 --- a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as +++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as @@ -20,8 +20,10 @@ package org.apache.flex.createjs { import org.apache.flex.core.ApplicationBase; import org.apache.flex.core.IApplicationView; - import org.apache.flex.core.IParent; + import org.apache.flex.core.IChild; + import org.apache.flex.core.IParent; import org.apache.flex.core.IStrand; + import org.apache.flex.core.IUIBase; import org.apache.flex.core.IValuesImpl; import org.apache.flex.core.ValuesManager; import org.apache.flex.events.Event; @@ -318,11 +320,12 @@ package org.apache.flex.createjs * @playerversion AIR 2.6 * @productversion FlexJS 0.0 * @flexjsignorecoercion createjs.DisplayObject + * @flexjsignorecoercion org.apache.flex.core.IUIBase */ - public function addElement(c:Object, dispatchEvent:Boolean = true):void + public function addElement(c:IChild, dispatchEvent:Boolean = true):void { stage.addChild(c.element as DisplayObject); - c.addedToParent(); + (c as IUIBase).addedToParent(); } /** @@ -332,12 +335,12 @@ package org.apache.flex.createjs * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion FlexJS 0.0 - * @flexjsignorecoercion createjs.DisplayObject + * @flexjsignorecoercion org.apache.flex.core.IUIBase */ - public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void + public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void { stage.addChildAt(c.element as DisplayObject, index); - c.addedToParent(); + (c as IUIBase).addedToParent(); } /** @@ -348,11 +351,12 @@ package org.apache.flex.createjs * @playerversion AIR 2.6 * @productversion FlexJS 0.0 * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + * @flexjsignorecoercion org.apache.flex.core.IChild */ - public function getElementAt(index:int):Object + public function getElementAt(index:int):IChild { var c:WrappedHTMLElement = stage.getChildAt(index) as WrappedHTMLElement; - return c.flexjs_wrapper; + return c.flexjs_wrapper as IChild; } /** @@ -364,7 +368,7 @@ package org.apache.flex.createjs * @productversion FlexJS 0.0 * @flexjsignorecoercion createjs.DisplayObject */ - public function getElementIndex(c:Object):int + public function getElementIndex(c:IChild):int { return stage.getChildIndex(c.element as DisplayObject) } @@ -377,7 +381,7 @@ package org.apache.flex.createjs * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function removeElement(c:Object, dispatchEvent:Boolean = true):void + public function removeElement(c:IChild, dispatchEvent:Boolean = true):void { stage.removeChild(c.element as DisplayObject); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/UIBase.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/UIBase.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/UIBase.as index 10c85c8..d29fa51 100644 --- a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/UIBase.as +++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/UIBase.as @@ -18,10 +18,12 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.createjs.core { - import org.apache.flex.core.HTMLElementWrapper; + import org.apache.flex.core.UIHTMLElementWrapper; + import org.apache.flex.core.IChild; import org.apache.flex.core.IStrand; import org.apache.flex.core.IStrandWithModel; - import org.apache.flex.core.IParentIUIBase; + import org.apache.flex.core.IParent; + import org.apache.flex.core.IParentIUIBase; import org.apache.flex.core.IStyleableObject; import org.apache.flex.core.ILayoutChild; import org.apache.flex.core.IBeadModel; @@ -62,7 +64,7 @@ package org.apache.flex.createjs.core } COMPILE::JS - public class UIBase extends HTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IUIBase, IFlexJSElement + public class UIBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IUIBase, IFlexJSElement { /** * Constructor. @@ -336,7 +338,7 @@ package org.apache.flex.createjs.core * @flexjsignorecoercion createjs.Container * @flexjsignorecoercion createjs.DisplayObject */ - public function addElement(c:Object, dispatchEvent:Boolean = true):void + public function addElement(c:IChild, dispatchEvent:Boolean = true):void { (element as Container).addChild(c.element as DisplayObject); } @@ -345,7 +347,7 @@ package org.apache.flex.createjs.core * @flexjsignorecoercion createjs.Container * @flexjsignorecoercion createjs.DisplayObject */ - public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void + public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void { (element as Container).addChildAt(c.element as DisplayObject, index); } @@ -355,7 +357,7 @@ package org.apache.flex.createjs.core * @flexjsignorecoercion createjs.Container * @flexjsignorecoercion createjs.DisplayObject */ - public function getElementIndex(c:Object):int + public function getElementIndex(c:IChild):int { return (element as Container).getChildIndex(c.element as DisplayObject); } @@ -365,7 +367,7 @@ package org.apache.flex.createjs.core * @flexjsignorecoercion createjs.Container * @flexjsignorecoercion createjs.DisplayObject */ - public function removeElement(c:Object, dispatchEvent:Boolean = true):void + public function removeElement(c:IChild, dispatchEvent:Boolean = true):void { (element as Container).removeChild(c.element as DisplayObject); } @@ -374,10 +376,11 @@ package org.apache.flex.createjs.core /** * @flexjsignorecoercion createjs.Container * @flexjsignorecoercion createjs.DisplayObject + * @flexjsignorecoercion org.apache.flex.core.IChild */ - public function getElementAt(index:int):Object + public function getElementAt(index:int):IChild { - return (element as Container).getChildAt(index); + return (element as Container).getChildAt(index) as IChild; } @@ -670,34 +673,16 @@ package org.apache.flex.createjs.core (positioner as DisplayObject).alpha = value; } - private var _positioner:WrappedHTMLElement; - - /** - * The HTMLElement used to position the component. - */ - public function get positioner():WrappedHTMLElement - { - return _positioner; - } - - /** - * @private - */ - public function set positioner(value:WrappedHTMLElement):void - { - _positioner = value; - } - /** * @flexjsignorecoercion createjs.Container * @flexjsignorecoercion createjs.DisplayObject * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement */ - public function get parent():IUIBase + override public function get parent():IParent { var pos:createjs.DisplayObject = this.positioner as createjs.DisplayObject; var p:WrappedHTMLElement = pos['parent'] as WrappedHTMLElement; - var wrapper:IUIBase = p ? p.flexjs_wrapper as IUIBase : null; + var wrapper:IParent = p ? p.flexjs_wrapper as IParent : null; return wrapper; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as b/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as index 12f42e3..a226858 100644 --- a/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as +++ b/frameworks/projects/DragDrop/src/main/flex/org/apache/flex/events/DragEvent.as @@ -337,6 +337,7 @@ package org.apache.flex.events * @playerversion AIR 2.6 * @productversion FlexJS 0.0 * @flexjsignorecoercion org.apache.flex.core.IUIBase + * @flexjsignorecoercion org.apache.flex.events.IEventDispatcher * @flexjsignorecoercion window.Event */ public static function dispatchDragEvent(event:DragEvent, target:IEventDispatcher):void @@ -347,7 +348,7 @@ package org.apache.flex.events } COMPILE::JS { - (target as IUIBase).element.dispatchEvent(event as window.Event); + ((target as IUIBase).element as IEventDispatcher).dispatchEvent(event as window.Event); } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Effects/src/main/flex/org/apache/flex/core/StatesWithTransitionsImpl.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/core/StatesWithTransitionsImpl.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/core/StatesWithTransitionsImpl.as index 76a879f..cc58ef6 100644 --- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/core/StatesWithTransitionsImpl.as +++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/core/StatesWithTransitionsImpl.as @@ -19,6 +19,7 @@ package org.apache.flex.core { + import org.apache.flex.core.IChild; import org.apache.flex.core.IParent; import org.apache.flex.core.IStatesObject; import org.apache.flex.effects.Effect; @@ -191,7 +192,7 @@ package org.apache.flex.core } } - private function isItemInState(child:Object, s:State):Boolean + private function isItemInState(child:IChild, s:State):Boolean { if (s == null) return false; @@ -286,7 +287,7 @@ package org.apache.flex.core } } var childrenAdded:Boolean = false; - for each (var item:Object in ai.items) + for each (var item:IChild in ai.items) { if (!isItemInState(item, oldState)) { @@ -295,9 +296,9 @@ package org.apache.flex.core parent = parent[ai.destination] as IParent; if (ai.relativeTo != null) { - var child:Object = ai.document[ai.relativeTo]; + var child:IChild = ai.document[ai.relativeTo] as IChild; if (ai.destination) - parent = IChild(child).parent as IParent; + parent = child.parent as IParent; var index:int = parent.getElementIndex(child); if (ai.position == "after") index++; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSContentAndTextToggleButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSContentAndTextToggleButtonView.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSContentAndTextToggleButtonView.as index 8eff640..ecb1c1e 100644 --- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSContentAndTextToggleButtonView.as +++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSContentAndTextToggleButtonView.as @@ -132,8 +132,8 @@ package org.apache.flex.flat.beads var icon:StyleableCSSTextField = new StyleableCSSTextField(); icon.name = "icon"; icon.className = className + suffixMap[p]; - s.addChild(icon.$textField); - s.addChild(tf.$textField); + s.addChild(icon); + s.addChild(tf); } _toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel; @@ -225,7 +225,7 @@ package org.apache.flex.flat.beads var parent:CSSTextField; for each(parent in textFields) { - if(parent.$textField == tf) + if(parent == tf) return parent; } return null; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSScrollBarButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSScrollBarButtonView.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSScrollBarButtonView.as index edd4136..09669c4 100644 --- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSScrollBarButtonView.as +++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/CSSScrollBarButtonView.as @@ -66,9 +66,9 @@ package org.apache.flex.flat.beads downArrowShape = new CSSShape(); overArrowShape = new CSSShape(); overArrowShape.state = "hover"; - upSprite.addChild(upArrowShape.$shape); - downSprite.addChild(downArrowShape.$shape); - overSprite.addChild(overArrowShape.$shape); + upSprite.addChild(upArrowShape); + downSprite.addChild(downArrowShape); + overSprite.addChild(overArrowShape); } private var textModel:ITextModel; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as index 0b98907..e37a3b3 100644 --- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as +++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as @@ -30,18 +30,20 @@ package org.apache.flex.flat.beads import org.apache.flex.core.CSSSprite; import org.apache.flex.core.CSSTextField; import org.apache.flex.core.IBeadView; + import org.apache.flex.core.IChild; import org.apache.flex.core.ILayoutChild; import org.apache.flex.core.IPopUpHost; import org.apache.flex.core.ISelectionModel; import org.apache.flex.core.IStrand; import org.apache.flex.core.IUIBase; + import org.apache.flex.core.UIBase; import org.apache.flex.core.ValuesManager; - import org.apache.flex.core.UIBase; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.html.Button; import org.apache.flex.html.beads.IDropDownListView; - import org.apache.flex.html.Button; import org.apache.flex.utils.CSSUtils; + import org.apache.flex.utils.UIUtils; /** * The DropDownListView class is the default view for @@ -77,9 +79,9 @@ package org.apache.flex.flat.beads upTextField = new CSSTextField(); downTextField = new CSSTextField(); overTextField = new CSSTextField(); - upSprite.$sprite.addChild(upTextField.$textField); - overSprite.$sprite.addChild(overTextField.$textField); - downSprite.$sprite.addChild(downTextField.$textField); + upSprite.addChild(upTextField); + overSprite.addChild(overTextField); + downSprite.addChild(downTextField); upTextField.selectable = false; upTextField.parentDrawsBackground = true; upTextField.parentHandlesPadding = true; @@ -103,9 +105,9 @@ package org.apache.flex.flat.beads overArrows.className = 'dropdown-caret'; downArrows = new CSSShape(); downArrows.className = 'dropdown-caret'; - upSprite.$sprite.addChild(upArrows.$shape); - overSprite.$sprite.addChild(overArrows.$shape); - downSprite.$sprite.addChild(downArrows.$shape); + upSprite.addChild(upArrows); + overSprite.addChild(overArrows); + downSprite.addChild(downArrows); } @@ -134,9 +136,9 @@ package org.apache.flex.flat.beads shape.graphics.beginFill(0xCCCCCC); shape.graphics.drawRect(0, 0, 10, 10); shape.graphics.endFill(); - b.$button.upState = upSprite.$sprite; - b.$button.downState = downSprite.$sprite; - b.$button.overState = overSprite.$sprite; + b.$button.upState = upSprite; + b.$button.downState = downSprite; + b.$button.overState = overSprite; b.$button.hitTestState = shape; if (selectionModel.selectedIndex !== -1) selectionChangeHandler(null); @@ -289,21 +291,19 @@ package org.apache.flex.flat.beads */ public function set popUpVisible(value:Boolean):void { + var host:IPopUpHost; if (value != _popUpVisible) { _popUpVisible = value; if (value) { - var root:Object = UIBase(_strand).$sprite.root; - var host:DisplayObjectContainer = UIBase(_strand).$sprite.parent; - while (host && !(host is IPopUpHost)) - host = host.parent; - if (host) - IPopUpHost(host).addElement(popUp); + host = UIUtils.findPopUpHost(_strand as IUIBase); + IPopUpHost(host).addElement(popUp as IChild); } else { - DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject); + host = UIUtils.findPopUpHost(_strand as IUIBase); + IPopUpHost(host).removeElement(popUp as IChild); } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/beads/FormatableTextInputView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/beads/FormatableTextInputView.as b/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/beads/FormatableTextInputView.as index d176e7b..926253c 100644 --- a/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/beads/FormatableTextInputView.as +++ b/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/beads/FormatableTextInputView.as @@ -85,7 +85,7 @@ package org.apache.flex.html.beads // move the cursor to the end var l:int = this.textField.text.length; - this.textField.$textField.setSelection(l,l); + this.textField.setSelection(l,l); } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/CompoundGraphic.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/CompoundGraphic.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/CompoundGraphic.as index 43bae5c..351f871 100644 --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/CompoundGraphic.as +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/CompoundGraphic.as @@ -513,7 +513,7 @@ package org.apache.flex.svg COMPILE::SWF { var textField:CSSTextField = new CSSTextField(); - $sprite.addChild(textField.$textField); + $sprite.addChild(textField); textField.selectable = false; textField.type = TextFieldType.DYNAMIC; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicContainer.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicContainer.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicContainer.as index 48c51d1..8c3637f 100644 --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicContainer.as +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicContainer.as @@ -14,6 +14,7 @@ package org.apache.flex.svg { import org.apache.flex.core.ContainerBase; + import org.apache.flex.core.IChild; import org.apache.flex.core.IFlexJSElement; import org.apache.flex.core.ITransformHost; @@ -85,7 +86,7 @@ package org.apache.flex.svg * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - override public function getElementAt(index:int):Object + override public function getElementAt(index:int):IChild { return graphicGroup.getElementAt(index); } @@ -98,7 +99,7 @@ package org.apache.flex.svg * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - override public function addElement(c:Object, dispatchEvent:Boolean = true):void + override public function addElement(c:IChild, dispatchEvent:Boolean = true):void { graphicGroup.addElement(c, dispatchEvent); if (dispatchEvent) @@ -113,7 +114,7 @@ package org.apache.flex.svg * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - override public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void + override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void { graphicGroup.addElementAt(c, index, dispatchEvent); if (dispatchEvent) @@ -128,7 +129,7 @@ package org.apache.flex.svg * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - override public function removeElement(c:Object, dispatchEvent:Boolean = true):void + override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void { graphicGroup.removeElement(c, dispatchEvent); if (dispatchEvent) @@ -156,7 +157,7 @@ package org.apache.flex.svg * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - override public function getElementIndex(c:Object):int + override public function getElementIndex(c:IChild):int { return graphicGroup.getElementIndex(c); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicShape.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicShape.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicShape.as index 78b8820..4d113a4 100644 --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicShape.as +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/GraphicShape.as @@ -17,14 +17,17 @@ package org.apache.flex.svg COMPILE::SWF { import flash.display.Graphics; + import flash.display.Sprite; import flash.geom.Point; import flash.geom.Rectangle; + import org.apache.flex.core.WrappedSprite; } COMPILE::JS { import org.apache.flex.core.WrappedHTMLElement; } + import org.apache.flex.core.IFlexJSElement; import org.apache.flex.core.UIBase; import org.apache.flex.graphics.IFill; import org.apache.flex.graphics.IStroke; @@ -32,6 +35,14 @@ package org.apache.flex.svg public class GraphicShape extends UIBase implements IGraphicShape { + + COMPILE::SWF + override protected function createElement():IFlexJSElement + { + element = new WrappedSprite(); + return element; + } + private var _fill:IFill; private var _stroke:IStroke; @@ -84,7 +95,7 @@ package org.apache.flex.svg * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement */ COMPILE::JS - override protected function createElement():WrappedHTMLElement + override protected function createElement():IFlexJSElement { element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement; element.flexjs_wrapper = this; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/LinearGradient.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/LinearGradient.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/LinearGradient.as index ab681ff..2aa6d46 100644 --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/LinearGradient.as +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/LinearGradient.as @@ -74,12 +74,14 @@ package org.apache.flex.svg * @param value The IGraphicShape object on which the fill must be added. * @return {string} * @flexjsignorecoercion Node + * @flexjsignorecoercion HTMLElement */ COMPILE::JS public function addFillAttrib(value:IGraphicShape):String { //Create and add a linear gradient def - var svgNS:String = value.element.namespaceURI; + var valueElement:HTMLElement = value.element as HTMLElement; + var svgNS:String = valueElement.namespaceURI; var grad:HTMLElement = document.createElementNS(svgNS, 'linearGradient') as HTMLElement; var gradientId:String = this.newId; grad.setAttribute('id', gradientId); @@ -115,8 +117,8 @@ package org.apache.flex.svg //Add defs element if not available already //Add newly created gradient to defs element - var defs:Node = value.element.querySelector('defs') || - value.element.insertBefore(document.createElementNS(svgNS, 'defs'), value.element.firstChild); + var defs:Node = valueElement.querySelector('defs') || + valueElement.insertBefore(document.createElementNS(svgNS, 'defs'), valueElement.firstChild); defs.appendChild(grad); //Return the fill attribute http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Text.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Text.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Text.as index 31d4477..51b8135 100644 --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Text.as +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Text.as @@ -59,7 +59,7 @@ package org.apache.flex.svg COMPILE::SWF { _textField = new CSSTextField(); - $sprite.addChild(_textField.$textField); + $sprite.addChild(_textField); } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as index 9aa2254..39eaeef 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as @@ -67,9 +67,9 @@ package org.apache.flex.html * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - public function RadioButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null) + public function RadioButton() { - super(upState, overState, downState, hitTestState); + super(); addEventListener(org.apache.flex.events.MouseEvent.CLICK, internalMouseHandler); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as index ade2671..0da2bb8 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as @@ -142,7 +142,7 @@ package org.apache.flex.html.accessories textField.maxChars = maxChars; // listen for changes to this textField and prevent non-numeric values, such // as 34.09.94 - textField.$textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput); + textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput); } else { throw new Error("NumericOnlyTextInputBead requires strand to have an ITextFieldView bead"); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as index 28d70e5..65a5a24 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as @@ -135,11 +135,11 @@ package org.apache.flex.html.accessories var model:Object = UIBase(_strand).model; if (model.text != null && model.text.length > 0 ) { - if (promptAdded) UIBase(_strand).$sprite.removeChild(promptField.$textField); + if (promptAdded) UIBase(_strand).$displayObjectContainer.removeChild(promptField); promptAdded = false; } else { - if (!promptAdded) UIBase(_strand).$sprite.addChild(promptField.$textField); + if (!promptAdded) UIBase(_strand).$displayObjectContainer.addChild(promptField); promptField.text = prompt; promptAdded = true; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as index a4f73e2..e25628a 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as @@ -89,12 +89,12 @@ package org.apache.flex.html.beads loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { var host:UIBase = UIBase(_strand); if (bitmap) { - host.$sprite.removeChild(bitmap); + host.$displayObjectContainer.removeChild(bitmap); } bitmap = Bitmap(LoaderInfo(e.target).content); - host.$sprite.addChildAt(bitmap,0); + host.$displayObjectContainer.addChildAt(bitmap,0); if (isNaN(host.explicitWidth) && isNaN(host.percentWidth)) host.setWidth(loader.content.width); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as index f4d46a9..1c5bf89 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as @@ -82,9 +82,9 @@ package org.apache.flex.html.beads upTextField.autoSize = "left"; downTextField.autoSize = "left"; overTextField.autoSize = "left"; - upSprite.addChild(upTextField.$textField); - downSprite.addChild(downTextField.$textField); - overSprite.addChild(overTextField.$textField); + upSprite.addChild(upTextField); + downSprite.addChild(downTextField); + overSprite.addChild(overTextField); } private var textModel:ImageAndTextModel; @@ -148,10 +148,10 @@ package org.apache.flex.html.beads var sw:uint = IUIBase(_strand).width; var sh:uint = IUIBase(_strand).height; - textField.$textField.defaultTextFormat.leftMargin = 0; - textField.$textField.defaultTextFormat.rightMargin = 0; + textField.defaultTextFormat.leftMargin = 0; + textField.defaultTextFormat.rightMargin = 0; // set it again so it gets noticed - textField.$textField.defaultTextFormat = textField.$textField.defaultTextFormat; + textField.defaultTextFormat = textField.defaultTextFormat; var borderColor:uint; var borderThickness:uint; @@ -243,7 +243,7 @@ package org.apache.flex.html.beads { var loader:Loader = new Loader(); sprite.addChildAt(loader, 0); - sprite.addChild(textField.$textField); + sprite.addChild(textField); var url:String = backgroundImage as String; loader.load(new URLRequest(url)); loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as index 75d3023..0118a93 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as @@ -81,9 +81,9 @@ package org.apache.flex.html.beads upTextField.autoSize = "left"; downTextField.autoSize = "left"; overTextField.autoSize = "left"; - upSprite.addChild(upTextField.$textField); - downSprite.addChild(downTextField.$textField); - overSprite.addChild(overTextField.$textField); + upSprite.addChild(upTextField); + downSprite.addChild(downTextField); + overSprite.addChild(overTextField); } private function get host():IUIBase @@ -150,10 +150,10 @@ package org.apache.flex.html.beads var sw:uint = IUIBase(_strand).width; var sh:uint = IUIBase(_strand).height; - textField.$textField.defaultTextFormat.leftMargin = 0; - textField.$textField.defaultTextFormat.rightMargin = 0; + textField.defaultTextFormat.leftMargin = 0; + textField.defaultTextFormat.rightMargin = 0; // set it again so it gets noticed - textField.$textField.defaultTextFormat = textField.$textField.defaultTextFormat; + textField.defaultTextFormat = textField.defaultTextFormat; var borderColor:uint; var borderThickness:uint; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as index c418b8a..a04f2bf 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as @@ -76,7 +76,7 @@ package org.apache.flex.html.beads var icon:Shape = new Shape(); icon.name = "icon"; s.addChild(icon); - s.addChild(tf.$textField); + s.addChild(tf); } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as index 26cf103..b4cdac3 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as @@ -29,11 +29,15 @@ package org.apache.flex.html.beads import org.apache.flex.core.IPopUpHost; import org.apache.flex.core.IStrand; import org.apache.flex.core.ValuesManager; + import org.apache.flex.core.IChild; import org.apache.flex.core.IParent; + import org.apache.flex.core.IUIBase; + import org.apache.flex.core.UIBase; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; import org.apache.flex.html.Button; import org.apache.flex.html.TextInput; + import org.apache.flex.utils.UIUtils; /** * The ComboBoxView class creates the visual elements of the org.apache.flex.html.ComboBox @@ -136,7 +140,7 @@ package org.apache.flex.html.beads button.$button.upState = upSprite; button.$button.overState = overSprite; button.$button.downState = downSprite; - HTMLElementWrapper(strand).$sprite.addChild(button.$button); + UIBase(strand).$displayObjectContainer.addChild(button.$button); button.width = 18; button.height = 18; button.x = textInput.width; @@ -172,61 +176,64 @@ package org.apache.flex.html.beads sprite.graphics.lineTo(4,4); sprite.graphics.endFill(); } + + private var _popUp:IStrand; - private var _popUp:IStrand; - - /** - * The pop-up component that holds the selection list. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - public function get popUp():IStrand - { - return _popUp; - } - - private var _popUpVisible:Boolean; - - /** - * This property is true if the pop-up selection list is currently visible. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion FlexJS 0.0 - */ - public function get popUpVisible():Boolean - { - return _popUpVisible; - } - public function set popUpVisible(value:Boolean):void - { - if (value != _popUpVisible) - { - _popUpVisible = value; - if (value) - { - if (!_popUp) - { - var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class; - _popUp = new popUpClass() as IStrand; - } - var root:Object = DisplayObject(_strand).root; - var host:DisplayObjectContainer = DisplayObject(_strand).parent; - while (host && !(host is IPopUpHost)) - host = host.parent; - if (host) - IPopUpHost(host).addElement(popUp); - } - else - { - DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject); - } - } - } + /** + * The dropdown/popup that displays the set of choices. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get popUp():IStrand + { + if (!_popUp) + { + var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class; + _popUp = new popUpClass() as IStrand; + } + return _popUp; + } + + private var _popUpVisible:Boolean; + + /** + * A flag that indicates whether the dropdown/popup is + * visible. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get popUpVisible():Boolean + { + return _popUpVisible; + } + + /** + * @private + */ + public function set popUpVisible(value:Boolean):void + { + var host:IPopUpHost; + if (value != _popUpVisible) + { + _popUpVisible = value; + if (value) + { + host = UIUtils.findPopUpHost(_strand as IUIBase); + IPopUpHost(host).addElement(popUp as IChild); + } + else + { + host = UIUtils.findPopUpHost(_strand as IUIBase); + IPopUpHost(host).removeElement(popUp as IChild); + } + } + } /** * @private http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as index 0c6696a..d62e799 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as @@ -23,6 +23,7 @@ package org.apache.flex.html.beads import org.apache.flex.core.IBead; import org.apache.flex.core.IBeadLayout; import org.apache.flex.core.IBeadView; + import org.apache.flex.core.IChild; import org.apache.flex.core.IContainer; import org.apache.flex.core.IContainerView; import org.apache.flex.core.IContentViewHost; @@ -143,7 +144,7 @@ package org.apache.flex.html.beads /** * @private */ - public function addElement(c:Object, dispatchEvent:Boolean = true):void + public function addElement(c:IChild, dispatchEvent:Boolean = true):void { contentView.addElement(c, dispatchEvent); } @@ -151,7 +152,7 @@ package org.apache.flex.html.beads /** * @private */ - public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void + public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void { contentView.addElementAt(c, index, dispatchEvent); } @@ -159,7 +160,7 @@ package org.apache.flex.html.beads /** * @private */ - public function getElementIndex(c:Object):int + public function getElementIndex(c:IChild):int { return contentView.getElementIndex(c); } @@ -167,7 +168,7 @@ package org.apache.flex.html.beads /** * @private */ - public function removeElement(c:Object, dispatchEvent:Boolean = true):void + public function removeElement(c:IChild, dispatchEvent:Boolean = true):void { contentView.removeElement(c, dispatchEvent); } @@ -183,7 +184,7 @@ package org.apache.flex.html.beads /** * @private */ - public function getElementAt(index:int):Object + public function getElementAt(index:int):IChild { return contentView.getElementAt(index); } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as index 83ec293..198e787 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as @@ -29,13 +29,16 @@ package org.apache.flex.html.beads import org.apache.flex.core.BeadViewBase; import org.apache.flex.core.CSSTextField; import org.apache.flex.core.IBeadView; + import org.apache.flex.core.IChild; import org.apache.flex.core.IPopUpHost; import org.apache.flex.core.ISelectionModel; import org.apache.flex.core.IStrand; + import org.apache.flex.core.IUIBase; import org.apache.flex.core.ValuesManager; import org.apache.flex.events.Event; import org.apache.flex.events.IEventDispatcher; import org.apache.flex.utils.SolidBorderUtil; + import org.apache.flex.utils.UIUtils; /** * The DropDownListView class is the default view for @@ -67,9 +70,9 @@ package org.apache.flex.html.beads upTextField = new CSSTextField(); downTextField = new CSSTextField(); overTextField = new CSSTextField(); - upSprite.addChild(upTextField.$textField); - overSprite.addChild(overTextField.$textField); - downSprite.addChild(downTextField.$textField); + upSprite.addChild(upTextField); + overSprite.addChild(overTextField); + downSprite.addChild(downTextField); upTextField.parentDrawsBackground = true; downTextField.parentDrawsBackground = true; overTextField.parentDrawsBackground = true; @@ -277,21 +280,19 @@ package org.apache.flex.html.beads */ public function set popUpVisible(value:Boolean):void { + var host:IPopUpHost; if (value != _popUpVisible) { _popUpVisible = value; if (value) { - var root:Object = DisplayObject(_strand).root; - var host:DisplayObjectContainer = DisplayObject(_strand).parent; - while (host && !(host is IPopUpHost)) - host = host.parent; - if (host) - IPopUpHost(host).addElement(popUp); + host = UIUtils.findPopUpHost(_strand as IUIBase); + IPopUpHost(host).addElement(popUp as IChild); } else { - DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject); + host = UIUtils.findPopUpHost(_strand as IUIBase); + IPopUpHost(host).removeElement(popUp as IChild); } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as index f324495..3083465 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as @@ -141,7 +141,7 @@ package org.apache.flex.html.beads { var loader:Loader = new Loader(); sprite.addChildAt(loader, 0); - sprite.addChild(textField.$textField); + sprite.addChild(textField); var url:String = backgroundImage as String; loader.load(new URLRequest(url)); loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as index c7a3b39..77c970a 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as @@ -95,6 +95,7 @@ package org.apache.flex.html.beads /** * @private + * @flexjsignorecoercion HTMLImageELement */ private function handleUrlChange(event:Event):void { @@ -114,7 +115,7 @@ package org.apache.flex.html.beads { if (_model.source) { var host:IUIBase = _strand as IUIBase; - host.element.addEventListener('load', + (host.element as HTMLImageElement).addEventListener('load', loadHandler, false); host.addEventListener('sizeChanged', sizeChangedHandler); http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as index 29a203f..245c3d3 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as @@ -68,7 +68,7 @@ package org.apache.flex.html.beads var icon:Shape = new Shape(); icon.name = "icon"; s.addChild(icon); - s.addChild(tf.$textField); + s.addChild(tf); } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as index 2e99eef..e9b4ea5 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as @@ -124,7 +124,7 @@ package org.apache.flex.html.beads element.style.top = '-10px'; element.style.left = '20px'; - host.element.appendChild(element); + (host.element as WrappedHTMLElement).appendChild(element); element.flexjs_wrapper = this; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as index e5a176f..f3b5359 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as @@ -124,7 +124,7 @@ package org.apache.flex.html.beads // for input, listen for changes to the _textField and update // the model - textField.$textField.addEventListener(Event.SCROLL, textScrollHandler); + textField.addEventListener(Event.SCROLL, textScrollHandler); IEventDispatcher(host).addEventListener("widthChanged", sizeChangedHandler); IEventDispatcher(host).addEventListener("heightChanged", sizeChangedHandler); @@ -153,7 +153,7 @@ package org.apache.flex.html.beads private function textScrollHandler(event:Event):void { - var tf:TextField = textField.$textField; + var tf:TextField = textField; var visibleLines:int = tf.bottomScrollV - tf.scrollV + 1; var scrollableLines:int = textField.numLines - visibleLines + 1; var vsbm:ScrollBarModel = ScrollBarModel(vScrollBar.model); @@ -190,7 +190,7 @@ package org.apache.flex.html.beads private function scrollHandler(event:Event):void { var vpos:Number = IScrollBarModel(vScrollBar.model).value; - textField.$textField.scrollV = vpos; + textField.scrollV = vpos; } /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as index 44af468..e3d84dd 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as @@ -103,9 +103,9 @@ package org.apache.flex.html.beads shape.graphics.beginFill(0xCCCCCC); shape.graphics.drawRect(0, 0, 10, 10); shape.graphics.endFill(); - button.upState = upTextField.$textField; - button.downState = downTextField.$textField; - button.overState = overTextField.$textField; + button.upState = upTextField; + button.downState = downTextField; + button.overState = overTextField; button.hitTestState = shape; upTextField.styleParent = value; downTextField.styleParent = value; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as index ead9d7b..0fb9542 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as @@ -95,7 +95,7 @@ package org.apache.flex.html.beads IEventDispatcher(_strand).addEventListener("widthChanged", widthChangeHandler); IEventDispatcher(_strand).addEventListener("heightChanged", heightChangeHandler); IEventDispatcher(_strand).addEventListener("sizeChanged", sizeChangeHandler); - UIBase(value).addElement(_textField); + UIBase(value).$displayObjectContainer.addChild(_textField); if (_textModel.text !== null) text = _textModel.text; if (_textModel.html !== null) @@ -277,7 +277,7 @@ package org.apache.flex.html.beads } c = input.indexOf("<span", c1); } - _textField.$textField.styleSheet = ss; + _textField.styleSheet = ss; _textField.htmlText = input; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as index 63d04e2..721ef94 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as @@ -94,7 +94,7 @@ package org.apache.flex.html.beads loader.y = 0; loader.width = host.width; loader.height = host.height; - (host as UIBase).addElement(loader); + (host as UIBase).$displayObjectContainer.addChild(loader); } /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/472c7af2/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as index 25c1ce1..4a8115f 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as @@ -70,7 +70,7 @@ package org.apache.flex.html.beads.controllers var viewBead:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView; textField = viewBead.textField; - textField.$textField.addEventListener("change", inputChangeHandler); + textField.addEventListener("change", inputChangeHandler); } /**
