Transferred from the Adobe Open Source Subversion Repository

Revision: 19635
Author:   aharui@adobe.com
Date:     2011-01-07T00:25:18.039632Z

Log Message:
-----------
revert the layout changes from svn 18635.  Management feels that there isn't enough time to thoroughly test the changes.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</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/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.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/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.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="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -11,32 +11,25 @@

 package spark.components.gridClasses
 {
-import flash.display.DisplayObject;
 import flash.geom.Rectangle;
 import flash.utils.Dictionary;
 import flash.utils.getTimer;

 import mx.collections.IList;
 import mx.core.ClassFactory;
-import mx.core.IContainerInvalidating;
 import mx.core.IFactory;
 import mx.core.IInvalidating;
 import mx.core.IUITextField;
 import mx.core.IVisualElement;
 import mx.core.IVisualElementContainer;
 import mx.core.Singleton;
-import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
-import mx.events.FlexEvent;
 import mx.events.PropertyChangeEvent;
-import mx.managers.ILayoutManagerClient;
-import mx.managers.ILayoutManagerContainerClient;

 import spark.components.DataGrid;
 import spark.components.Grid;
-import spark.components.supportClasses.GroupBase;
 import spark.core.IGraphicElement;
 import spark.layouts.supportClasses.LayoutBase;

@@ -202,30 +195,6 @@
     //----------------------------------
     //  useVirtualLayout
     //----------------------------------
-
-    //----------------------------------
-    //  target
-    //----------------------------------
-
-    private var _target:GroupBase;
-
-    /**
-     * @private
-     */
-    override public function set target(value:GroupBase):void
-    {
-        if (_target == value)
-            return;
-
-        if (_target)
-            _target.removeEventListener(FlexEvent.MEASURED_SIZE_FINAL, measuredSizeFinalHandler);
-
-        _target = value;
-        super.target = value;
-
-        if (_target)
-            _target.addEventListener(FlexEvent.MEASURED_SIZE_FINAL, measuredSizeFinalHandler, false, 0, true);
-    }

     /**
      *  GridLayout only supports virtual layout, the value of this property can not be changed.
@@ -247,7 +216,7 @@
      */
     override public function set useVirtualLayout(value:Boolean):void
     {
-    }
+    }

     //--------------------------------------------------------------------------
     //
@@ -451,36 +420,6 @@

     /**
      *  @private
-     *  Runs when a renderer's measured size has changed, typically because an asynchronously
-     *  loaded image has completed loading.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.0
-     *  @productversion Flex 4.5
-     */
-    private function measuredSizeFinalHandler(event:FlexEvent):void
-    {
-        if (!grid || !grid.variableRowHeight)
-            return;
-
-        var target:DisplayObject = event.target.parent as DisplayObject;
-        var renderer:IGridItemRenderer = null;
-
-        while (target)
-        {
-            renderer = target as IGridItemRenderer;
-            if (renderer)
-                break;
-            target = target.parent as DisplayObject;
-        }
-
-        if (renderer && renderer.grid)
-            renderer.grid.invalidateCell(renderer.rowIndex, renderer.columnIndex);
-    }
-
-    /**
-     *  @private
      *  Computes new values for the grid's measuredWidth,Height and
      *  measuredMinWidth,Height properties.
      *
@@ -666,7 +605,7 @@

     //--------------------------------------------------------------------------
     //
-    //  Grid Access
+    //  DataGrid Access
     //
     //--------------------------------------------------------------------------

@@ -2125,6 +2064,13 @@

         element.visible = false;

+        // Reset GridItemRenderers back to (0,0), otherwise when the element is reused
+        // it will be validated at its last layout size which causes problems with
+        // text reflow.
+
+        if (element is GridItemRenderer)
+            element.setLayoutBoundsSize(0, 0, false);
+
         const factory:IFactory = elementToFactoryMap[element];
         if (!factory)
             return false;
@@ -2204,26 +2150,9 @@
         {
             if (!isNaN(width) || !isNaN(height))
             {
-                var oldcw:Number = renderer.estimatedWidth;
-                var oldch:Number = renderer.estimatedHeight;
-                renderer.setEstimatedSize(width, height);
-                if (renderer is ILayoutManagerContainerClient)
-                {
-                    var sameWidth:Boolean = isNaN(width) && isNaN(oldcw) || width == oldcw;
-                    var sameHeight:Boolean = isNaN(height) && isNaN(oldch) || height == oldch;
-                    if (!(sameHeight && sameWidth))
-                    {
-                        if (renderer is IContainerInvalidating)
-                            IContainerInvalidating(renderer).invalidateEstimatedSizesOfChildren();
-                        ILayoutManagerContainerClient(renderer).validateEstimatedSizesOfChildren();
-                    }
-                }
-
                 if (validatingElt)
                 {
-                    if (validatingElt is ILayoutManagerClient)
-                        UIComponentGlobals.layoutManager.validateClient(ILayoutManagerClient(validatingElt), true);
-                    else if (validatingElt is IGraphicElement)
+                    if (validatingElt is IGraphicElement)
                         validateGraphicElement(IGraphicElement(validatingElt));
                     else
                         validatingElt.validateNow();


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/charts/src/mx/charts/series/renderData/AreaSeriesRenderData.as
+++ frameworks/projects/charts/src/mx/charts/series/renderData/AreaSeriesRenderData.as
@@ -0,0 +1,133 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 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.charts.series.renderData
+{
+
+import mx.charts.chartClasses.RenderData;
+import mx.charts.series.AreaSeries;
+
+/**
+ *  Represents all the information needed by the AreaSeries to render.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class AreaSeriesRenderData extends RenderData
+{
+    include "../../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param element The AreaSeries object that this structure is associated with.
+     *  @param cache The list of AreaSeriesItem objects representing the items in the dataProvider.
+     *  @param filteredCache The list of AreaSeriesItem objects representing the items in the dataProvider that remain after filtering.
+     *  @param renderedBase The vertical position of the base of the area series, in pixels.
+     *  @param radius The radius of the items of the AreaSeries.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function AreaSeriesRenderData(element:AreaSeries,
+                                         cache:Array /* of AreaSeriesItem */ = null,
+                                         filteredCache:Array /* of AreaSeriesItem */ = null,
+                                         renderedBase:Number = 0,
+                                         radius:Number = 0)
+    {
+        super(cache,filteredCache);
+
+        this.element = element;
+        this.renderedBase = renderedBase;
+        this.radius = radius;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  element
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The AreaSeries that this structure is associated with.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var element:AreaSeries;
+
+    //----------------------------------
+    //  radius
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The radius of the items of the AreaSeries.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var radius:Number;
+
+    //----------------------------------
+    //  renderedBase
+    //----------------------------------
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The vertical position of the base of the area series, in pixels.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var renderedBase:Number;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():RenderData
+    {
+        return new AreaSeriesRenderData(element, cache, filteredCache,
+                                        renderedBase, radius);
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6950
Author:   cframpto@adobe.com
Date:     2009-05-15T13:51:40.394480Z

Log Message:
-----------
- Add scrollToPosition(anchorPosition, activePosition) which scrolls so the text position is visible in the container. (SDK-18752)
- Selection change now dispatched only when the selection (ie selectionActivePosition or selectionAnchorPosition) have changed. (SDK-18513)
- If insertion point is the end of the text and the Delete key is entered it no longer produces a change event (SDK-16010)
- hooked up TextBase enable with RichEditableText enable
- clean up selectionManager/editManager usage
- in calculateWidthInChars() explicitly cast getStyle("paddingLeft") and getStyle("paddingRight") to Numbers so the calculation produces the expected result (not sure why this is needed but the result is now correct)

QA Notes: Gumbo_TextArea_setAttributes_method_marginTop_20_2 fails because there is only one selection event now rather than the expected two (the selection didn't change so only one event)
Doc Notes:
Bugs: SDK-18752, SDK-18513, SDK-16010
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -141,47 +141,52 @@
     /**
      *  @private
      */
-    private static const HEIGHT_IN_LINES_PROPERTY_FLAG:uint = 1 << 4;
-
-    /**
-     *  @private
-     */
-    private static const IME_MODE_PROPERTY_FLAG:uint = 1 << 5;
-
-    /**
-     *  @private
-     */
-    private static const MAX_CHARS_PROPERTY_FLAG:uint = 1 << 6;
+    private static const ENABLED_PROPERTY_FLAG:uint = 1 << 4;
+
+    /**
+     *  @private
+     */
+    private static const HEIGHT_IN_LINES_PROPERTY_FLAG:uint = 1 << 5;
+
+    /**
+     *  @private
+     */
+    private static const IME_MODE_PROPERTY_FLAG:uint = 1 << 6;
+
+    /**
+     *  @private
+     */
+    private static const MAX_CHARS_PROPERTY_FLAG:uint = 1 << 7;

     /**
      *  @private
      */
-    private static const MAX_WIDTH_PROPERTY_FLAG:uint = 1 << 7;
-
-    /**
-     *  @private
-     */
-    private static const RESTRICT_PROPERTY_FLAG:uint = 1 << 8;
-
-    /**
-     *  @private
-     */
-    private static const SELECTABLE_PROPERTY_FLAG:uint = 1 << 9;
-
-    /**
-     *  @private
-     */
-    private static const SELECTION_VISIBILITY_PROPERTY_FLAG:uint = 1 << 10;
-
-    /**
-     *  @private
-     */
-    private static const TEXT_PROPERTY_FLAG:uint = 1 << 11;
-
-    /**
-     *  @private
-     */
-    private static const WIDTH_IN_CHARS_PROPERTY_FLAG:uint = 1 << 12;
+    private static const MAX_WIDTH_PROPERTY_FLAG:uint = 1 << 8;
+
+    /**
+     *  @private
+     */
+    private static const RESTRICT_PROPERTY_FLAG:uint = 1 << 9;
+
+    /**
+     *  @private
+     */
+    private static const SELECTABLE_PROPERTY_FLAG:uint = 1 << 10;
+
+    /**
+     *  @private
+     */
+    private static const SELECTION_VISIBILITY_PROPERTY_FLAG:uint = 1 << 11;
+
+    /**
+     *  @private
+     */
+    private static const TEXT_PROPERTY_FLAG:uint = 1 << 12;
+
+    /**
+     *  @private
+     */
+    private static const WIDTH_IN_CHARS_PROPERTY_FLAG:uint = 1 << 13;

     //--------------------------------------------------------------------------
     //
@@ -264,11 +269,33 @@
     /**
      *  @private
      */
+    override public function get enabled():Boolean
+    {
+        if (textView)
+            return textView.enabled;
+
+        return super.enabled;
+    }
+
+    /**
+     *  @private
+     */
     override public function set enabled(value:Boolean):void
     {
         if (value == enabled)
             return;
-
+
+        // This deviates from the standard setter pattern because enabled
+        // is a property of this component.  We don't have to store enabled in
+        // textViewProperties when the textView doesn't exist.
+
+        if (textView)
+        {
+            textView.enabled = value;
+            textViewProperties = BitFlagUtil.update(
+                uint(textViewProperties), ENABLED_PROPERTY_FLAG, true);
+        }
+
         super.enabled = value;
         invalidateSkinState();

@@ -1167,6 +1194,12 @@
                 uint(newTextViewProperties), EDITABLE_PROPERTY_FLAG, true);
        }

+        // enabled is special and comes from the super class rather than from
+        // textViewProperties.
+        textView.enabled = super.enabled;
+        newTextViewProperties = BitFlagUtil.update(
+            uint(newTextViewProperties), ENABLED_PROPERTY_FLAG, true);
+
         if (textViewProperties.heightInLines !== undefined)
         {
             textView.heightInLines = textViewProperties.heightInLines;
@@ -1260,6 +1293,17 @@

         if (BitFlagUtil.isSet(uint(textViewProperties), EDITABLE_PROPERTY_FLAG))
             newTextViewProperties.editable = textView.editable;
+
+        // enabled is special and is stored in the super class rather than in
+        // textViewProperties.  And if it changes, need to update the skin.
+        if (BitFlagUtil.isSet(uint(textViewProperties), ENABLED_PROPERTY_FLAG))
+        {
+            if (super.enabled != textView.enabled)
+            {
+                super.enabled = textView.enabled;
+                invalidateSkinState();
+            }
+        }

         if (BitFlagUtil.isSet(uint(textViewProperties),
             HEIGHT_IN_LINES_PROPERTY_FLAG))


added missing param to recursive call

added missing param to recursive call

--- WeaveJS/src/weavejs/util/JS.as
+++ WeaveJS/src/weavejs/util/JS.as
@@ -258,7 +258,7 @@
 			}

 			for (var key:String in object)
-				copy[key] = copyObject(object[key]);
+				copy[key] = copyObject(object[key], allowNonPrimitiveRefs);

 			return copy;


default implementation returns current product version correctly

--- source/actionscript/default/src/eu/alebianco/air/extensions/analytics/Analytics.as
+++ source/actionscript/default/src/eu/alebianco/air/extensions/analytics/Analytics.as
@@ -69,7 +69,7 @@
 	 * @inheritDoc
 	 */
 	public function get version():String {
-		return "";
+		return "ANE-Google-Analytics v2.0.4";
 	}
 	/**
 	 * @inheritDoc


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/charts/src/mx/charts/BarChart.as
+++ frameworks/projects/charts/src/mx/charts/BarChart.as
@@ -0,0 +1,854 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 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.charts
+{
+
+import flash.filters.DropShadowFilter;
+
+import mx.charts.chartClasses.CartesianChart;
+import mx.charts.chartClasses.CartesianTransform;
+import mx.charts.chartClasses.DataTip;
+import mx.charts.chartClasses.DataTransform;
+import mx.charts.chartClasses.IChartElement;
+import mx.charts.chartClasses.NumericAxis;
+import mx.charts.chartClasses.Series;
+import mx.charts.series.BarSeries;
+import mx.charts.series.BarSet;
+import mx.charts.series.items.BarSeriesItem;
+import mx.charts.styles.HaloDefaults;
+import mx.controls.Label;
+import mx.core.mx_internal;
+import mx.graphics.SolidColor;
+import mx.graphics.Stroke;
+import mx.styles.CSSStyleDeclaration;
+import mx.core.IFlexModuleFactory;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  Specifies how wide to draw the bars relative to the category width,
+ *  as a percentage in the range of 0 to 1.
+ *  A value of 1 uses the entire space, while a value of 0.6
+ *  uses 60% of the bar's available space.
+ *  The actual bar width used is the smaller of the
+ *  barWidthRatio property and the
+ *  maxbarWidth property
+ *  Clustered bars divide this space proportionally
+ *  among the bars in each cluster.
+ *  The default value is 0.65.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="barWidthRatio", type="Number", inherit="no")]
+
+/**
+ *  Specifies how wide to draw the bars, in pixels.
+ *  The actual bar width used is the smaller of this property
+ *  and the barWidthRatio property.
+ *  Clustered bars divide this space proportionally
+ *  among the bars in each cluster.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="maxBarWidth", type="Number", format="Length", inherit="no")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[DefaultBindingProperty(destination="dataProvider")]
+
+[DefaultTriggerEvent("itemClick")]
+
+[IconFile("BarChart.png")]
+
+/**
+ *  The BarChart control represents data as a series of horizontal bars
+ *  whose length is determined by values in the data.
+ *  A BarChart control can represent different chart variations,
+ *  including simple bars, clustered bars, stacked, 100% stacked, and high/low.
+ *
+ *
The BarChart control expects its series property
+ *  to contain an array of BarSeries objects.

+ *
+ *
Stacked and 100% bar charts override the minField
+ *  property of their BarSeries objects.

+ *
+ *  @mxml
+ *
+ *
The <mx:BarChart> tag inherits all the properties
+ *  of its parent classes, and adds the following properties:

+ *
+ *

+ *  <mx:BarChart
+ *    Properties
+ *    type="clustered|overlaid|stacked|100%"
+ *
+ *    Styles
+ *    barWidthRatio=".65"
+ *    maxBarWidth="No default"
+ *  />
+ *

+ *
+ *  @includeExample examples/Column_BarChartExample.mxml
+ *
+ *  @see mx.charts.series.BarSeries
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class BarChart extends CartesianChart
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class initialization
+	//
+	//--------------------------------------------------------------------------
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var INVALIDATING_STYLES:Object =
+	{
+		barWidthRatio: 1,
+		maxBarWidth: 1
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function BarChart()
+	{
+		super();
+
+		LinearAxis(verticalAxis).autoAdjust = false;
+
+		dataTipMode = "single";
+
+		seriesFilters = [ new DropShadowFilter(2, 45, 0.2 * 0xFFFFFF)];
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var _moduleFactoryInitialized:Boolean = false;
+
+	/**
+	 *  @private
+	 */
+	private var _perSeriesBarWidthRatio:Number;
+
+	/**
+	 *  @private
+	 */
+	private var _perSeriesMaxBarWidth:Number;
+
+	/**
+	 *  @private
+	 */
+	private var _rightOffset:Number;
+
+	/**
+	 *  @private
+	 */
+	private var _wasStacked:Boolean = false;
+
+	/**
+	 * @private
+	 */
+	mx_internal var allLabelsMeasured:Boolean = false;
+
+	/**
+	 * @private
+	 */
+	private var _allItems:Array /* of ChartItem */ = [];
+
+	/**
+	 * @private
+	 */
+	private var _barSeriesLen:Number;
+
+	/**
+	 * @private
+	 */
+	private var _needLabels:Boolean = false;
+
+	/**
+	 * @private
+	 */
+	private var _tempField:Label;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  type
+    //----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the type property.
+	 */
+	private var _type:String = "clustered";
+
+	[Inspectable(category="General", enumeration="stacked,100%,clustered,overlaid", defaultValue="clustered")]
+
+	/**
+	 *  The type of bar chart to render. Possible values are:
+	 *

+	 *
"clustered":
+	 *    Bars are grouped by category.
+	 *    This is the default value.

+	 *
+	 *
"overlaid":
+	 *    Multiple bars are rendered on top of each other by category,
+	 *    with the last series specified on top.

+	 *
+	 *
"stacked":
+	 *    Bars are stacked end to end and grouped by category.
+	 *    Each bar represents the cumulative value of the values beneath it.

+	 *
+	 *
"100%":
+	 *    Bars are stacked end to end, adding up to 100%.
+	 *    Each bar represents the percent that it contributes
+	 *    to the sum of the values for that category.

+	 *

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get type():String
+	{
+		return _type;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set type(value:String):void
+	{
+		_type = value;
+
+		invalidateSeries();
+		invalidateData();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: UIComponent
+	//
+	//--------------------------------------------------------------------------
+
+
+	/**
+	 *  @private
+	 */
+	private function initStyles():Boolean
+	{
+		HaloDefaults.init(styleManager);
+
+		var barChartStyle:CSSStyleDeclaration =
+			HaloDefaults.createSelector("mx.charts.BarChart", styleManager);
+
+		barChartStyle.defaultFactory = function():void
+		{
+			this.axisColor = 0xD5DEDD;
+			this.barWidthRatio = 0.65;
+			this.chartSeriesStyles = HaloDefaults.chartBaseChartSeriesStyles;
+			this.dataTipRenderer = DataTip;
+			this.fill = new SolidColor(0xFFFFFF, 0);
+			this.calloutStroke = new Stroke(0x888888,2);
+			this.fontSize = 10;
+			this.gridLinesStyleName = "horizontalGridLines";
+			this.horizontalAxisStyleName = "blockNumericAxis";
+			this.secondHorizontalAxisStyleName = "blockNumericAxis";
+			this.secondVerticalAxisStyleName = "blockCategoryAxis";
+			this.textAlign = "left";
+			this.verticalAxisStyleName = "blockCategoryAxis";
+			this.horizontalAxisStyleNames = ["blockNumericAxis"];
+			this.verticalAxisStyleNames = ["blockCategoryAxis"];
+		}
+
+		return true;
+	}
+
+
+	/**
+	 *  @inheritDoc
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	override public function set moduleFactory(factory:IFlexModuleFactory):void
+	{
+		super.moduleFactory = factory;
+
+		if (_moduleFactoryInitialized)
+			return;
+
+		_moduleFactoryInitialized = true;
+
+		// our style settings
+		initStyles();
+	}
+
+	/**
+	 * @private
+	 */
+	override protected function createChildren():void
+    {
+        super.createChildren();
+        _tempField = new Label();
+        _tempField.visible = false;
+        _tempField.text="W...";
+        _tempField.toolTip = "";
+        addChild(_tempField);
+        _tempField.validateNow();
+    }
+
+	/**
+	 *  @private
+	 */
+	override public function styleChanged(styleProp:String):void
+	{
+		if (styleProp == null || INVALIDATING_STYLES[styleProp] != undefined)
+			invalidateSeries();
+
+		super.styleChanged(styleProp);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: ChartBase
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function customizeSeries(seriesGlyph:Series, i:uint):void
+	{
+		if ((seriesGlyph is BarSeries) || (seriesGlyph is BarSet))
+		{
+			var series:Object = seriesGlyph;
+
+			if (!isNaN(_perSeriesBarWidthRatio))
+				series.barWidthRatio = _perSeriesBarWidthRatio;
+
+			if (!isNaN(_perSeriesMaxBarWidth))
+				series.maxBarWidth = _perSeriesMaxBarWidth;
+
+			if (_type == "overlaid")
+				series.offset = 0;
+			else
+				series.offset = _rightOffset - i * _perSeriesBarWidthRatio;
+
+			if (series is BarSeries)
+			{
+				series.stacker = null;
+				series.stackTotals = null;
+			}
+		}
+	}
+
+	/**
+	 *  @private
+	 */
+	override protected function applySeriesSet(seriesSet:Array /* of Series */,
+											   transform:DataTransform):Array /* of Series */
+	{
+
+		var barWidthRatio:Number = getStyle("barWidthRatio");
+		var maxBarWidth:Number = getStyle("maxBarWidth");
+		var g:IChartElement;
+		var n:int = seriesSet.length;
+
+		switch (_type)
+		{
+			case "stacked":
+			case "100%":
+			{
+				_wasStacked = true;
+
+				for (var i:int = 0; i < n; i++)
+				{
+					seriesSet[i].offset = 0;
+				}
+
+				var newSeriesGlyph:BarSet = new BarSet();
+				newSeriesGlyph.series = seriesSet;
+				for (i = 0; i < n; i++)
+				{
+					g = seriesSet[i] as IChartElement;
+					if (!g)
+						continue;
+					if (g.labelContainer)
+ 						newSeriesGlyph.labelContainer.addChild(seriesSet[i].labelContainer);
+				}
+
+				if (!isNaN(barWidthRatio))
+					newSeriesGlyph.barWidthRatio = barWidthRatio;
+
+				if (!isNaN(maxBarWidth))
+					newSeriesGlyph.maxBarWidth = maxBarWidth;
+
+				newSeriesGlyph.type = _type;
+
+				invalidateData();
+				return [ newSeriesGlyph ];
+			}
+
+			case "clustered":
+			default:
+			{
+
+				var barSeriesCount:int = 0;
+				for each(var series:Series in seriesSet) {
+					if(series is BarSet || series is BarSeries)
+						barSeriesCount++;
+				}
+
+				_perSeriesBarWidthRatio = barWidthRatio / barSeriesCount;
+				_perSeriesMaxBarWidth = maxBarWidth / barSeriesCount;
+				_rightOffset = barWidthRatio / 2 - _perSeriesBarWidthRatio / 2;
+				n = seriesSet.length;
+				var count:int = 0;
+				for (i = 0; i < n; i++)
+				{
+					var newSeries:IChartElement = seriesSet[i];
+					if (newSeries is BarSeries || newSeries is BarSet)
+					{
+						customizeSeries(Series(seriesSet[i]), count);
+						count++;
+					}
+				}
+
+				return seriesSet;
+			}
+
+			case "overlaid":
+			{
+				_perSeriesBarWidthRatio = barWidthRatio;
+				_perSeriesMaxBarWidth = maxBarWidth;
+
+				_rightOffset = 0;
+				super.applySeriesSet(seriesSet, transform);
+				break;
+			}
+		}
+
+		return seriesSet;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: CartesianChart
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function initSecondaryMode():void
+	{
+		super.initSecondaryMode();
+
+		if (!secondHorizontalAxis)
+			secondHorizontalAxis = new LinearAxis();
+
+		if (!secondHorizontalAxisRenderer)
+			secondHorizontalAxisRenderer = new AxisRenderer();
+	}
+
+	/**
+	 * Determines positions and dimensions of labels for all series in the chart
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	override mx_internal function measureLabels():Object
+	{
+		getSeriesLabelPosSet();
+		if (!_needLabels)
+			return null;
+		var n:int = series.length;
+		var allSeriesTransform:Boolean = true;
+
+		if (type == "stacked" || type == "overlaid" || type == "100%")
+			allLabelsMeasured = false;
+
+		_allItems = [];
+		_barSeriesLen = 0;
+		for (var i:int = 0; i < n; i++)
+		{
+			findChartItems(series[i]);
+		}
+		_allItems.sort(sortOnY);	//sort all items with respect to thier position along Y-axis
+		var itemsLen:Number = _allItems.length;
+		for (i = itemsLen - 1; i >= 0; i--)
+		{
+			var v:BarSeriesItem = _allItems[i];
+			var barSeries:BarSeries = BarSeries(BarSeriesItem(_allItems[i]).element);
+			var labelPosition:String = barSeries.labelPos;
+
+			if (labelPosition == "inside" || labelPosition == "outside")
+			{
+
+				var base:Number = barSeries.seriesRenderData.renderedBase;
+				var size:Number = barSeries.getStyle('fontSize');
+				if (barSeries.labelFunction != null)
+					barSeries.measuringField.text = v.labelText = barSeries.labelFunction(v, barSeries);
+ 				else if (barSeries.labelField != null)
+					barSeries.measuringField.text = v.labelText = v.item[barSeries.labelField];
+				else if (barSeries.dataFunction != null)
+					barSeries.measuringField.text = v.labelText = barSeries.dataFunction(this, v.item, 'xNumber');
+				else
+					barSeries.measuringField.text = v.labelText = v.item[barSeries.xField];
+
+				barSeries.measuringField.validateNow();
+
+				var labelRotation:Number = barSeries.labelAngle;
+				var labelSizeLimit:Number = barSeries.maxLabelSize;
+				if (labelPosition == "outside" && (type == "stacked" || type == "overlaid" || type == "100%"))
+				{
+					labelPosition = "inside";
+					barSeries.labelPos = 'inside';
+						//today, labelPosition = inside is only supported for stacked, 100% and overlaid
+				}
+
+
+		    	if (labelPosition == 'outside')
+		    	{
+		    		v.labelHeight = 2 * barSeries.seriesRenderData.renderedHalfWidth;
+					if (!(isNaN(labelRotation)) && labelRotation != 0 && barSeries.measuringField.embedFonts)
+					{
+						var r:Number = -labelRotation / Math.PI * 180;
+								//for future enhancement
+								//check for type of chart if we need to support labelPosition = outside for all types of charts
+						if (type == "clustered")
+						{
+							if (i > n - 1)
+								v.labelWidth = Math.abs((_allItems[i - i%n - 1].y + BarSeries(_allItems[i - i%n - 1].element).seriesRenderData.renderedYOffset
+								               + BarSeries(_allItems[i - i%n - 1].element).seriesRenderData.renderedHalfWidth -
+								               (v.y + barSeries.seriesRenderData.renderedYOffset -
+							            	   barSeries.seriesRenderData.renderedHalfWidth))/ Math.cos(r));
+							else
+								v.labelWidth = Math.abs((_allItems[0].y + BarSeries(_allItems[0].element).seriesRenderData.renderedYOffset
+								               - BarSeries(_allItems[0].element).seriesRenderData.renderedHalfWidth -
+								               (v.y + barSeries.seriesRenderData.renderedYOffset -
+							            	   barSeries.seriesRenderData.renderedHalfWidth))/ Math.cos(r));
+						}
+						else
+						{
+							if (i > n - 1)
+								v.labelWidth = Math.abs((_allItems[i - n].y + BarSeries(_allItems[i - n].element).seriesRenderData.renderedYOffset
+							    	           + BarSeries(_allItems[i - n].element).seriesRenderData.renderedHalfWidth -
+						    	    	       (v.y + barSeries.seriesRenderData.renderedYOffset -
+						        	    	   barSeries.seriesRenderData.renderedHalfWidth))/ Math.cos(r));
+							else
+								v.labelWidth = Math.abs((_allItems[0].y + BarSeries(_allItems[0].element).seriesRenderData.renderedYOffset
+							    	           - BarSeries(_allItems[0].element).seriesRenderData.renderedHalfWidth -
+							        	       (v.y + barSeries.seriesRenderData.renderedYOffset -
+						            		   barSeries.seriesRenderData.renderedHalfWidth))/ Math.cos(r));
+						}
+						v.labelY=v.y + barSeries.seriesRenderData.renderedYOffset + barSeries.seriesRenderData.renderedHalfWidth;
+					}
+					else
+					{
+						if (v.x > (isNaN(v.min) ? base : v.min))
+						{
+							v.labelWidth = dataToLocal(NumericAxis(barSeries.dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS)).computedMaximum,0).x - dataToLocal(v.xNumber,0).x;
+							v.labelX = v.x;
+							if (v.labelWidth == 0)
+							{
+								v.labelWidth = Math.abs(v.x -(isNaN(v.min) ? base : v.min));
+								v.labelX = isNaN(v.min) ? base : v.min;
+							}
+						}
+						else
+						{
+							v.labelWidth = dataToLocal(v.xNumber,0).x - dataToLocal(NumericAxis(barSeries.dataTransform.getAxis(CartesianTransform.HORIZONTAL_AXIS)).computedMinimum,0).x;
+							v.labelX = v.x - v.labelWidth;
+							if (v.labelWidth == 0)
+							{
+								v.labelWidth = Math.abs(v.x -(isNaN(v.min) ? base : v.min));
+								v.labelX = v.x;
+							}
+						}
+						v.labelY=v.y + barSeries.seriesRenderData.renderedYOffset - barSeries.seriesRenderData.renderedHalfWidth;
+					}
+					var labelScale:Number = 1;
+					if (barSeries.measuringField.textWidth > v.labelWidth || barSeries.measuringField.textHeight > v.labelHeight)
+					{
+						labelScale = v.labelWidth / barSeries.measuringField.textWidth;
+						labelScale = Math.min(labelScale, v.labelHeight / barSeries.measuringField.textHeight);
+						if (size * labelScale > labelSizeLimit)
+							barSeries.seriesRenderData.labelScale = Math.min(labelScale,barSeries.seriesRenderData.labelScale);
+						else
+						{
+							_tempField.setStyle('fontSize',size);
+							if (_tempField.textWidth > v.labelWidth || _tempField.textHeight > v.labelHeight)
+							{
+								labelScale = v.labelWidth / _tempField.textWidth;
+								labelScale = Math.min(labelScale, v.labelHeight / _tempField.textHeight);
+								if (size * labelScale > labelSizeLimit)
+									barSeries.seriesRenderData.labelScale = Math.min(labelScale,barSeries.seriesRenderData.labelScale);
+								else
+								{
+									v.labelText = "";
+									v.labelWidth = 1;
+								}
+							}
+						}
+					}
+
+					if (!isNaN(labelRotation) && labelRotation!=0 && barSeries.measuringField.embedFonts)
+					{
+						v.labelHeight = barSeries.measuringField.textHeight + 2;
+						if (v.x > (isNaN(v.min) ? base : v.min))
+							v.labelX = v.x + v.labelHeight;
+						else
+							v.labelX = v.x - 2 * v.labelHeight;
+						v.labelY = v.labelY - v.labelHeight;
+						v.labelWidth = v.labelWidth - v.labelHeight;
+					}
+	 	    	}
+	 	    	else if (labelPosition == "inside")
+ 		    	{
+ 		    		v.labelWidth = Math.abs(v.x -(isNaN(v.min) ? base : v.min));
+					v.labelHeight = 2 * barSeries.seriesRenderData.renderedHalfWidth;
+					v.labelY=v.y + barSeries.seriesRenderData.renderedYOffset - barSeries.seriesRenderData.renderedHalfWidth;
+
+					if (v.x > (isNaN(v.min) ? base : v.min))
+						v.labelX = isNaN(v.min) ? base : v.min;
+					else
+						v.labelX = v.x;
+					labelScale = 1;
+					if (barSeries.measuringField.textWidth > v.labelWidth || (barSeries.measuringField.textHeight) > v.labelHeight)
+					{
+						labelScale = v.labelWidth / barSeries.measuringField.textWidth;
+						labelScale = Math.min(labelScale, v.labelHeight / barSeries.measuringField.textHeight);
+						if (size * labelScale > labelSizeLimit)
+							barSeries.seriesRenderData.labelScale = Math.min(labelScale,barSeries.seriesRenderData.labelScale);
+						else
+						{
+							_tempField.setStyle('fontSize',size);
+							if (_tempField.textWidth > v.labelWidth || _tempField.textHeight + 2 > v.labelHeight)
+							{
+								labelScale = v.labelWidth / _tempField.textWidth;
+								labelScale = Math.min(labelScale, v.labelHeight / _tempField.textHeight);
+								if (size * labelScale > labelSizeLimit)
+									barSeries.seriesRenderData.labelScale = Math.min(labelScale,barSeries.seriesRenderData.labelScale);
+								else
+								{
+									v.labelText = "";
+									v.labelWidth = 1;
+								}
+							}
+						}
+					}
+					var prevItemsCount:int =_barSeriesLen - 1 - (i % _barSeriesLen);
+					for (var j:int = 1; j <= prevItemsCount; j++)
+							//test for overlaps with previous labels
+					{
+						var tempItem:BarSeriesItem = _allItems[i + j];
+						if (v.labelY == tempItem.labelY)
+						{
+							if (((v.labelX >= tempItem.labelX) && (v.labelX < (tempItem.labelX + tempItem.labelWidth))) ||
+									((v.labelX <= tempItem.labelX) && ((v.labelX + v.labelWidth) > tempItem.labelX)))
+							{
+								v.labelText = "";
+								v.labelWidth = 1;
+							}
+						}
+					}
+ 				}
+ 			}
+ 		    else
+			{
+				barSeries.seriesRenderData.labelData = null;
+				barSeries.labelCache.count = 0;
+			}
+ 		}
+ 		allLabelsMeasured = true;
+ 		for (i = 0; i < n; i++)
+ 		{
+ 			invalidateDisplay(series[i]);
+ 		}
+ 		return null;
+	}
+
+	//------------------------------------------------------------------------------------
+	//
+	// Methods
+	//
+	//------------------------------------------------------------------------------------
+
+	mx_internal function getSeriesLabelPos(series:Series):void
+	{
+		if (series is BarSeries)
+		{
+			var barSeries:BarSeries = BarSeries(series);
+			var position:String = barSeries.labelPos;
+			if (position == "inside" || position == "outside" || position == "none")
+				_needLabels = true;
+		}
+	    else if (series is BarSet)
+	    {
+	    	var setSeries:Array /* of Series */ = BarSet(series).series;
+	    	var n:int = setSeries.length;
+	    	for (var i:int = 0; i < n; i++)
+	    	{
+	    		getSeriesLabelPos(setSeries[i]);
+	    	}
+	    }
+	}
+
+	mx_internal function getSeriesLabelPosSet():void
+	{
+		var n:int = series.length;
+		_needLabels = false;
+		for (var i:int = 0; i < n; i++)
+		{
+			if (_needLabels)
+				return;
+			getSeriesLabelPos(series[i]);
+		}
+		n = secondSeries.length;
+		for (i = 0; i < n; i++)
+		{
+			if (_needLabels)
+				return;
+			getSeriesLabelPos(secondSeries[i]);
+		}
+	}
+
+	/**
+	 * @private
+	 */
+	 private function sortOnY(a:BarSeriesItem,b:BarSeriesItem):int
+	 {
+	 	var offset1:Number = BarSeries(a.element).seriesRenderData.renderedYOffset;
+	 	var offset2:Number = BarSeries(b.element).seriesRenderData.renderedYOffset;
+	 	if (a.y + offset1 > b.y + offset2)
+	 		return 1;
+	 	else if (a.y + offset1  b.xNumber)
+	 			return 1;
+	 		else if (a.xNumber < b.xNumber)
+	 			return -1;
+	 		else
+	 			return 0;
+	 	}
+	 }
+
+    /**
+   	 * @private
+  	 */
+ 	 private function findChartItems(series:Series):void
+ 	 {
+ 	 	var n:int;
+ 	 	var i:int;
+ 	 	if (series is BarSeries)
+ 	 	{
+ 	 		_barSeriesLen = _barSeriesLen + 1;
+ 	 		var barSeries:BarSeries = BarSeries(series);
+ 	 		var seriesItems:Array /* of BarSeriesItem */ = barSeries.seriesRenderData.filteredCache;
+ 			n = seriesItems.length;
+ 			barSeries.labelCache.count = n;
+ 			barSeries.seriesRenderData.labelScale = 1;
+
+ 			for (i = 0; i < n; i++)
+ 			{
+ 				_allItems.push(BarSeriesItem(seriesItems[i]));
+ 			}
+ 	 	}
+ 	 	else if (series is BarSet)
+ 	 	{
+ 	 		var setSeries:Array /* of Series */ = BarSet(series).series;
+ 	 		n = setSeries.length;
+ 	 		for (i = 0; i < n; i++)
+ 	 		{
+ 	 			findChartItems(setSeries[i]);
+ 	 		}
+ 	 	}
+ 	 }
+ 	/**
+	 * @private
+ 	 */
+ 	 private function invalidateDisplay(series:Series):void
+ 	 {
+ 	 	if (series is BarSeries)
+ 	 		BarSeries(series).updateLabels();
+ 	 	else if (series is BarSet)
+ 	 	{
+ 	 		var setSeries:Array /* of Series */ = BarSet(series).series;
+ 	 		var n:int = setSeries.length;
+ 	 		for (var i:int = 0; i < n; i++)
+ 	 		{
+ 	 			invalidateDisplay(setSeries[i]);
+ 	 		}
+ 	 	}
+ 	 }
+
+}
+
+}


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@1251648 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation/src/mx/automation/tabularData/ListBaseTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/ListBaseTabularData.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.automation.tabularData
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InvalidatingSprite.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InvalidatingSprite.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  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
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 4743
Author:   aharui@adobe.com
Date:     2009-01-29T22:28:50.531343Z

Log Message:
-----------
Bunches of FxButtonBar bugs

Most notable change: Re-factored ButtonBar's topology to look less like a container of Buttons and more like a control with child buttons.  The child buttons no longer actually get focus although they appear to.

QE Notes: None
Doc Notes: None
Bugs: SDK-18305, SDK-18366, SDK-18369, SDK-18374, SDK-18376, SDK-18393, SDK-13592, SDK-18611, SDK-18648
Reviewer: Glenn
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ISelectableRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -31,8 +31,6 @@
 import mx.events.PropertyChangeEvent;
 import mx.managers.ISystemManager;
 import mx.modules.ModuleManager;
-
-use namespace mx_internal;

 //--------------------------------------
 //  Styles
@@ -233,8 +231,8 @@
         if (skin)
             skin.setActualSize(unscaledWidth, unscaledHeight);

-        if (focusObj && focusObj is IInvalidating)
-            IInvalidating(focusObj).invalidateDisplayList();
+        if (mx_internal::focusObj && mx_internal::focusObj is IInvalidating)
+            IInvalidating(mx_internal::focusObj).invalidateDisplayList();
     }

     /**
@@ -257,6 +255,7 @@
      *  @private
      */
     mx_internal var focusObj:DisplayObject;
+    mx_internal var drawFocusAnyway:Boolean;

     override public function drawFocus(isFocused:Boolean):void
     {
@@ -264,24 +263,26 @@
         {
             // For some composite components, the focused object may not
             // be "this". If so, we don't want to draw the focus.
-            if (focusManager.getFocus() != this)
+            if (focusManager.getFocus() != this && !mx_internal::drawFocusAnyway)
                 return;

-            if (!focusObj)
+            if (!mx_internal::focusObj)
             {
                 var focusSkinClass:Class = getStyle("focusSkin");

                 if (focusSkinClass)
-                    focusObj = new focusSkinClass();
+                    mx_internal::focusObj = new focusSkinClass();

-                super.addChildAt(focusObj, 0);
+                super.addChildAt(mx_internal::focusObj, 0);
             }
+			if (mx_internal::focusObj && "focusObject" in mx_internal::focusObj)
+				mx_internal::focusObj["focusObject"] = this;
         }
         else
         {
-            if (focusObj)
-                super.removeChild(focusObj);
-            focusObj = null;
+            if (mx_internal::focusObj)
+                super.removeChild(mx_internal::focusObj);
+            mx_internal::focusObj = null;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 13189
Author:   jimurphy@adobe.com
Date:     2009-12-23T14:48:29.770138Z

Log Message:
-----------
merge 3.x revs 13067,13081,13120 -> trunk

--------
rev#13120
Fix to prevent a module leak when accessibility is turned on.

Soft-link to the following in mx.accessibility.AccImp:

mx.containers.Form;
mx.containers.FormHeading;
mx.containers.FormItem;
mx.controls.Label;
mx.core.Container;

and will soft-link to the following in mx.accessibility.UIComponentAccProps:

mx.controls.FormItemLabel;
mx.controls.scrollClasses.ScrollBar;

These changes will keep the classes from being drawn into memory when they are not being used in the application.

This fix stops the module leak because the module's application domain will contain both mx.controls.Button and mx.accessibility.ButtonAccImpl. Since both are in the same application domain the module is free to be garbage collected.

Bugs: SDK-24572

-----------
rev# 13081
AccImpl should check for ISystemManager, not SystemManager.

----------
rev#13067
Fix for html-wrapper ant task generates incorrect wrapper files for flash player version detection.

Bugs: SDK-18826

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/antTasks/src/flex/ant/HtmlWrapperTask.java</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as</path>

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

--- frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as
+++ frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as
@@ -15,9 +15,9 @@
 import flash.accessibility.Accessibility;
 import flash.accessibility.AccessibilityProperties;
 import flash.events.Event;
+import flash.system.ApplicationDomain;
+
 import mx.accessibility.AccImpl;
-import mx.controls.FormItemLabel;
-import mx.controls.scrollClasses.ScrollBar;
 import mx.core.UIComponent;
 import mx.core.mx_internal;

@@ -117,11 +117,15 @@
                 shortcut = component.accessibilityProperties.shortcut;
         }

-        if (master is ScrollBar)
+        var scrollBarClass:Class = Class(AccImpl.getDefinition("mx.controls.scrollClasses.ScrollBar", master.moduleFactory));
+        if (scrollBarClass && master is scrollBarClass)
         {
             silent = true;
-        }
-        else if (master is FormItemLabel)
+            return;
+        }
+
+        var formItemLabelClass:Class = Class(AccImpl.getDefinition("mx.controls.FormItemLabel", master.moduleFactory));
+        if (formItemLabelClass && master is formItemLabelClass)
         {
             name = AccImpl.getFormName(master);
             silent = true;


qnd: add backward compatibility to this.tags, categories, createdAt and userScreenName

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@86344 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- plugins/playlistApiPlugin/src/com/kaltura/kdpfl/plugin/component/PlaylistEntryVO.as
+++ plugins/playlistApiPlugin/src/com/kaltura/kdpfl/plugin/component/PlaylistEntryVO.as
@@ -63,5 +63,23 @@
 		{
 			return entry.entryId;
 		}
+
+		public function get tags():String{
+			return entry.tags;
+		}
+
+		public function get categories():String{
+			return entry.categories;
+		}
+
+		public function get createdAt():int{
+			return entry.createdAt;
+		}
+
+		public function get userScreenName():String
+		{
+			return entry.userScreenName;
+		}
+
 	}
 }


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@1290474 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/olap/aggregators/AverageAggregator.as
+++ frameworks/projects/advancedgrids/src/mx/olap/aggregators/AverageAggregator.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.olap.aggregators


Transferred from the Adobe Open Source Subversion Repository

Revision: 19590
Author:   jasonsj@adobe.com
Date:     2011-01-04T23:44:20.039628Z

Log Message:
-----------
Minimal implementation of IVisualElemnt to support baselinePosition in StyleableTextField.

Updated ActionBar and LabelItemRenderer baselinePosition.

QE notes: None
Doc notes:
Bugs:
Reviewer: egeorgie
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -338,26 +338,11 @@
      */
     override public function get baselinePosition():Number
     {
-		// Copied from UITextField.baselinePosition
-        var tlm:TextLineMetrics;
-
         // The text styles aren't known until there is a parent.
         if (!parent)
             return NaN;

-        // getLineMetrics() returns strange numbers for an empty string,
-        // so instead we get the metrics for a non-empty string.
-        var isEmpty:Boolean = (labelDisplay.text == "");
-        if (isEmpty)
-            labelDisplay.text = "Wj";
-
-        tlm = labelDisplay.getLineMetrics(0);
-
-        if (isEmpty)
-            labelDisplay.text = "";
-
-		// TextFields have 2 pixels of padding all around.
-        return 2 + tlm.ascent;
+        return labelDisplay.baselinePosition;
 	}

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 19493
Author:   rfrishbe@adobe.com
Date:     2010-12-20T23:03:58.406534Z

Log Message:
-----------
Three fixes in LabelItemRenderer and IconItemRenderer:

1) When the iconField is not defined in the data, let's explicitly set the icon's source to null so we don't accidentally display any old data when the item renderer gets re-used
2) Push explicitWidth/explicitHeight down into the icon when iconWidth/iconHeight are set. This will save us a BitmapImage.measure() call when both are set.
3) When itemIndex is set, we only invalidate the display list when using alternatingItemColors.

QE notes:
Doc notes:
Bugs: -
Reviewer: Evtim
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -502,7 +502,13 @@
             return;

         _itemIndex = value;
-        invalidateDisplayList();
+
+        // only invalidateDisplayList() if this causes use to redraw which
+        // is only if alternatingItemColors are defined (and technically also
+        // only if we are not selected or down, etc..., but we'll ignore those
+        // as this will shortcut 95% of the time anyways)
+		if (getStyle("alternatingItemColors") !== undefined)
+			invalidateDisplayList();
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 16545
Author:   chiedozi@adobe.com
Date:     2010-06-14T03:42:53.505665Z

Log Message:
-----------
Added MobileApplication, ViewNavigator, PersistenceManager and ViewTransition prototypes to mobile components swc.

mobilecomponents and mobiletheme eclipse projects now link to airglobal.swc instead of playerglobal.swc so that MobileApplication can respond to StageOrientation and NativeApplication events.

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/PersistenceManager.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/IPersistenceManager.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/IViewTransition.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/SlideViewTransition.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/MobileApplicationSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/managers/IPersistenceManager.as
+++ frameworks/projects/mobilecomponents/src/spark/managers/IPersistenceManager.as
@@ -0,0 +1,19 @@
+package spark.core.managers
+{
+public interface IPersistenceManager
+{
+    function initialize(id:String = null):void;
+
+    function setProperty(key:String, value:Object):void;
+
+    function getProperty(key:String):Object;
+
+    function clear():void;
+
+    function flush():void;
+
+    function get enabled():Boolean;
+
+    function set enabled(value:Boolean):void;
+}
+}


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@1284488 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/events/DisplayLayerObjectExistenceEvent.as
+++ frameworks/projects/spark/src/spark/events/DisplayLayerObjectExistenceEvent.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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 spark.events
 {


Introducing a zero difference in TestLayout to test the arithmetic optimizer

--- raw/src/scratch/layout/TestLayout.as
+++ raw/src/scratch/layout/TestLayout.as
@@ -25,7 +25,7 @@
     {
         super();
         addChild(a = makeBox( 50, 50, 100, 100, 0x993333));
-        addChild(b = makeBox(170, 50, 100, 100, 0x333399));
+        addChild(b = makeBox(150, 50, 100, 100, 0x333399));
         addEventListener(Event.ADDED_TO_STAGE, onStage);
     }


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@1258947 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/controls/listClasses/IDropInListItemRenderer.as
+++ frameworks/projects/framework/src/mx/controls/listClasses/IDropInListItemRenderer.as
@@ -117,6 +117,11 @@
  *
  *  @see mx.controls.listClasses.BaseListData
  *  @see mx.core.IDataRenderer
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IDropInListItemRenderer
 {
@@ -133,6 +138,11 @@
     /**
      *  Implements the listData property
      *  using setter and getter methods.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get listData():BaseListData;


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/aggregators/MinAggregator.as
+++ frameworks/projects/advancedgrids/src/mx/olap/aggregators/MinAggregator.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 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.olap.aggregators


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/framework/src/mx/effects/effectClasses/FadeInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/FadeInstance.as
@@ -16,6 +16,8 @@
 import mx.core.mx_internal;
 import mx.events.FlexEvent;

+use namespace mx_internal;
+
 /**
  *  The FadeInstance class implements the instance class
  *  for the Fade effect.
@@ -176,7 +178,7 @@
 		super.play();

 		// Try to cache the target as a bitmap.
-		//EffectManager.mx_internal::startBitmapEffect(target);
+		//EffectManager.startBitmapEffect(target);

 		// Remember the original value of the target object's alpha
 		origAlpha = target.alpha;
@@ -219,7 +221,7 @@
 		}

 		tween = createTween(this, alphaFrom, alphaTo, duration);
-		target.alpha = tween.mx_internal::getCurrentValue(0)
+		target.alpha = tween.getCurrentValue(0)
 	}

 	/**
@@ -238,7 +240,7 @@
 		// Call super function first so we don't clobber resetting the alpha.
 		super.onTweenEnd(value);

-		if (mx_internal::hideOnEffectEnd || restoreAlpha)
+		if (hideOnEffectEnd || restoreAlpha)
 		{
 			target.alpha = origAlpha;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19325
Author:   clucier@adobe.com
Date:     2010-12-13T20:17:04.998196Z

Log Message:
-----------
We now disable background processing (disable layout) during mobile view transitions.  Added mode to PerfReporter such that FPS is computed via ENTER_FRAME events instead of RENDER (was a pain to have to invoke stage.invalidate() at all the right places, for interval based animations). Disabled frameRate zooming in ViewNavigator.

QE notes: None
Doc notes: None
Bugs: SDK-28657, SDK-28755
Reviewer: Chiedo
Tests run: Checkin, TransitionTests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/PerfLib/src/perflib/impl/PerfReporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/TransitionTests/src/TransitionTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/PerfLib/src/perflib/IPerfReporter.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -276,12 +276,7 @@
      *  @private
      */
     private var emptyViewDescriptor:ViewDescriptor = null;
-
-    /**
-     *  @private
-     */
-    private var explicitFrameRate:Number;
-
+
     /**
      *  @private
      *  This following property stores the mouseEnabled
@@ -1214,22 +1209,7 @@

         // If the action queue doesn't exist, create it
         if (delayedNavigationActions.length == 0)
-        {
             addEventListener(Event.ENTER_FRAME, executeDelayedActions);
-
-            // Up the framerate so that we get the next ENTER_FRAME event
-            // as fast as possible.  This will be restored when this event
-            // is handled.
-            try
-            {
-                explicitFrameRate = systemManager.stage.frameRate;
-                systemManager.stage.frameRate = 1000;
-            }
-            catch (e:SecurityError)
-            {
-                // Ignore the possible security error
-            }
-        }

         delayedNavigationActions.push({action:action, viewClass:viewClass,
             data:data, transition:transition, context:context});
@@ -1250,17 +1230,7 @@
     private function executeDelayedActions(event:Event):void
     {
         removeEventListener(Event.ENTER_FRAME, executeDelayedActions);
-
-        // Restore framerate
-        try
-        {
-            systemManager.stage.frameRate = explicitFrameRate;
-        }
-        catch (e:SecurityError)
-        {
-            // Ignore the possible securtiy error
-        }
-
+
         if (delayedNavigationActions.length == 0)
             return;

@@ -2099,13 +2069,10 @@
     private function startViewTransition(event:Event):void
     {
         removeEventListener(Event.ENTER_FRAME, startViewTransition);
-
-//        CONFIG::performanceInstrumentation
-        {
-            if (hasEventListener(FlexEvent.TRANSITION_START))
-                dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_START, false, false));
-        }
-
+
+        if (hasEventListener(FlexEvent.TRANSITION_START))
+            dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_START, false, false));
+
 		activeTransition.play();
     }

@@ -2121,7 +2088,7 @@
     private function transitionComplete(event:Event):void
     {
         ViewTransitionBase(event.target).removeEventListener(FlexEvent.TRANSITION_END, transitionComplete);
-
+
         if (hasEventListener(FlexEvent.TRANSITION_END))
             dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_END, false, false));


Transferred from the Adobe Open Source Subversion Repository

Revision: 8402
Author:   jszeto@adobe.com
Date:     2009-07-06T21:37:44.368703Z

Log Message:
-----------
GraphicElement mask bug

http://bugs.adobe.com/jira/browse/SDK-19224 - Incorrect drawing after adding a mask to an existing GraphicElement

The GraphicElement was not redrawing itself after a mask was applied. The fix is to always call invalidateDisplayList when a mask is set.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -1003,6 +1003,7 @@
             invalidateDisplayObjectSharing();

         invalidateProperties();
+        invalidateDisplayList();
     }

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


Only initialize when `stage` is set.

Only initialize when `stage` is set.

--- src/stdio/Sprite.as
+++ src/stdio/Sprite.as
@@ -8,10 +8,10 @@
       if (stage) {
         stage.scaleMode = StageScaleMode.NO_SCALE
         stage.align = StageAlign.TOP_LEFT
+
+        // Let the subclass constructor run first.
+        setTimeout(initialize, 0)
       }
-
-      // Let the subclass constructor run first.
-      setTimeout(initialize, 0)
     }

     private function initialize(): void {


more ai

more ai

--- src/ageofai/unit/utils/VillagerAI.as
+++ src/ageofai/unit/utils/VillagerAI.as
@@ -27,12 +27,12 @@

         public function tick(villager:VillagerVO, mapModel:IMapModel, home:HomeVO):IntPoint
         {
-            if ( villager.status == CVillagerStatus.IDLE )
+            if ( villager.status == CVillagerStatus.IDLE && (villager.destination == null || villager.destination.currentEntry >= villager.destination.path.length - 1) )
             {
                 var newPoint:IntPoint;

                 var objectFounds:Vector.<MapNodeVO> = new Vector.<MapNodeVO>();
-
+                // Ahead there be some code duplication we could avoid!
                 // Check sight area
                 for (var i:int = 0, count:int = sightOffset.length; i < count; i++)
                 {
@@ -82,7 +82,7 @@

                 home.objectFounds = home.objectFounds.concat(objectFounds);

-                if ( home.objectFounds.length == 0 )
+                if ( home.objectFounds.length == 0 || objectFoundsAlreadyTargetted(home) )
                 {
                     // Move randomly
                     do {
@@ -110,6 +110,11 @@
                     // Go to object
                     i = 0;
                     do {
+                        while (isOtherVillagerGoingTo(home, home.objectFounds[i].pos))
+                        {
+                            i++;
+                        }
+                        if (i >= home.objectFounds.length - 1) break;
                         var path:Vector.<IntPoint> = mapModel.getPath(villager.position, home.objectFounds[i].pos);
                         i++;
                     } while (path == null && i < home.objectFounds.length)
@@ -128,20 +133,43 @@
                 if (villager.destination)
                 {
                     var destPoint:IntPoint = villager.destination.path[0];
-                    var objectType:int = mapModel.map[destPoint.y][destPoint.x].objectType;
+                    objectType = mapModel.map[destPoint.y][destPoint.x].objectType;
                     if (objectType == CMapNodeType.OBJECT_NULL || objectType == CMapNodeType.OBJECT_HOME)
                     {
                         villager.destination = null;
                     }
                     else
                     {
-                        newPoint = villager.destination[villager.destination.currentEntry++];
+                        newPoint = villager.destination.path[villager.destination.currentEntry++];
                     }
                 }
             }

             return newPoint;
         }
+
+        private function objectFoundsAlreadyTargetted(home:HomeVO):Boolean
+        {
+            for each (var objectFound:MapNodeVO in home.objectFounds)
+            {
+                if (!isOtherVillagerGoingTo(home, objectFound.pos)) return false;
+            }
+            return true;
+        }
+
+        private function isOtherVillagerGoingTo(home:HomeVO, pos:IntPoint):Boolean
+        {
+            for each (var villager:VillagerVO in home.villagers)
+            {
+                if (villager.destination == null) continue;
+
+                if (villager.destination.path[villager.destination.path.length - 1] == pos)
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/CallActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/CallActionInstance.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package flex.effects.effectClasses
+package mx.effects.effectClasses
 {

 import mx.effects.effectClasses.ActionEffectInstance;
@@ -22,7 +22,7 @@
  *
  *  @see flex.effects.CallFunctionAction
  */
-public class CallFunctionActionInstance extends ActionEffectInstance
+public class CallActionInstance extends ActionEffectInstance
 {
     include "../../core/Version.as";

@@ -37,7 +37,7 @@
      *
      *  @param target The Object to animate with this effect.
      */
-    public function CallFunctionActionInstance(target:Object)
+    public function CallActionInstance(target:Object)
     {
         super(target);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3691
Author:   chaase@adobe.com
Date:     2008-10-16T19:19:46.736687Z

Log Message:
-----------
Fixed sdk-16853, sdk-17341, sdk-16855, sdk-16681, sdk-16668, sdk-16851, sdk-16480. The main change is that the new Wait effect has gone away and its functionality (optionally waiting for an event) is instead merged into the old Pause effect. Some enhancements were added to Pause along the way. Also fixed other random effects issues, such as waiting to raise the effectStart event until after startDelay elapses (like the old Flex3 effect behavior).

reviewed by Jason and Evtim
tests: checkintests, Mustella tests/Effects, tests/ListDataEffects, tests/gumbo/effects (minus Wait and CallAction tests, which need to be updated)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PauseInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Pause.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/WaitInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Wait.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AddAction.as</path>

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