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