Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1269328 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/core/ScrollControlBase.as
+++ frameworks/projects/mx/src/mx/core/ScrollControlBase.as
@@ -0,0 +1,1276 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.display.DisplayObject;
+import flash.display.Graphics;
+import flash.display.Shape;
+import flash.events.Event;
+import flash.events.MouseEvent;
+import flash.geom.Point;
+
+import mx.controls.HScrollBar;
+import mx.controls.ToolTip;
+import mx.controls.VScrollBar;
+import mx.controls.scrollClasses.ScrollBar;
+import mx.events.ScrollEvent;
+import mx.events.ScrollEventDetail;
+import mx.events.ScrollEventDirection;
+import mx.managers.ToolTipManager;
+import mx.styles.ISimpleStyleClient;
+
+use namespace mx_internal;
+
+/**
+ *  Dispatched when the content is scrolled.
+ *
+ *  @eventType mx.events.ScrollEvent.SCROLL
+ *  @helpid 3269
+ */
+[Event(name="scroll", type="mx.events.ScrollEvent")]
+
+include "../styles/metadata/BorderStyles.as"
+include "../styles/metadata/LeadingStyle.as"
+include "../styles/metadata/TextStyles.as"
+
+/**
+ *  Style name for horizontal scrollbar.  This allows more control over
+ *  the appearance of the scrollbar.
+ *
+ *  @default undefined
+ */
+[Style(name="horizontalScrollBarStyleName", type="String", inherit="no")]
+
+/**
+ *  Style name for vertical scrollbar.  This allows more control over
+ *  the appearance of the scrollbar.
+ *
+ *  @default undefined
+ */
+[Style(name="verticalScrollBarStyleName", type="String", inherit="no")]
+
+/**
+ *  The ScrollControlBase class is the base class for controls
+ *  with scroll bars.
+ *  The user interacts with the scroll bar or the developer accesses
+ *  methods and properties that alter the viewable area.
+ *  The ScrollControlBase takes a single child object and positions and
+ *  masks or sizes that object to display the viewable content.
+ *  All items to be scrolled must be children of that content object
+ *
+ *  @mxml
+ *
+ *
The <ScrollControlBase> tag inherits all the tag attributes
+ *  of its superclass, and adds the following tag attributes:

+ *
+ *

+ *  <mx:tagname
+ *  Properties
+ *  border="object of border skin style"
+ *  horizontalScrollPolicy="off|on|auto"
+ *  horizontalScrollPosition="0"
+ *  liveScrolling="true|false"
+ *  maxHorizontalScrollPosition="NaN"
+ *  maxVerticalScrollPosition="NaN"
+ *  scrollTipFunction="undefined"
+ *  showScrollTips="false|true"
+ *  verticalScrollPolicy="auto|off|on"
+ *  verticalScrollPosition="0"
+ *  Styles
+ *  backgroundAlpha="1.0"
+ *  backgroundColor="undefined"
+ *  backgroundImage="undefined"
+ *  backgroundSize="auto"
+ *  borderColor="0xAAB3B3"
+ *  borderSides="left top right bottom"
+ *  borderSkin="ClassReference('mx.skins.halo.HaloBorder')"
+ *  borderStyle="inset"
+ *  borderThickness="1"
+ *  color="0x0B333C"
+ *  cornerRadius="0"
+ *  disabledColor="0xAAB3B3"
+ *  dropShadowColor="0x000000"
+ *  dropShadowEnabled="false"
+ *  fontFamily="Verdana"
+ *  fontSize="10"
+ *  fontStyle="normal|italic"
+ *  fontWeight="normal|bold"
+ *  horizontalScrollBarStyleName=""
+ *  leading="2"
+ *  shadowDirection="center"
+ *  shadowDistance="2"
+ *  textAlign="value; see detail."
+ *  textDecoration="none|underline"
+ *  textIndent="0"
+ *  verticalScrollBarStyleName=""
+ *
+ *  Events
+ *  scroll="No default"
+ *  />
+ *

+ *
+ *  @helpid 3270
+ *  @tiptext base class for views/containers that support scrolling
+ */
+public class ScrollControlBase extends UIComponent
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function ScrollControlBase()
+    {
+        super();
+
+        _viewMetrics = EdgeMetrics.EMPTY;
+
+        // Listen for "mouseWheel" events on myself or any of my children
+        addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The border object.
+     */
+    protected var border:IFlexDisplayObject;
+
+    /**
+     *  @private
+     *  Offsets including borders and scrollbars.
+     */
+    private var _viewMetrics:EdgeMetrics;
+
+    /**
+     *  The mask. This property may be undefined if no scroll bars
+     *  are currently displayed or in some subclasses which
+     *  have a different masking mechanism.
+     *  A mask defined the viewable area of a displayable object.
+     *  Thus this mask is used to hide the portions of the content
+     *  that are not currently viewable.
+     *  In general you do not access this property directly.
+     *  Manipulation of the horizontalScrollPolicy,
+     *  verticalScrollPolicy, horizontalScrollPosition,
+     *  and verticalScrollPosition properties
+     *  should provide sufficient control over the mask.
+     */
+    protected var maskShape:Shape;
+
+    /**
+     *  The horizontal scroll bar.
+     *  This property is null if no horizontal scroll bar
+     *  is currently displayed.
+     *  In general you do not access this property directly.
+     *  Manipulation of the horizontalScrollPolicy
+     *  and horizontalScrollPosition
+     *  properties should provide sufficient control over the scroll bar.
+     */
+    protected var horizontalScrollBar:ScrollBar;
+
+    /**
+     *  The vertical scroll bar.
+     *  This property is null if no vertical scroll bar
+     *  is currently displayed.
+     *  In general you do not access this property directly.
+     *  Manipulation of the verticalScrollPolicy
+     *  and verticalScrollPosition
+     *  properties should provide sufficient control over the scroll bar.
+     */
+    protected var verticalScrollBar:ScrollBar;
+
+    /**
+     *  @private
+     */
+    private var numberOfCols:Number = 0;
+
+    /**
+     *  @private
+     */
+    private var numberOfRows:Number = 0;
+
+    /**
+     *  @private
+     */
+    mx_internal var _maxVerticalScrollPosition:Number;
+    mx_internal var _maxHorizontalScrollPosition:Number;
+
+    /**
+     *  @private
+     */
+    private var viewableRows:Number;
+    private var viewableColumns:Number;
+
+    /**
+     *  @private
+     */
+    private var propsInited:Boolean;
+
+    /**
+     *  A flag that the scrolling area changed due to the appearance or disappearance of
+     *  scrollbars.  Used by most layout methods to re-adjust the scrolling properties again.
+     */
+    protected var scrollAreaChanged:Boolean;
+
+    /**
+     *  @private
+     */
+    private var invLayout:Boolean;
+
+    /**
+     *  @private
+     *  Instance of the scrollTip. (There can be only one.)
+     */
+    private var scrollTip:ToolTip;
+
+    /**
+     *  @private
+     *  Base position for the scrollTip.
+     */
+    private var scrollThumbMidPoint:Number;
+
+    /**
+     *  @private
+     *  Keep track of the whether the ToolTipManager was enabled
+     *  before dealing with scroll tips.
+     */
+    private var oldTTMEnabled:Boolean;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  enabled
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Scrollbars must be enabled/disabled when we are.
+     */
+    override public function set enabled(value:Boolean):void
+    {
+        super.enabled = value;
+
+        if (horizontalScrollBar)
+            horizontalScrollBar.enabled = value;
+
+        if (verticalScrollBar)
+            verticalScrollBar.enabled = value;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  borderMetrics
+    //----------------------------------
+
+    /**
+     *  Returns an EdgeMetrics object that has four properties:
+     *  left, top, right,
+     *  and bottom.
+     *  The value of each property is equal to the thickness of one side
+     *  of the border, expressed in pixels.
+     *
+     *  @return EdgeMetrics object with the left, right, top,
+     *  and bottom properties.
+     */
+    public function get borderMetrics():EdgeMetrics
+    {
+        return (border && border is IBorder) ?
+                IBorder(border).borderMetrics : EdgeMetrics.EMPTY;
+    }
+
+    //----------------------------------
+    //  horizontalScrollPosition
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the horizontalScrollPosition property.
+     */
+    mx_internal var _horizontalScrollPosition:Number = 0;
+
+    [Bindable("scroll")]
+    [Bindable("viewChanged")]
+    [Inspectable(defaultValue="0")]
+
+    /**
+     *  The offset into the content from the left edge.  This can
+     *  be a pixel offset in some subclasses or some other metric
+     *  like the number of columns in a DataGrid or number of items
+     *  in a HorizontalList or TileList.
+     *
+     *  @default 0
+     */
+    public function get horizontalScrollPosition():Number
+    {
+        return _horizontalScrollPosition;
+    }
+
+    /**
+     *  @private
+     *  This only moves the scrollBars -- assumes the call emanated
+     *  from the scrollable content.
+     */
+    public function set horizontalScrollPosition(value:Number):void
+    {
+        _horizontalScrollPosition = value;
+
+        if (horizontalScrollBar)
+            horizontalScrollBar.scrollPosition = value;
+
+        dispatchEvent(new Event("viewChanged"));
+    }
+
+    //----------------------------------
+    //  horizontalScrollPolicy
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the horizontalScrollPolicy property.
+     */
+    mx_internal var _horizontalScrollPolicy:String = ScrollPolicy.OFF;
+
+    [Bindable("horizontalScrollPolicyChanged")]
+    [Inspectable(enumeration="off,on,auto", defaultValue="off")]
+
+    /**
+     *  A property that indicates whether the horizontal scroll
+     *  bar is always on, always off,
+     *  or automatically changes based on the parameters passed to the
+     *  setScrollBarProperties() method.
+     *  Allowed values are ScrollPolicy.ON,
+     *  ScrollPolicy.OFF, and ScrollPolicy.AUTO.
+     *  MXML values can be "on", "off",
+     *  and "auto".
+     *
+     *
Setting this property to ScrollPolicy.OFF for ListBase
+     *  subclasses does not affect the horizontalScrollPosition
+     *  property; you can still scroll the contents programmatically.

+     *
+     *
Note that the policy can affect the measured size of the component
+     *  If the policy is ScrollPolicy.AUTO the
+     *  scrollbar is not factored in the measured size.  This is done to
+     *  keep the layout from recalculating when the scrollbar appears.  If you
+     *  know that you will have enough data for scrollbars you should set
+     *  the policy to ScrollPolicy.ON.  If you
+     *  don't know, you may need to set an explicit width or height on
+     *  the component to allow for scrollbars to appear later.

+     *
+     *  @default ScrollPolicy.OFF
+     */
+    public function get horizontalScrollPolicy():String
+    {
+        return _horizontalScrollPolicy;
+    }
+
+    /**
+     *  @private
+     */
+    public function set horizontalScrollPolicy(value:String):void
+    {
+        var newPolicy:String = value.toLowerCase();
+
+        if (_horizontalScrollPolicy != newPolicy)
+        {
+            _horizontalScrollPolicy = newPolicy;
+            invalidateDisplayList();
+
+            dispatchEvent(new Event("horizontalScrollPolicyChanged"));
+        }
+    }
+
+    //----------------------------------
+    //  liveScrolling
+    //----------------------------------
+
+    [Inspectable(defaultValue="true")]
+
+    /**
+     *  A flag that indicates whether scrolling is live as the
+     *  scrollbar thumb is moved
+     *  or the view is not updated until the thumb is released.
+     *  The default value is true.
+     */
+    public var liveScrolling:Boolean = true;
+
+    //----------------------------------
+    //  maxHorizontalScrollPosition
+    //----------------------------------
+
+    [Bindable("maxHorizontalScrollPositionChanged")]
+    [Inspectable(defaultValue="0")]
+
+    /**
+     *  The maximum value for the horizontalScrollPosition property.
+     *  Note that this is not the width of the content because the
+     *  maxHorizontalScrollPosition property contains the width
+     *  of the content minus the width of the displayable area.
+     *
+     *
In most components, the value of the
+     *  maxHorizontalScrollPosition property is computed from the
+     *  data and size of component, and must not be set by
+     *  the application code.

+     */
+    public function get maxHorizontalScrollPosition():Number
+    {
+        if (!isNaN(_maxHorizontalScrollPosition))
+            return _maxHorizontalScrollPosition;
+
+        var m:Number = horizontalScrollBar ?
+                       horizontalScrollBar.maxScrollPosition :
+                       0;
+        return m;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxHorizontalScrollPosition(value:Number):void
+    {
+        _maxHorizontalScrollPosition = value;
+
+        dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));
+    }
+
+    //----------------------------------
+    //  maxVerticalScrollPosition
+    //----------------------------------
+
+    [Bindable("maxVerticalScrollPositionChanged")]
+    [Inspectable(defaultValue="0")]
+
+    /**
+     *  The maximum value for the verticalScrollPosition property.
+     *  Note that this is not the height of the content because the
+     *  maxVerticalScrollPosition property contains the height
+     *  of the content minus the height of the displayable area.
+     *
+     *
The value of the
+     *  maxVerticalScrollPosition property is computed from the
+     *  data and size of component, and must not be set by
+     *  the application code.

+     */
+    public function get maxVerticalScrollPosition():Number
+    {
+        if (!isNaN(_maxVerticalScrollPosition))
+            return _maxVerticalScrollPosition;
+
+        var m:Number = verticalScrollBar ?
+                       verticalScrollBar.maxScrollPosition :
+                       0;
+        return m;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxVerticalScrollPosition(value:Number):void
+    {
+        _maxVerticalScrollPosition = value;
+
+        dispatchEvent(new Event("maxVerticalScrollPositionChanged"));
+    }
+
+    //----------------------------------
+    //  scrollTipFunction
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the scrollTipFunction property.
+     */
+    private var _scrollTipFunction:Function;
+
+    [Bindable("scrollTipFunctionChanged")]
+    [Inspectable(defaultValue="")]
+
+    /**
+     *  A function that computes the string to be displayed as the ScrollTip.
+     *  This function is called if the showScrollTips property
+     *  is set to true and the scroll thumb is being dragged.
+     *  The function should return a String that used as a ScrollTip.
+     *  The function is passed two parameters.
+     *  The first is the direction of the scroll bar.
+     *  The second is its scrollPosition, as the following example shows:
+     *
+     *

+     *  function scrollTipFunction(direction:String, position:Number):String
+     *  {
+     *    if (direction == "vertical") return myToolTips[position];
+     *    else return "";
+     *  }

+     */
+    public function get scrollTipFunction():Function
+    {
+        return _scrollTipFunction;
+    }
+
+    /**
+     *  @private
+     */
+    public function set scrollTipFunction(value:Function):void
+    {
+        _scrollTipFunction = value;
+
+        dispatchEvent(new Event("scrollTipFunctionChanged"));
+    }
+
+    //----------------------------------
+    //  showScrollTips
+    //----------------------------------
+
+    [Inspectable(defaultValue="false")]
+
+    /**
+     *  A flag that indicates whether a tooltip should appear
+     *  near the scroll thumb when it is being dragged.
+     *  The default value is false to disable the tooltip.
+     */
+    public var showScrollTips:Boolean = false;
+
+    //----------------------------------
+    //  viewMetrics
+    //----------------------------------
+
+    /**
+     *  An EdgeMetrics object taking into account the scroll bars,
+     *  if visible.
+     *
+     *  @return EdgeMetrics object with the thickness, in pixels,
+     *  of the left, top, right, and bottom edges.
+     */
+    public function get viewMetrics():EdgeMetrics
+    {
+        _viewMetrics = borderMetrics.clone();
+
+        if (!horizontalScrollBar &&
+            (horizontalScrollPolicy == ScrollPolicy.ON))
+        {
+            createHScrollBar(true);
+
+            horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler);
+            horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler);
+            horizontalScrollBar.scrollPosition = _horizontalScrollPosition;
+
+            invalidateDisplayList();
+        }
+
+        if (!verticalScrollBar && verticalScrollPolicy == ScrollPolicy.ON)
+        {
+            createVScrollBar(true);
+
+            verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler);
+            verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler);
+            verticalScrollBar.scrollPosition = _verticalScrollPosition;
+
+            invalidateDisplayList();
+        }
+
+        if (verticalScrollBar && verticalScrollBar.visible)
+            _viewMetrics.right += verticalScrollBar.minWidth;
+
+        if (horizontalScrollBar && horizontalScrollBar.visible)
+            _viewMetrics.bottom += horizontalScrollBar.minHeight;
+
+        return _viewMetrics;
+    }
+
+    //----------------------------------
+    //  verticalScrollPosition
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the verticalScrollPosition property.
+     */
+    mx_internal var _verticalScrollPosition:Number = 0;
+
+    [Bindable("scroll")]
+    [Bindable("viewChanged")]
+    [Inspectable(defaultValue="0")]
+
+    /**
+     *  The offset into the content from the top edge.  This can
+     *  be a pixel offset in some subclasses or some other metric
+     *  like number of lines in a List or number of tiles in
+     *  a TileList.
+     *
+     *  @default 0
+     */
+    public function get verticalScrollPosition():Number
+    {
+        return _verticalScrollPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set verticalScrollPosition(value:Number):void
+    {
+        _verticalScrollPosition = value;
+
+        if (verticalScrollBar)
+            verticalScrollBar.scrollPosition = value;
+
+        dispatchEvent(new Event("viewChanged"));
+    }
+
+    //----------------------------------
+    //  verticalScrollPolicy
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the verticalScrollPolicy property.
+     */
+    mx_internal var _verticalScrollPolicy:String = ScrollPolicy.AUTO;
+
+    [Bindable("verticalScrollPolicyChanged")]
+    [Inspectable(enumeration="off,on,auto", defaultValue="auto")]
+
+    /**
+     *  A property that indicates whether the vertical scroll bar is always on, always off,
+     *  or automatically changes based on the parameters passed to the
+     *  setScrollBarProperties() method.
+     *  Allowed values are ScrollPolicy.ON,
+     *  ScrollPolicy.OFF, and ScrollPolicy.AUTO.
+     *  MXML values can be "on", "off",
+     *  and "auto".
+     *
+     *
Setting this property to ScrollPolicy.OFF for ListBase
+     *  subclasses does not affect the verticalScrollPosition
+     *  property; you can still scroll the contents programmatically.

+     *
+     *
Note that the policy can affect the measured size of the component
+     *  If the policy is ScrollPolicy.AUTO the
+     *  scrollbar is not factored in the measured size.  This is done to
+     *  keep the layout from recalculating when the scrollbar appears.  If you
+     *  know that you will have enough data for scrollbars you should set
+     *  the policy to ScrollPolicy.ON.  If you
+     *  don't know, you may need to set an explicit width or height on
+     *  the component to allow for scrollbars to appear later.

+     *
+     *  @default ScrollPolicy.AUTO
+     */
+    public function get verticalScrollPolicy():String
+    {
+        return _verticalScrollPolicy;
+    }
+
+    /**
+     *  @private
+     */
+    public function set verticalScrollPolicy(value:String):void
+    {
+        var newPolicy:String = value.toLowerCase();
+
+        if (_verticalScrollPolicy != newPolicy)
+        {
+            _verticalScrollPolicy = newPolicy;
+            invalidateDisplayList();
+
+            dispatchEvent(new Event("verticalScrollPolicyChanged"));
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates objects that are children of this ScrollControlBase,
+     *  which in this case are the border and mask.
+     *  Flex calls this method when the ScrollControlBase is first created.
+     *  If a subclass overrides this method, the subclass should call
+     *  the super.createChildren() method so that the logic
+     *  in the ScrollControlBase.createChildren() method is executed.
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        createBorder();
+
+        if (!maskShape)
+        {
+            maskShape = new FlexShape();
+            maskShape.name = "mask";
+
+            var g:Graphics = maskShape.graphics;
+            g.beginFill(0xFFFFFF);
+            g.drawRect(0, 0, 10, 10);
+            g.endFill();
+
+            addChild(maskShape);
+        }
+
+        maskShape.visible = false;
+    }
+
+    /**
+     *  @private
+     *  Sets the position and size of the scroll bars and content
+     *  and adjusts the mask.
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        layoutChrome(unscaledWidth, unscaledHeight);
+
+        var w:Number = unscaledWidth;
+        var h:Number = unscaledHeight;
+
+        invLayout = false;
+
+        var vm:EdgeMetrics = _viewMetrics = viewMetrics;
+
+        if (horizontalScrollBar && horizontalScrollBar.visible)
+        {
+            horizontalScrollBar.setActualSize(w - vm.left - vm.right,
+                                              horizontalScrollBar.minHeight);
+            horizontalScrollBar.move(vm.left,
+                                     h - vm.bottom);
+
+            horizontalScrollBar.enabled = enabled;
+        }
+
+        if (verticalScrollBar && verticalScrollBar.visible)
+        {
+            verticalScrollBar.setActualSize(verticalScrollBar.minWidth,
+                                            h - vm.top - vm.bottom);
+            verticalScrollBar.move(w - vm.right, vm.top);
+
+            verticalScrollBar.enabled = enabled;
+        }
+
+        var mask:DisplayObject = maskShape;
+
+        var wd:Number = w - vm.left - vm.right;
+        var ht:Number = h - vm.top - vm.bottom;
+
+        mask.width = wd < 0 ? 0 : wd;
+        mask.height = ht < 0 ? 0 : ht;
+
+        mask.x = vm.left;
+        mask.y = vm.top;
+    }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        var allStyles:Boolean = (styleProp == null || styleProp == "styleName");
+
+        super.styleChanged(styleProp);
+
+        if (allStyles || styleProp == "horizontalScrollBarStyleName")
+        {
+            if (horizontalScrollBar)
+            {
+                var horizontalScrollBarStyleName:String =
+                    getStyle("horizontalScrollBarStyleName");
+                horizontalScrollBar.styleName = horizontalScrollBarStyleName;
+            }
+        }
+
+        if (allStyles || styleProp == "verticalScrollBarStyleName")
+        {
+            if (verticalScrollBar)
+            {
+                var verticalScrollBarStyleName:String =
+                    getStyle("verticalScrollBarStyleName");
+                verticalScrollBar.styleName = verticalScrollBarStyleName;
+            }
+        }
+
+        // Replace the borderSkin
+ 		if (allStyles || styleProp == "borderSkin")
+ 		{
+ 			if (border)
+ 			{
+ 				removeChild(DisplayObject(border));
+ 				border = null;
+ 				createBorder();
+ 			}
+ 		}
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Responds to size changes by setting the positions and sizes
+     *  of this control's borders.
+     *
+     *
The ScrollControlBase.layoutChrome() method sets the
+     *  position and size of the ScrollControlBase's border.
+     *  In every subclass of ScrollControlBase, the subclass's layoutChrome()
+     *  method should call the super.layoutChrome() method,
+     *  so that the border is positioned properly.

+     *
+     *  @param unscaledWidth Specifies the width of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleX property of the component.
+     *
+     *  @param unscaledHeight Specifies the height of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleY property of the component.
+     */
+    protected function layoutChrome(unscaledWidth:Number,
+                                    unscaledHeight:Number):void
+    {
+        // Border covers the whole thing.
+        if (border)
+        {
+            border.move(0, 0);
+            border.setActualSize(unscaledWidth, unscaledHeight);
+        }
+    }
+
+    /**
+     *  Creates the border for this component.
+     *  Normally the border is determined by the
+     *  borderStyle and borderSkin styles.
+     *  It must set the border property to the instance
+     *  of the border.
+     */
+    protected function createBorder():void
+    {
+        if (!border && isBorderNeeded())
+        {
+            var borderClass:Class = getStyle("borderSkin");
+
+			if (borderClass != null)
+			{
+	            border = new borderClass();
+
+	            if (border is IUIComponent)
+	                IUIComponent(border).enabled = enabled;
+	            if (border is ISimpleStyleClient)
+	                ISimpleStyleClient(border).styleName = this;
+
+	            // Add the border behind all the children.
+	            addChildAt(DisplayObject(border), 0);
+
+	            invalidateDisplayList();
+   			}
+        }
+    }
+
+    /**
+     *  Returns true if a border is needed for this component based
+     *  on the borderStyle and whether or not there is a background
+     *  for the component.
+     */
+    private function isBorderNeeded():Boolean
+    {
+        //trace("isBorderNeeded",this,"ms",getStyle("mouseShield"),"borderStyle",getStyle("borderStyle"));
+
+        var v:Object = getStyle("borderStyle");
+        if (v)
+        {
+            // If borderStyle is "none", then only create a border if the mouseShield style is true
+            // (meaning that there is a mouse event listener on this view). We don't create a border
+            // if our parent's mouseShieldChildren style is true.
+            if ((v != "none") || (v == "none" && getStyle("mouseShield")))
+            {
+                return true;
+            }
+        }
+
+        v = getStyle("backgroundColor");
+        if (v !== null && v !== "")
+            return true;
+
+        v = getStyle("backgroundImage");
+        return v != null && v != "";
+    }
+
+    /**
+     *  Causes the ScrollControlBase to show or hide scrollbars based
+     *  on the parameters passed in. If a TextArea can only show 100 pixels
+     *  across and 5 lines of text, but the actual text to display is 200 pixels wide
+     *  and 30 lines of text, then the setScrollBarProperties() method
+     *  is called as
+     *  setScrollBarProperties(200, 100, 30, 5).
+     *
+     *  @param totalColumns The number of horizontal units that need to be displayed.
+     *
+     *  @param visibleColumns The number of horizontal units that can be displayed at one time.
+     *
+     *  @param totalRows The number of vertical units that need to be displayed.
+     *
+     *  @param visibleRows The number of vertical units that can be displayed at one time
+     */
+    protected function setScrollBarProperties(totalColumns:int, visibleColumns:int,
+                                        totalRows:int, visibleRows:int):void
+    {
+        var horizontalScrollPolicy:String = this.horizontalScrollPolicy;
+        var verticalScrollPolicy:String = this.verticalScrollPolicy;
+
+        var shouldBeVisible:Boolean;
+
+        scrollAreaChanged = false;
+
+		// scrollbars when the scrollPolicy is ON are calculated in viewMetrics
+        if (horizontalScrollPolicy == ScrollPolicy.ON ||
+        	(visibleColumns < totalColumns && totalColumns > 0 &&
+            (horizontalScrollPolicy == ScrollPolicy.AUTO)))
+        {
+            // We need a horizontal scrollBar.
+
+            // Nope, need to add it.
+            if (!horizontalScrollBar)
+            {
+                createHScrollBar(false);
+
+		        horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler);
+		        horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler);
+
+		        horizontalScrollBar.scrollPosition = _horizontalScrollPosition;
+            }
+
+            shouldBeVisible = roomForScrollBar(horizontalScrollBar, unscaledWidth, unscaledHeight);
+
+        	if (shouldBeVisible != horizontalScrollBar.visible)
+        	{
+        		horizontalScrollBar.visible = shouldBeVisible;
+        		scrollAreaChanged = true;
+        	}
+
+            if (horizontalScrollBar && horizontalScrollBar.visible && (numberOfCols != totalColumns ||
+                viewableColumns != visibleColumns || scrollAreaChanged))
+            {
+                horizontalScrollBar.setScrollProperties(
+                    visibleColumns, 0, totalColumns - visibleColumns);
+
+                if (horizontalScrollBar.scrollPosition != _horizontalScrollPosition)
+                    horizontalScrollBar.scrollPosition = _horizontalScrollPosition;
+
+                viewableColumns = visibleColumns;
+                numberOfCols = totalColumns;
+            }
+        }
+        else if ((horizontalScrollPolicy == ScrollPolicy.AUTO ||
+                  horizontalScrollPolicy == ScrollPolicy.OFF) &&
+                 horizontalScrollBar && horizontalScrollBar.visible)
+        {
+            // We need to remove this scrollBar.
+            horizontalScrollPosition = 0;
+            horizontalScrollBar.visible = false;
+            viewableColumns = NaN;
+            scrollAreaChanged = true;
+        }
+
+        if (verticalScrollPolicy == ScrollPolicy.ON ||
+        	(visibleRows < totalRows && totalRows > 0 &&
+            (verticalScrollPolicy == ScrollPolicy.AUTO)))
+        {
+            // We need a vertical scrollBar. Does it exist?
+            if (!verticalScrollBar)
+            {
+                // No it doesn't, and we're allowed to add it.
+                createVScrollBar(false);
+
+                verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollHandler);
+            	verticalScrollBar.addEventListener(ScrollEvent.SCROLL, scrollTipHandler);
+
+            	verticalScrollBar.scrollPosition = _verticalScrollPosition;
+            }
+
+            shouldBeVisible = roomForScrollBar(verticalScrollBar, unscaledWidth, unscaledHeight);
+
+        	if (shouldBeVisible != verticalScrollBar.visible)
+        	{
+        		verticalScrollBar.visible = shouldBeVisible;
+        		scrollAreaChanged = true;
+        	}
+
+            if (verticalScrollBar && verticalScrollBar.visible && (numberOfRows != totalRows ||
+                (viewableRows != visibleRows) || scrollAreaChanged))
+            {
+                verticalScrollBar.setScrollProperties(
+                    visibleRows, 0, totalRows - visibleRows);
+
+                if (verticalScrollBar.scrollPosition != _verticalScrollPosition)
+                    verticalScrollBar.scrollPosition = _verticalScrollPosition;
+
+                viewableRows = visibleRows;
+                numberOfRows = totalRows;
+            }
+        }
+        else if ((verticalScrollPolicy == ScrollPolicy.AUTO ||
+                  verticalScrollPolicy == ScrollPolicy.OFF) &&
+                 verticalScrollBar && verticalScrollBar.visible)
+        {
+            verticalScrollPosition = 0;
+            verticalScrollBar.visible = false;
+            viewableRows = NaN;
+            scrollAreaChanged = true;
+        }
+
+        // Now, if any scrollBar came into or left existence,
+        // it's possible that the content is occluded or revealed enough
+        // that the other scrollBar needs to appear or go away.
+        if (scrollAreaChanged)
+        {
+            // This is for content that conforms to the (discrete)
+            // scrollable interface. It just falls through on analog content.
+            // (I hope.)
+            updateDisplayList(unscaledWidth, unscaledHeight);
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Private methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Create the HScrollBar
+     */
+    private function createHScrollBar(visible:Boolean):ScrollBar
+    {
+        horizontalScrollBar =  new HScrollBar();
+        horizontalScrollBar.visible = visible;
+        horizontalScrollBar.enabled = enabled;
+
+        var horizontalScrollBarStyleName:String =
+            getStyle("horizontalScrollBarStyleName");
+        horizontalScrollBar.styleName = horizontalScrollBarStyleName;
+
+        // Place the new scrollbar in front of other children
+        // in the ScrollControlBase
+        addChild(horizontalScrollBar);
+
+        horizontalScrollBar.validateNow();
+
+        return horizontalScrollBar;
+    }
+
+    /**
+     *  @private
+     *  Create the VScrollBar
+     */
+    private function createVScrollBar(visible:Boolean):ScrollBar
+    {
+        verticalScrollBar = new VScrollBar();
+        verticalScrollBar.visible = visible;
+        verticalScrollBar.enabled = enabled;
+
+        var verticalScrollBarStyleName:String =
+            getStyle("verticalScrollBarStyleName");
+        verticalScrollBar.styleName = verticalScrollBarStyleName;
+
+        // Place the new scrollbar in front of other children
+        // in the ScrollControlBase
+        addChild(verticalScrollBar);
+
+        //need verticalScrollBar.validateNow()?
+
+        return verticalScrollBar;
+    }
+
+    protected function roomForScrollBar(bar:ScrollBar,
+    		unscaledWidth:Number, unscaledHeight:Number):Boolean
+    {
+    	var bm:EdgeMetrics = borderMetrics;
+    	return (unscaledWidth >= bar.minWidth + bm.left + bm.right) &&
+        	   (unscaledHeight >= bar.minHeight + bm.top + bm.bottom)
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Default event handler for the scroll event.
+     *
+     *  @param event The event object.
+     */
+    protected function scrollHandler(event:Event):void
+    {
+        // TextField.scroll bubbles so you might see it here
+        if (event is ScrollEvent)
+        {
+            var scrollBar:ScrollBar = ScrollBar(event.target);
+
+            var pos:Number = scrollBar.scrollPosition;
+
+            var prop:QName;
+            if (scrollBar == verticalScrollBar)
+                prop = new QName(mx_internal, "_verticalScrollPosition");
+            else if (scrollBar == horizontalScrollBar)
+                prop = new QName(mx_internal, "_horizontalScrollPosition");
+
+            dispatchEvent(event);
+
+            if (prop)
+                this[prop] = pos;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    private function scrollTipHandler(event:Event):void
+    {
+        // TextField.scroll bubbles so you might see it here
+        if (event is ScrollEvent)
+        {
+            if (!showScrollTips)
+                return;
+
+            if (ScrollEvent(event).detail == ScrollEventDetail.THUMB_POSITION)
+            {
+                if (scrollTip)
+                {
+                    systemManager.toolTipChildren.removeChild(scrollTip);
+                    scrollTip = null;
+                    ToolTipManager.enabled = oldTTMEnabled;
+                }
+            }
+            else if (ScrollEvent(event).detail == ScrollEventDetail.THUMB_TRACK)
+            {
+                var scrollBar:ScrollBar = ScrollBar(event.target);
+                var isVertical:Boolean = scrollBar == verticalScrollBar;
+                var dir:String = isVertical ? "vertical" : "horizontal";
+                var pos:Number = scrollBar.scrollPosition;
+
+                if (!scrollTip)
+                {
+                    scrollTip = new ToolTip();
+                    systemManager.toolTipChildren.addChild(scrollTip);
+                    scrollThumbMidPoint = scrollBar.scrollThumb.height / 2;
+                    oldTTMEnabled = ToolTipManager.enabled;
+                    ToolTipManager.enabled = false;
+                }
+
+                var tip:String = pos.toString();
+
+                if (_scrollTipFunction != null)
+                    tip = _scrollTipFunction(dir, pos);
+
+                if (tip == "")
+                {
+                    scrollTip.visible = false;
+                }
+                else
+                {
+                    scrollTip.text = tip;
+
+                    ToolTipManager.sizeTip(scrollTip);
+
+                    var pt:Point = new Point();
+                    if (isVertical)
+                    {
+                        pt.x = -3 - scrollTip.width;
+                        pt.y = scrollBar.scrollThumb.y + scrollThumbMidPoint -
+                               scrollTip.height / 2;
+                    }
+                    else
+                    {
+                        // The scrollbar is rotated so we kind of reverse things
+                        // around with width and height.
+                        pt.x = -3 - scrollTip.height;
+                        pt.y = scrollBar.scrollThumb.y + scrollThumbMidPoint -
+                               scrollTip.width / 2;
+                    }
+                    pt = scrollBar.localToGlobal(pt);
+                    scrollTip.move(pt.x, pt.y);
+
+                    scrollTip.visible = true;
+                }
+            }
+        }
+    }
+
+    /**
+     *  Event handler for the mouse wheel scroll event.
+     *
+     *  @param event The event object.
+     */
+    protected function mouseWheelHandler(event:MouseEvent):void
+    {
+        // If this Container has a vertical scrollbar,
+        // then handle the event and prevent further bubbling.
+        if (verticalScrollBar && verticalScrollBar.visible)
+        {
+            event.stopPropagation();
+
+            var scrollDirection:int = event.delta <= 0 ? 1 : -1;
+
+            // Make sure we scroll by at least one line
+            var scrollAmount:Number = Math.max(Math.abs(event.delta),
+                                               verticalScrollBar.lineScrollSize);
+
+            // Multiply by 3 to make scrolling a little faster
+            var oldPosition:Number = verticalScrollPosition;
+            verticalScrollPosition += 3 * scrollAmount * scrollDirection;
+
+            var scrollEvent:ScrollEvent = new ScrollEvent(ScrollEvent.SCROLL);
+            scrollEvent.direction = ScrollEventDirection.VERTICAL;
+            scrollEvent.position = verticalScrollPosition;
+            scrollEvent.delta = verticalScrollPosition - oldPosition;
+            dispatchEvent(scrollEvent);
+        }
+    }
+
+    /**
+     *  @private
+     */
+	mx_internal function get scroll_verticalScrollBar():ScrollBar
+	{
+		return verticalScrollBar;
+	}
+
+    /**
+     *  @private
+     */
+	mx_internal function get scroll_horizontalScrollBar():ScrollBar
+	{
+		return horizontalScrollBar;
+	}
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1274515 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/rpc/src/mx/rpc/xml/ComplexString.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/ComplexString.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10951
Author:   klin@adobe.com
Date:     2009-10-09T17:15:44.211985Z

Log Message:
-----------
TitleWindow initial checkin. This is the spark equivalent of the mx:TitleWindow. One major difference is that we support a new skinstate called active. In this state, the titlebar of the window that is in focus or if one of that window's children is in focus.

-Added TitleWindow component to spark framework.
-Added new TitleWindowBoundsEvent to define events when you drag a TitleWindow.
-Added TitleWindow default skin and wireframe skin.
-Included TitleWindow to manifests and stylesheets.
-Added TitleWindow checkin test.
-Modified Panel's controlBarGroupProperties and related constants to be mx_internal in order for titlewindow to have the correct state when the controlBar is present and visible.
-Added ASDoc example for TW.
-Added icon for FB integration.
-Changed mx:TitleWindow's Alternative metadata to point to the spark TitleWindow.

SDK-23648 - small cosmetic fix on TitleWindow skin for titleDisplay overlapping with the closeButton

QE notes: TitleWindow ready for testing.
Doc notes: Yes
Bugs: SDK-23648
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TitleWindow.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TitleWindowSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/WireframeClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TitleWindowSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults-3.0.0.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SimpleTitleWindowExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests-config.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/TitleWindowBoundsEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TitleWindowCloseButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/TitleWindowApp.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TitleWindowCloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/TitleWindowTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/TitleWindowTests.mxml</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1279822 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/Panel.as
+++ frameworks/projects/spark/src/spark/components/Panel.as
@@ -117,17 +117,17 @@
     /**
      *  @private
      */
-    private static const CONTROLBAR_PROPERTY_FLAG:uint = 1 << 0;
-
-    /**
-     *  @private
-     */
-    private static const LAYOUT_PROPERTY_FLAG:uint = 1 << 1;
-
-    /**
-     *  @private
-     */
-    private static const VISIBLE_PROPERTY_FLAG:uint = 1 << 2;
+    mx_internal static const CONTROLBAR_PROPERTY_FLAG:uint = 1 << 0;
+
+    /**
+     *  @private
+     */
+    mx_internal static const LAYOUT_PROPERTY_FLAG:uint = 1 << 1;
+
+    /**
+     *  @private
+     */
+    mx_internal static const VISIBLE_PROPERTY_FLAG:uint = 1 << 2;

     //--------------------------------------------------------------------------
     //
@@ -175,7 +175,7 @@
      *  controlBarGroupProperties stores booleans as to whether these properties
      *  have been explicitely set or not.
      */
-    private var controlBarGroupProperties:Object = { visible: true };
+    mx_internal var controlBarGroupProperties:Object = { visible: true };

     //----------------------------------
     //  controlBarGroup


Transferred from the Adobe Open Source Subversion Repository

Revision: 5762
Author:   jimurphy@adobe.com
Date:     2009-03-30T19:25:21.583080Z

Log Message:
-----------
airframework update:
mx.core.FxWindowApplication -> spark.components.windowClasses.WindowedApplication
should have been:
mx.core.FxWindowApplication -> spark.components.WindowedApplication

add back classes to spark-manifest.xml that got nixed during the manifest merge and update related effects classes that were not being compiled because of this omission.

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/flex4</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/AIRFrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/WindowedApplication.as" copyfrom-rev="5757" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks/projects/framework</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1283728 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/effects/Rotate3D.as
+++ frameworks/projects/spark/src/spark/effects/Rotate3D.as
@@ -28,7 +28,7 @@
  */
 public class AnimateTransformRotate3D extends AnimateTransformRotate
 {
-    include "../../spark.core.Version.as";
+    include "../core/Version.as";

     //--------------------------------------------------------------------------
     //


Transferred from the Adobe Open Source Subversion Repository

Revision: 17425
Author:   rfrishbe@adobe.com
Date:     2010-08-20T17:29:56.448841Z

Log Message:
-----------
Pretty basic refactoring for PARB (though it is a lot of files).  Renamed GestureCaptureEvent/GestureCaptureReason (these were previously TouchScrollEvent) to TouchInteractionEvent/TouchInteractionReason.  inputMode has been renamed to interactionMode and has a new enumeration class, mx.core.InteractionMode.

There's on non-PARB change that was made was in List and mobiletheme/defaults.css. I found a bug in that the item renderer wasn't highlighting on mousedown anymore. There were two issues at play. Firstly the touchDelay was set to 100 ms in the Scroller only, so I added it to List and added a FIXME comment to myself figuring out if the code in List should use scroller.getStyle("touchDelay") or itemRenderer.getStyle("touchDelay") instead of getStyle("touchDelay"). Also, I found out that the code doesn't deal with touchDelay=0 very well. Since we're planning on working on this code anyways (and possibly moving it in to ItemRenderer itself with a new downstate), I just put in a hack with a FIXME to handle this case for now.

QE notes: None
Doc notes: None
Bugs: -
Reviewer: Jason SJ, Chiedo
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureEvent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/InteractionMode.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureReason.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureEvent.as" copyfrom-rev="17393" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/TouchInteractionEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/GestureCaptureReason.as" copyfrom-rev="17393" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/TouchInteractionReason.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1260789 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/events/TouchInteractionReason.as
+++ frameworks/projects/framework/src/mx/events/TouchInteractionReason.as
@@ -13,17 +13,17 @@
 {

 /**
- *  The GestureCaptureReason class defines the constant values
- *  for the reason property of the GestureCaptureEvent class.
+ *  The TouchInteractionReason class defines the constant values
+ *  for the reason property of the TouchInteractionEvent class.
  *
- *  @see mx.events.GestureCaptureEvent
+ *  @see mx.events.TouchInteractionEvent
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public final class GestureCaptureReason
+public final class TouchInteractionReason
 {

     //--------------------------------------------------------------------------
@@ -33,7 +33,7 @@
     //--------------------------------------------------------------------------

     /**
-     *  Indicates that the value of the property changed.
+     *  Indicates that the touch interaction is a scroll.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 7751
Author:   aharui@adobe.com
Date:     2009-06-11T17:00:59.124019Z

Log Message:
-----------
Forgot to allow ResourceManager to run w/o the framework

QE Notes: None
Doc Notes: None
Bugs: SDK-21731
Reviewer: darrell
tests: checkintests

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1262240 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as
+++ frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as
@@ -117,10 +117,12 @@
         super();

 		var info:Object = SystemManagerGlobals.info;
-		processInfo(info);
-
-		SystemManagerGlobals.topLevelSystemManagers[0].
-			addEventListener(FlexEvent.NEW_CHILD_APPLICATION, newChildApplicationHandler, true);
+        if (info)
+		    processInfo(info);
+
+        if (SystemManagerGlobals.topLevelSystemManagers.length)
+		    SystemManagerGlobals.topLevelSystemManagers[0].
+			    addEventListener(FlexEvent.NEW_CHILD_APPLICATION, newChildApplicationHandler, true);
     }

     //--------------------------------------------------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1262744 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Number of pixels between the component's left border
+ *  and the left edge of its content area.
+ *
The default value is 0.

+ *
The default value for a Button control is 10.

+ *
The default value for the ComboBox control is 5.

+ *
The default value for the Form container is 16.

+ *
The default value for the Tree control is 2.

+ */
+[Style(name="paddingLeft", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Number of pixels between the component's right border
+ *  and the right edge of its content area.
+ *
The default value is 0.

+ *
The default value for a Button control is 10.

+ *
The default value for the ComboBox control is 5.

+ *
The default value for the Form container is 16.

+ */
+[Style(name="paddingRight", type="Number", format="Length", inherit="no")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 14652
Author:   jszeto@adobe.com
Date:     2010-03-09T23:48:54.803563Z

Log Message:
-----------
Merging revision 14651 from 4.x to trunk

Partial Mirrored Window Resize Fix

http://bugs.adobe.com/jira/browse/SDK-25609 - WindowedApplication doesn’t properly resize when layoutDirection is rtl

This partially fixes using the gripper to resize the window. Checking in now so that windows are more functional for QE to test.

QE notes: n/a
Doc notes: n/a
Bugs: SDK-25609
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1250607 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -2469,10 +2469,10 @@
      *  @productversion Flex 4
      */
     protected function mouseDownHandler(event:MouseEvent):void
-    {
+    {
         if (event.target == gripper)
         {
-            startResize(NativeWindowResize.BOTTOM_RIGHT);
+            startResize(layoutDirection == "rtl" ? NativeWindowResize.BOTTOM_LEFT : NativeWindowResize.BOTTOM_RIGHT);
             event.stopPropagation();
             return;
         }


Issue #95: Improve error message utility.

* Allow setting fallback error message.

* Add support for Portal user authorization errors.

* Use available error response message as fallback.

* Clean up.

--- src/com/esri/builder/supportClasses/ErrorMessageUtil.as
+++ src/com/esri/builder/supportClasses/ErrorMessageUtil.as
@@ -21,47 +21,86 @@

 public class ErrorMessageUtil
 {
-    public static function getKnownErrorCauseMessage(fault:Fault):String
+    public static function getKnownErrorCauseMessage(fault:Fault, fallbackErrorMessage:String = null):String
+    {
+        return getKnownMessageCodeMessage(fault) || getKnownFaultCodeMessage(fault)
+            || getKnownFaultStringMessage(fault) || fallbackErrorMessage
+            || getString("unknownErrorCause");
+    }
+
+    private static function getKnownMessageCodeMessage(fault:Fault):String
     {
         var message:String;

-        switch (fault.faultCode)
+        var messageCode:String;
+        var fallbackMessage:String;
+
+        if (fault.content)
         {
-            case "Channel.Security.Error":
+            if (fault.content.hasOwnProperty("messageCode"))
             {
-                message = ResourceManager.getInstance().getString("BuilderStrings", "serverMissingCrossDomain");
-                break;
+                messageCode = fault.content.messageCode;
             }
-            case "Server.Error.Request":
-            case "400":
-            case "404":
+
+            if (fault.content.hasOwnProperty("message"))
             {
-                message = ResourceManager.getInstance().getString("BuilderStrings", "serviceIsInaccessible");
-                break;
+                fallbackMessage = fault.content.message;
             }
-            case "499":
-            {
-                message = ResourceManager.getInstance().getString("BuilderStrings", "unauthorizedAccess");
-                break;
-            }
-            case "403":
-            {
-                message = ResourceManager.getInstance().getString("BuilderStrings", "resourceAccessDenied");
-                break;
-            }
-            default:
-            {
-                if (fault.faultString)
-                {
-                    message = (fault.faultString == "Sign in aborted") ?
-                        ResourceManager.getInstance().getString("BuilderStrings", "signInAborted") :
-                        fault.faultString;
-                }
-                else
-                {
-                    message = ResourceManager.getInstance().getString("BuilderStrings", "unknownErrorCause");
-                }
-            }
+        }
+
+        if (messageCode == "COM_0057")
+        {
+            message = getString("unableToSignInPortalUser");
+        }
+        else if (messageCode == "COM_0056")
+        {
+            message = getString("unableToSignUpPortalUser");
+        }
+
+        return message ? message : fallbackMessage;
+    }
+
+    private static function getString(key:String):String
+    {
+        return ResourceManager.getInstance().getString("BuilderStrings", key);
+    }
+
+    private static function getKnownFaultCodeMessage(fault:Fault):String
+    {
+        var message:String;
+
+        var faultCode:String = fault.faultCode;
+
+        if (faultCode == "Channel.Security.Error")
+        {
+            message = getString("serverMissingCrossDomain");
+        }
+        else if (faultCode == "400" || faultCode == "404"
+            || faultCode == "Server.Error.Request")
+        {
+            message = getString("serviceIsInaccessible");
+        }
+        else if (faultCode == "499")
+        {
+            message = getString("unauthorizedAccess");
+        }
+        else if (faultCode == "403")
+        {
+            message = getString("resourceAccessDenied");
+        }
+
+        return message;
+    }
+
+    private static function getKnownFaultStringMessage(fault:Fault):String
+    {
+        var message:String;
+
+        var faultString:String = fault.faultString;
+        if (faultString)
+        {
+            message = (faultString == "Sign in aborted") ?
+                getString("signInAborted") : faultString;
         }

         return message;


Don't implement subList() as in Java this is a view and we can't do that easily
in ActionScript without ubercomplexity. So we'll rewrite the code that was
using it.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4409 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/StreamableArrayList.as
+++ src/as/com/threerings/util/StreamableArrayList.as
@@ -39,18 +39,6 @@
         }
     }

-    /**
-     * Extracts and returns a sublist from this list.
-     */
-    public function subList (startIdx :int, endIdx :int) :ArrayCollection
-    {
-        var newlist :ArrayCollection = new ArrayCollection();
-        for (var ii :int = startIdx; ii <= endIdx; ii++) {
-            newlist.addItem(getItemAt(ii));
-        }
-        return newlist;
-    }
-
     // documentation inherited from interface Streamable
     public function writeObject (out :ObjectOutputStream) :void
     {


editor accounts for the fact that notes have a defined icon_id

--- flexEditor/src/org/arisgames/editor/services/AppServices.as
+++ flexEditor/src/org/arisgames/editor/services/AppServices.as
@@ -309,6 +309,7 @@
     public function saveLocation(gid:Number, loc:Location, imageMatchMediaId:Number, resp:IResponder):void
     {
         var l:Object;
+		if(loc.type == "PlayerNote") loc.iconMediaId = 72; //Set it to notebook- can't reference 'notes' table because notes have no custom icon media
         if (isNaN(loc.locationId))
         {
             trace("AppServices.as: This Location doesn't have an Id, so call create Location. Qr Code = " + loc.qrCode + " QuickTravel = " + loc.quickTravel);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12069
Author:   dloverin@adobe.com
Date:     2009-11-20T23:24:46.331262Z

Log Message:
-----------
Split airspark project off airframework.

QE notes: None.
Doc notes: None.
Bugs: SDK-24109
Reviewer: Paul, Jim
Tests run: checkintests, tests/apollo/spark/components/Window
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_close_down.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_close_down.png</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/AIRFrameworkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_restore_over.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_min_over.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_max_over.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_min_over.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/src/AIRSparkClasses.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/airframework/src/spark</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_max_over.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/Window.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_min_dis.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_max_dis.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_restore_up.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_min_up.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_max_up.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_min_up.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/accessibility/WindowedApplicationAccImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_max_up.png</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/core</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/accessibility/WindowAccImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/gripper_up.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_close_over.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_close_over.png</path>
<path kind="dir" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/src/spark" copyfrom-rev="11985" action="A">/flex/sdk/trunk/frameworks/projects/airspark/src/spark</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_close_up.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_restore_down.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_min_down.png</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/airframework/mx-air-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_max_down.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_close_up.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_min_down.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/mac_max_down.png</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/airframework/mx-air-manifest.xml" copyfrom-rev="11985" action="A">/flex/sdk/trunk/frameworks/projects/airframework/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_min_dis.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/assets/win_max_dis.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/core/Version.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1250533 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -350,7 +350,7 @@
  */
 [Frame(factoryClass="mx.managers.WindowedSystemManager")]

-[IconFile("../../mx/core/Window.png")]
+[IconFile("Window.png")]

 [ResourceBundle("core")]

@@ -454,7 +454,7 @@
  */
 public class Window extends SkinnableContainer implements IWindow
 {
-    include "../../mx/core/Version.as";
+    include "../core/Version.as";

     //--------------------------------------------------------------------------
     //


Transferred from the Adobe Open Source Subversion Repository

Revision: 7053
Author:   egeorgie@adobe.com
Date:     2009-05-19T04:01:43.055157Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-21194 [ASDoc] VerticalLayout documentation issues, http://bugs.adobe.com/jira/browse/SDK-21189 [ASDoc] HorizontalLayout documentation issues, http://bugs.adobe.com/jira/browse/SDK-21179 [ASDoc] spark.components.Button Button ASDoc issues, http://bugs.adobe.com/jira/browse/SDK-21192 [ASDoc] for BasicLayout need some clarification, add extra information, http://bugs.adobe.com/jira/browse/SDK-19538 UIComponent's includeInLayout property needs documentation.

Fix: update asdoc comments.

QE Notes: None
Doc Notes: None
Bugs: SDK-21194, SDK-21189, SDK-21179, SDK-21192, SDK-19538
Reviewer:
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259586 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/IVisualElement.as
+++ frameworks/projects/framework/src/mx/core/IVisualElement.as
@@ -70,7 +70,6 @@
     function get parent():DisplayObjectContainer;

 	/**
-	 * Documentation is not currently available.
      *  Determines the order in which items inside of groups and datagroups
      *  are rendered. Groups and DataGroups order their items based on their
      *  layer property, with the lowest layer in the back, and the higher in


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1269584 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/events/DataGridEventReason.as
+++ frameworks/projects/mx/src/mx/events/DataGridEventReason.as
@@ -16,6 +16,11 @@
  *  The DataGridEventReason class defines constants for the values
  *  of the reason property of a DataGridEvent object
  *  when the type property is itemEditEnd.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public final class DataGridEventReason
 {
@@ -32,6 +37,11 @@
      *  want to save the edited data. Even if you call the preventDefault() method
      *  from within your event listener for the itemEditEnd event,
      *  Flex still calls the destroyItemEditor() editor to close the editor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const CANCELLED:String = "cancelled";

@@ -41,6 +51,11 @@
      *  Even if you call the preventDefault() method from within your event
      *  listener for the itemEditEnd event,
      *  Flex still calls the destroyItemEditor() editor to close the editor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const OTHER:String = "other";

@@ -54,12 +69,22 @@
      *  the current item. If you call the preventDefault() method and
      *  also call the destroyItemEditor() method, you block the move to the new item,
      *  but the item editor closes.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const NEW_COLUMN:String = "newColumn";

     /**
      *  Specifies that the user moved focus to a new row.
      *  You handle this reason much like you handle NEW_COLUMN.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const NEW_ROW:String = "newRow";
 }