Transferred from the Adobe Open Source Subversion Repository

Revision: 12370
Author:   smgilson@adobe.com
Date:     2009-12-02T16:48:37.124467Z

Log Message:
-----------
Fix for doc bug FLEXDOCS-1150

Added a few new examples and default sizes to Spark components

QE notes: -
Doc notes: -
Bugs: -
Reviewer: -
Tests run: - FLEXDOCS-1150
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SkinnableContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VScrollBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</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/asdoc/en_US/spark/components/examples/BorderContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/HScrollBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/MyBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SkinnableDataContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ApplicationContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/framework/src/mx/formatters/DateFormatter.as
+++ frameworks/projects/framework/src/mx/formatters/DateFormatter.as
@@ -90,6 +90,13 @@
     /**
      *  Converts a date that is formatted as a String into a Date object.
      *  Month and day names must match the names in mx.formatters.DateBase.
+     *
+     *  The hour value in the String must be between 0 and 23, inclusive.
+     *  The minutes and seconds value must be between 0 and 59, inclusive.
+     *  The following example uses this method to create a Date object:
+     *
+     *  <pre>
+     *  var myDate:Date = DateFormatter.parseDateString("2009-12-02 23:45:30"); </pre>
      *
      *  @see mx.formatters.DateBase
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 22217
Author:   mhorn@adobe.com
Date:     2011-08-25T18:07:03.696931Z

Log Message:
-----------
minor asdoc change

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -107,7 +107,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Basics of mobile skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


Various Matrix fixes and simplifications. It still doesn't implement invert() which is what Nathan needs, but I'm going home now.

--- tamarin-central/thane/as3src/flash/geom/Matrix.as
+++ tamarin-central/thane/as3src/flash/geom/Matrix.as
@@ -81,7 +81,7 @@
     {
         configure(a*m.a + b*m.c, a*m.b + b*m.d,
                   c*m.a + d*m.c, c*m.b + d*m.d,
-                  a*m.tx + b*m.ty, c*m.tx + d*m.ty);
+                  tx*m.a + ty*m.c + m.tx, tx*m.b + ty*m.d + m.ty);
     }

     /**
@@ -135,12 +135,12 @@
     {
         var cs :Number = Math.cos(angle);
         var sn :Number = Math.sin(angle);
-        configure(a*cs - b*sn, a*sn + b*cs, c*cs - d*sn, c*sn + d*cs, tx, ty);
+        concat(new Matrix(cs, sn, -sn, cs));
     }

     /**
      * Applies a scaling transformation to the matrix. The x axis is multiplied by sx,
-     * and the y axis it is multiplied by sy.
+     * and the y axis is multiplied by sy.
      */
     public function scale (sx :Number, sy :Number) :void
     {
@@ -153,7 +153,7 @@
      */
     public function transformPoint (point :Point) :Point
     {
-        return new Point(a*point.x + b*point.y + tx, c*point.x + d*point.y + ty);
+        return new Point(a*point.x + c*point.y + tx, b*point.x + d*point.y + ty);
     }

     /**
@@ -161,7 +161,7 @@
      */
     public function translate (dx :Number, dy :Number) :void
     {
-        configure(a, b, c, d, tx + dx, ty + dy);
+        concat(new Matrix(1, 0, 0, 1, dx, dy));
     }

     /**


explain how "is player visible" heuristics works

related to #213

--- src/org/mangui/hls/controller/FPSController.as
+++ src/org/mangui/hls/controller/FPSController.as
@@ -63,7 +63,6 @@
           /* according to http://www.kaourantin.net/2010/03/timing-it-right.html, when player is hidden, Flash timer only runs at 8Hz.
              here we armed our timer to 50ms, if delta time between 2 runs is more than 100ms, consider that our player is hidden ...
           */
-          the idea here is
           if(delta && delta < 100) {
             if(_hiddenVideo == false) {
               var deltaDroppedFrames : int = _hls.stream.info.droppedFrames - _lastdroppedFrames;


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

--- frameworks/projects/charts/src/mx/charts/chartClasses/CartesianTransform.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/CartesianTransform.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


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

--- frameworks/projects/framework/src/mx/collections/errors/ItemPendingError.as
+++ frameworks/projects/framework/src/mx/collections/errors/ItemPendingError.as
@@ -29,6 +29,11 @@
  *
  *  @see mx.collections.ItemResponder
  *  @see mx.rpc.IResponder
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class ItemPendingError extends Error
 {
@@ -47,6 +52,11 @@
 	 *  for an item that isn't local.</p>
 	 *
 	 *  @param message A message providing information about the error cause.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function ItemPendingError(message:String)
     {
@@ -71,6 +81,11 @@
     /**
      *  An array of IResponder handlers that will be called when
      *  the asynchronous request completes.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get responders():Array
 	{
@@ -92,6 +107,11 @@
 	 *
 	 *  @see	mx.rpc.IResponder
 	 *  @see	mx.collections.ItemResponder
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function addResponder(responder:IResponder):void
 	{


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

--- frameworks/projects/automation/src/mx/automation/events/AdvancedDataGridHeaderShiftEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/AdvancedDataGridHeaderShiftEvent.as
@@ -0,0 +1,211 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+
+	import flash.events.Event;
+	import mx.controls.listClasses.IListItemRenderer;
+
+	/**
+	 *  The AdvancedDataGridHeaderShiftEvent class represents event objects that are dispatched
+	 *  when an AdvancedDataGrid control's header item is shifted.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class AdvancedDataGridHeaderShiftEvent extends Event
+	{
+		include "../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class constants
+		//
+		//--------------------------------------------------------------------------
+
+
+		/**
+		 *  The AdvancedDataGridEvent.HEADER_RELEASE constant defines the value of the
+		 *  type property of the event object for a
+		 *  headerRelease event, which indicates that the
+		 *  user pressed and released the mouse on a column header.
+		 *
+		 *
The properties of the event object have the following values:

+		 *

+		 *
Property	Value

+		 *
bubbles	false

+		 *
cancelable	true

+		 *
columnIndex	 The zero-based index of the
+		 *       item's column in the AdvancedDataGrid object's columns array.

+		 *
currentTarget	The Object that defines the
+		 *       event listener that handles the event. For example, if you use
+		 *       myButton.addEventListener() to register an event listener,
+		 *       myButton is the value of the currentTarget.

+		 *
dataField	The name of the field or property in the
+		 *       data associated with the column.

+		 *
itemRenderer	The header renderer that is
+		 *       being released.

+		 *
localX	NaN

+		 *
reason	null

+		 *
rowIndex	null

+		 *
target	The Object that dispatched the event;
+		 *       it is not always the Object listening for the event.
+		 *       Use the currentTarget property to always access the
+		 *       Object listening for the event.

+		 *
type	AdvancedDataGridEvent.HEADER_RELEASE

+		 *

+		 *
+		 *  @eventType headerRelease
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const HEADER_RELEASE:String = "headerRelease";
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *
+		 *  Normally called by the Flex control and not used in application code.
+		 *
+		 *  @param type The event type; indicates the action that caused the event.
+		 *
+		 *  @param movingColumnIndex The data provider index of the item to be selected.
+		 *
+		 *  @param oldColumnIndex The zero-based index before the change.
+		 *
+		 *  @param newColumnIndex The zero-based index after the change.
+		 *
+		 *  @param bubbles Specifies whether the event can bubble
+		 *  up the display list hierarchy.
+		 *
+		 *  @param cancelable Specifies whether the behavior
+		 *  associated with the event can be prevented.
+		 *
+		 *  @param triggerEvent The event, such as a mouse or keyboard event, that
+		 *              triggered the selection action.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function AdvancedDataGridHeaderShiftEvent(type:String,
+														 movingColumnIndex:int = -1,
+														 oldColumnIndex:int = -1,
+														 newColumnIndex:int = -1,
+														 bubbles:Boolean = false,
+														 cancelable:Boolean = false,
+														 triggerEvent:Event = null
+		)
+		{
+			super(type, bubbles, cancelable);
+
+			this.movingColumnIndex = movingColumnIndex;
+			this.oldColumnIndex = oldColumnIndex;
+			this.newColumnIndex = newColumnIndex;
+			this.triggerEvent = triggerEvent;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+
+		//----------------------------------
+		//  triggerEvent
+		//----------------------------------
+
+		/**
+		 *  Event that triggered the item selection event,
+		 *  such as a keyboard or mouse event.
+		 *
+		 *  @default null
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var triggerEvent:Event;
+
+
+
+
+		/**
+		 *  The automationValue string of the item to be selected.
+		 *  This is used when the item to be selected is not visible in the control.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var itemAutomationValue:String;
+
+
+		/**
+		 *  The data provider index of the item to be selected.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var movingColumnIndex:int;
+		/**
+		 *  The zero-based index before the change.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var oldColumnIndex:int;
+		/**
+		 *  The zero-based index after the change.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var newColumnIndex:int;
+
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods: Event
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function clone():Event
+		{
+			return new AdvancedDataGridHeaderShiftEvent(type, movingColumnIndex,
+				oldColumnIndex,
+				newColumnIndex,bubbles, cancelable,triggerEvent);
+		}
+	}
+
+}


bug 560276: fix as3/sampling/SimpleSampling to not count DeleteObjectSamples after clearSamples (r=treilly)

--- test/acceptance/as3/sampling/SimpleSampling.as
+++ test/acceptance/as3/sampling/SimpleSampling.as
@@ -94,7 +94,7 @@
 }
 len=0;
 for each (var sample in getSamples()) {
-  len++;
+    len++;
 }
 if (isdebugger) {
     AddTestCase(
@@ -129,18 +129,26 @@
 }

 clearSamples();
+    var len:int=0;
+    for (sample in getSamples()) {
+        if ((sample as DeleteObjectSample)==null) {
+            len++;
+        }
+    }

 if (isdebugger) {
     AddTestCase(
       "after clearSamples() sample count is 0, internalAllocs=true",
       0,
-      getSampleCount()
+      len
     );
 }

 len=0;
 for each (var sample in getSamples()) {
-  len++;
+    if ((sample as DeleteObjectSample)==null) {
+        len++;
+    }
 }
 if (isdebugger) {
     AddTestCase(


Transferred from the Adobe Open Source Subversion Repository

Revision: 18200
Author:   deeptika@adobe.com
Date:     2010-10-19T08:38:49.688818Z

Log Message:
-----------
Datavisualization.swc refactoring - 1

Rewritten Legend component to extend UIComponent instead of Container
Added style "labelClass" to AxisRenderer, ColumnChart, ColumnSeries, BarChart and BarSeries.
Its default value is spark.components.Label (mx.controls.Label if former is not found in the application domain)

QE notes: Legend, Column and Bar chart labeling, Axis labels needs good amount of testing. Mustella tests would fail for labels (a shift in position of labels might be there).

Doc notes: A new style "labelClass" is added for classes AxisRenderer, ColumnChart, ColumnSeries, BarChart and BarSeries

Bugs:
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/BarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LegendAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/items/BarSeriesItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/AxisRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/Legend.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/ColumnChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/ColumnSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/items/ColumnSeriesItem.as</path>

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

--- frameworks/projects/charts/src/mx/charts/ColumnChart.as
+++ frameworks/projects/charts/src/mx/charts/ColumnChart.as
@@ -12,7 +12,9 @@
 package mx.charts
 {

+import flash.display.DisplayObject;
 import flash.filters.DropShadowFilter;
+import flash.system.ApplicationDomain;

 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.CartesianTransform;
@@ -26,12 +28,11 @@
 import mx.charts.series.ColumnSet;
 import mx.charts.series.items.ColumnSeriesItem;
 import mx.charts.styles.HaloDefaults;
-import mx.controls.Label;
+import mx.core.IFlexModuleFactory;
 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;

@@ -71,6 +72,21 @@
  *  @productversion Flex 3
  */
 [Style(name="maxColumnWidth", type="Number", format="Length", inherit="no")]
+
+/**
+ *  The class that is used by this component to render labels.
+ *
+ *
It can be set to either the mx.controls.Label class
+ *  or the spark.components.Label class.

+ *
+ *  @default spark.components.Label
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.2
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4
+ */
+[Style(name="labelClass", type="Class", inherit="no")]

 //--------------------------------------
 //  Other metadata
@@ -218,7 +234,7 @@
     /**
      * @private
      */
-    private var _tempField:Label;
+    private var _tempField:Object;
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -454,13 +470,32 @@
     override protected function createChildren():void
     {
         super.createChildren();
-        _tempField = new Label();
+		var labelClass:Class = getLabelClass();
+        _tempField = new labelClass();
         _tempField.visible = false;
         _tempField.text = "W...";
         _tempField.toolTip = "";
-        addChild(_tempField);
+        addChild(_tempField as DisplayObject);
         _tempField.validateNow();
     }
+
+	private function getLabelClass():Class
+	{
+		var labelClass:Class = getStyle("labelClass");
+		if(labelClass == null)
+		{
+			try{
+				labelClass = Class(ApplicationDomain.currentDomain.
+					getDefinition("spark.components::Label"));
+			}
+			catch(e:Error)
+			{
+				labelClass = Class(ApplicationDomain.currentDomain.
+					getDefinition("mx.controls::Label"));
+			}
+		}
+		return labelClass;
+	}

     /**
      *  @private
@@ -757,10 +792,11 @@
                         else
                         {
                             _tempField.setStyle('fontSize',size);
-                            if (_tempField.textWidth > v.labelWidth || columnSeries.measuringField.textHeight > v.labelHeight)
+							_tempField.validateNow();
+                            if (_tempField.measuredWidth > v.labelWidth || columnSeries.measuringField.textHeight > v.labelHeight)
                             {
-                                labelScale = v.labelWidth / _tempField.textWidth;
-                                labelScale = Math.min(labelScale, v.labelHeight / (columnSeries.measuringField.textHeight));
+                                labelScale = v.labelWidth / _tempField.measuredWidth;
+                                labelScale = Math.min(labelScale, v.labelHeight / (columnSeries.measuringField.measuredHeight));
                                 if (size * labelScale > labelSizeLimit)
                                 {
                                     columnSeries.seriesRenderData.labelScale = Math.min(labelScale,columnSeries.seriesRenderData.labelScale);
@@ -903,9 +939,10 @@
                         else
                         {
                             _tempField.setStyle('fontSize',size);
-                            if (_tempField.textWidth > v.labelWidth || columnSeries.measuringField.textHeight > v.labelHeight)
+							_tempField.validateNow();
+                            if (_tempField.measuredWidth > v.labelWidth || columnSeries.measuringField.textHeight > v.labelHeight)
                             {
-                                labelScale = v.labelWidth / _tempField.textWidth;
+                                labelScale = v.labelWidth / _tempField.measuredWidth;
                                 labelScale = Math.min(labelScale, v.labelHeight / (columnSeries.measuringField.textHeight));
                                 if (size * labelScale > labelSizeLimit)
                                 {


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

--- frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as
+++ frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.mxml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11171
Author:   egeorgie@adobe.com
Date:     2009-10-26T23:24:13.720443Z

Log Message:
-----------
Add overlay property to GroupBase. Note, names of class and APIs will change, since it's still in review.

QE notes: Ready testing, names will change after the APIs review.
Doc notes: None
Bugs: None
Reviewer: Deepa
Tests run: checkintests, mustella (all gumbo tests)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayPlane.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/OverlayDepth.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/DisplayPlaneObjectExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -29,12 +29,13 @@
 import mx.styles.IStyleClient;
 import mx.styles.StyleProtoChain;

+import spark.components.supportClasses.DisplayPlane;
 import spark.components.supportClasses.GroupBase;
 import spark.core.DisplayObjectSharingMode;
 import spark.core.IGraphicElement;
 import spark.core.ISharedDisplayObject;
+import spark.events.DisplayPlaneObjectExistenceEvent;
 import spark.events.ElementExistenceEvent;
-import spark.components.supportClasses.TextBase;
 import spark.primitives.shaders.ColorBurnShader;
 import spark.primitives.shaders.ColorDodgeShader;
 import spark.primitives.shaders.ColorShader;
@@ -971,6 +972,7 @@

             if (isValidScaleGrid())
             {
+				// FIXME (egeorgie): how about overlays in this case? Should we care about those?
                 if (numChildren > 0)
                     throw new Error(resourceManager.getString("components", "scaleGridGroupError"));

@@ -1787,10 +1789,11 @@
      */
     private function addDisplayObjectToDisplayList(child:DisplayObject, index:int = -1):void
     {
+		var overlayCount:int = _overlay ? _overlay.numDisplayObjects : 0;
         if (child.parent == this)
-            super.setChildIndex(child, index != -1 ? index : super.numChildren - 1);
+            super.setChildIndex(child, index != -1 ? index : super.numChildren - 1 - overlayCount);
         else
-            super.addChildAt(child, index != -1 ? index : super.numChildren);
+            super.addChildAt(child, index != -1 ? index : super.numChildren - overlayCount);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5366
Author:   gosmith@adobe.com
Date:     2009-03-17T22:11:17.242546Z

Log Message:
-----------
TextBox no longer supports a 'textRotation' style. This format is primarily intended for use with vertical Asian text, which TextBox doesn't support.

QE Notes: None
Doc Notes: None
Bugs: SDK-18629
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicTextLayoutFormatStyles.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -300,10 +300,6 @@
         s = getStyle("locale");
         if (s != null)
         	elementFormat.locale = s;
-
-        s = getStyle("textRotation");
-        if (s != null)
-        	elementFormat.textRotation = s;

         setTracking(elementFormat);


Transferred from the Adobe Open Source Subversion Repository

Revision: 6408
Author:   gosmith@adobe.com
Date:     2009-04-30T04:11:50.735710Z

Log Message:
-----------
Fixed RTE reported by Gaurav in performance tests on Argo. When using device fonts on Argo, SimpleText and SimpleText2 were trying to call through recreateTextLine:Function but it was null because its initialization logic had been removed.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol

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

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -106,6 +106,9 @@
 		staticEmbeddedFont = new EmbeddedFont("", false, false);

 		staticTextFormat = new TextFormat();
+
+		if ("recreateTextLine" in staticTextBlock)
+			recreateTextLine = staticTextBlock["recreateTextLine"];
 	}

 	initClass();


revert until LzScreenKernel gets checked in

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@8582 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
+++ WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
@@ -179,7 +179,7 @@

     function resizeHandler(event:Event):void {
         // event.target is a  pointer to the stage
-        LzScreenKernel.handleResizeEvent(event.target);
+        //LzScreenKernel.handleResizeEvent(event.target);
     }

     function reportKeyUp(event:KeyboardEvent):void {


Change numerotation system for operations in VertexAllocator. Allows to display a more pertinent debug information if needed.

--- src/aerys/minko/render/shader/compiler/visitor/allocator/VertexAllocator.as
+++ src/aerys/minko/render/shader/compiler/visitor/allocator/VertexAllocator.as
@@ -46,9 +46,12 @@

 			shaderNode.accept(this);

-			++_operationId;
-
-			if (shaderNode is Interpolate || shaderNode is Extract)
+			if (shaderNode is Interpolate)
+			{
+				++_operationId;
+				reportOperationArgumentsUsage(AbstractOperation(shaderNode));
+			}
+			else if (shaderNode is Extract)
 			{
 				reportOperationArgumentsUsage(AbstractOperation(shaderNode));
 			}
@@ -56,16 +59,19 @@
 			{
 				var combineNode : Combine = shaderNode as Combine;

+				++_operationId;
 				reportArgumentUsage(combineNode.arg1, false);
+
 				_tmpAlloc.allocate(combineNode, _operationId);

 				++_operationId;
-
 				reportArgumentUsage(combineNode.arg2, false);
 			}
 			else if (shaderNode is AbstractOperation)
 			{
 				var operationNode : AbstractOperation = AbstractOperation(shaderNode);
+
+				++_operationId;
 				reportOperationArgumentsUsage(operationNode);

 				// on ne traite pas le noeud final.


make this a warning

make this a warning

--- exporter/src/main/as/flump/xfl/XflKeyframe.as
+++ exporter/src/main/as/flump/xfl/XflKeyframe.as
@@ -40,7 +40,7 @@
         if (symbolXml == null) return kf; // Purely labelled frame

         if (XmlUtil.getBooleanAttr(xml, "motionTweenOrientToPath", false)) {
-            lib.addError(location, ParseError.CRIT, "motion paths are not supported");
+            lib.addError(location, ParseError.WARN, "motion paths are not supported");
         }

         if (XmlUtil.getBooleanAttr(xml, "hasCustomEase", false)) {


Improve the 'welcome.as' demo to include a proper simple program

--- www/demos/welcome.as
+++ www/demos/welcome.as
@@ -1,64 +1,47 @@
 ; Write some assembly code here.
 ; Then click 'Assemble and Run' to run it on the P3 simulator.
+; Comments start with ';'.

 ; For more information check 'About P3JS'.

+
+; ------------- ;
 ; Try the Demos ----->  ----->  ----->  ----->  ----->  ----->  ----->  ----->
-
-
-; This is a very short program that fills the memory with ac5fh!
-; Click 'Assemble and Run' to test.
-
-                ORIG    8000h
-
-                MOV     R1, M[PC]
-                MOV     M[PC], R1
-
-; How does it work? Why is the value at the address 8000h not ac5fh?
+; ------------- ;

-; HINT
-;  ||
-;  ||
-;  \/
+; This is a simple program that counts to ffffh and shows the result in binary
+; on the LEDS.
+
+; Click 'Assemble and Run' then check the tab 'Input/Output'.

+LEDS            EQU     fff8h           ; constant with the I/O address to
+                                        ; control the LEDS

+                ORIG    0000h           ; indication that we want to put the
+                                        ; code at position 0000h

+                ; the CPU starts running code at the address 0000h
+                ; the first instruction is to jump to the Main code

+                JMP     Main            ; jump to the Main code

+                ; this next code is a simple delay routine
+                ; uses R7 to count to 0000h then returns, this is not the ideal
+                ; way to make delays, you should use the timer and interrupts

+Delay:          MOV     R7, f000h       ; initialize R7 with f000h
+DelayInc:       INC     R7              ; increment R7
+                BR.NZ   DelayInc        ; if R7 is not 0000h, jump to DelayInc
+                RET                     ; else return from the routine

+                ; the Main code starts here

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-; HINT: Notice that ac5fh is the binary code for 'MOV M[PC], R1'.
+Main:           MOV     R1, R0          ; initialize R1 with 0 (R0 is always 0)
+Loop:           INC     R1              ; increment R1
+                MOV     M[LEDS], R1     ; write the value of R1 to the LEDS
+                CALL    Delay           ; call the Delay routine
+                BR      Loop            ; branch jump back to Loop


Fixed TextPrinter so that the bar is redrawn on StageEvent.RESIZE

--- asunit-4.0/src/asunit/printers/TextPrinter.as
+++ asunit-4.0/src/asunit/printers/TextPrinter.as
@@ -251,6 +251,7 @@
             backgroundFill.height = stage.stageHeight;
             textDisplay.width     = stage.stageWidth;
             textDisplay.height    = stage.stageHeight;
+            updateResultBar();
         }

         private function initializeDisplay():void {


whoops - this was performing an unstable sort, backwards

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

--- src/as/com/threerings/util/ArrayUtil.as
+++ src/as/com/threerings/util/ArrayUtil.as
@@ -68,7 +68,7 @@
             var jj :int = ii - 1;
             for (; jj >= 0; jj--) {
                 var compVal :* = arr[jj];
-                if (comp(val, compVal) < 0) {
+                if (comp(val, compVal) >= 0) {
                     break;
                 }
                 arr[jj + 1] = compVal;


Transferred from the Adobe Open Source Subversion Repository

Revision: 8048
Author:   dsubrama@adobe.com
Date:     2009-06-22T18:21:05.182210Z

Log Message:
-----------
Rename framework/projects/flex4/src/Flex4Classes.as to  frameworks/projects/spark/src/SparkClasses.as. Update dependant build targets.

Checkintests: Pass

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/Flex4Classes.as" copyfrom-rev="8047" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/build.xml</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -12,12 +12,12 @@
 package
 {

-internal class Flex4Classes
+internal class SparkClasses
 {

 /**
  *  @private
- *  This class is used to link additional classes into flex4.swc
+ *  This class is used to link additional classes into spark.swc
  *  beyond those that are found by dependecy analysis starting
  *  from the classes specified in manifest.xml.
  *  For example, Button does not have a reference to ButtonSkin,


Transferred from the Adobe Open Source Subversion Repository

Revision: 22573
Author:   aaltman@adobe.com
Date:     2011-09-14T22:26:11.790135Z

Log Message:
-----------
Stopped calls to requestSoftKeyboard which cause unwanted focus side-effects
Moved bitmap hiding code to reduce flicker in bitmap swapping
Restored focus after bitmap swapping

QE notes: None
Doc notes: None
Bugs: SDK-31497 SDK-31481 SDK-31355
Reviewer: cframpto
Tests run: checkintests mustella-mobile
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -387,12 +387,6 @@
     {
         super();

-        // This needs to be true so that we can show the soft keyboard if the
-        // user taps on the padding instead of on the StageText. If
-        // needsSoftKeyboard isn't set to true, requestSoftKeyboard would do
-        // nothing.
-        needsSoftKeyboard = true;
-
         _multiline = multiline;
         getStageText(true);

@@ -1315,9 +1309,6 @@
                 if (!alwaysShowProxyImage)
                     disposeProxyImage();

-                // assignFocus doesn't bring up the soft keyboard. We need to
-                // ask for it.
-                requestSoftKeyboard();
                 stageText.assignFocus();
             }
         }
@@ -1469,6 +1460,27 @@
                 if (immediate)
                 {
                     stageText.visible = _visible && calcAncestorsVisible();
+
+                    // The focused stageText may have been replaced by a bitmap during
+                    // an animation. When restoring its visibility, restore its focus as
+                    // well if the soft keyboard is open. (If the soft keyboard is not
+                    // open, do not restore focus because doing so will force the soft
+                    // keyboard to open.)
+                    if (stageText.visible && stageText == focusedStageText &&
+                        stage.softKeyboardRect.height > 0)
+                    {
+                        stageText.assignFocus();
+                    }
+
+                    // Do not remove the proxy bitmap until after stageText has been
+                    // made visible to reduce flicker.
+                    if (stageText.visible && textImage != null)
+                    {
+                        removeChild(textImage);
+                        textImage.bitmapData.dispose();
+                        textImage = null;
+                    }
+
                     stageTextVisibleChangePending = false;
                     removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
                 }
@@ -1478,13 +1490,6 @@
                     stageTextVisibleChangePending = true;
                     addEventListener(Event.ENTER_FRAME, enterFrameHandler);
                 }
-            }
-
-            if (textImage != null)
-            {
-                removeChild(textImage);
-                textImage.bitmapData.dispose();
-                textImage = null;
             }
         }
     }
@@ -2012,10 +2017,7 @@
         //  Forward the focus event to the StageText. The focusedStageText flag
         //  is modified by the StageText's focus event handlers, not this one.
         if (stageText != null && focusedStageText != stageText && effectiveEnabled)
-        {
-            requestSoftKeyboard();
             stageText.assignFocus();
-        }
     }

     //--------------------------------------------------------------------------
@@ -2290,6 +2292,27 @@
         if (stageTextVisibleChangePending)
         {
             stageText.visible = stageTextVisible;
+
+            // The focused stageText may have been replaced by a bitmap during
+            // an animation. When restoring its visibility, restore its focus as
+            // well if the soft keyboard is open. (If the soft keyboard is not
+            // open, do not restore focus because doing so will force the soft
+            // keyboard to open.)
+            if (stageTextVisible && stageText == focusedStageText &&
+                stage.softKeyboardRect.height > 0)
+            {
+                stageText.assignFocus();
+            }
+
+            // Do not remove the proxy bitmap until after stageText has been
+            // made visible to reduce flicker.
+            if (stageTextVisible && textImage != null)
+            {
+                removeChild(textImage);
+                textImage.bitmapData.dispose();
+                textImage = null;
+            }
+
             stageTextVisibleChangePending = false;
         }
     }


fixed bug where startup script wasn't executed

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -303,8 +303,6 @@
 				Weave.properties.enableMenuBar.value = false;
 				Weave.properties.dashboardMode.value = true;
 			}
-			Weave.properties.runStartupJavaScript();
-			WeaveAPI.callExternalWeaveReady();
 			while (_loadFileCallbacks.length)
 				(_loadFileCallbacks.shift() as Function)();
 		}
@@ -785,7 +783,10 @@

 			// Set the name of the CSS style we will be using for this application.  If weaveStyle.css is present, the style for
 			// this application can be defined outside the code in a CSS file.
-			this.styleName = "application";
+			this.styleName = "application";
+
+			Weave.properties.runStartupJavaScript();
+			WeaveAPI.callExternalWeaveReady();
 		}

 		private var fadeEffect:Fade = new Fade();


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 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.skins.mobile
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7866
Author:   jszeto@adobe.com
Date:     2009-06-15T23:11:45.128254Z

Log Message:
-----------
GraphicElement PARB Changes

- Deprecated mx.graphics.RoundedRectangle
- Added mx.geom.RoundedRectangle
- Removed GraphicElement.getStroke
- Moved code from GraphicElement.getStrokeExtents into StrokedElement.
- Updated the dependency checker

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/RoundedRectangle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RoundedRectangle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/DissolveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Dissolve.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/RoundedRectangle.as
+++ frameworks/projects/framework/src/mx/graphics/RoundedRectangle.as
@@ -11,6 +11,8 @@

 package mx.graphics
 {
+
+[Deprecated(replacement="mx.geom.RoundedRectangle", since="4.0")]

 import flash.geom.Rectangle;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4060
Author:   egeorgie@adobe.com
Date:     2008-11-10T20:04:18.301112Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-17266 Scaling Gumbo Button causes corners to be rounded instead of sharp

The fix is to update the skin stroke to scale.

QE Notes: None
Doc Notes: None
Bugs: SDK-16487 FLEXDOCS-533
Reviewer: Glenn
tests: checkintests, Mustella (Button)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxTextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/Stroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxCheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxRadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVScrollBarTrackSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as
+++ frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as
@@ -95,7 +95,7 @@
      *  LineScaleMode.NONE, LineScaleMode.NORMAL,
      *  and LineScaleMode.VERTICAL.
      *  This parameter is optional,
-     *  with a default value of LineScaleMode.NONE.
+     *  with a default value of LineScaleMode.NORMAL.
 	 *
 	 *  @param caps Specifies the type of caps at the end of lines.
 	 *  Valid values are "round", "square",
@@ -111,10 +111,14 @@
 	 *  Valid values range from 0 to 255.
 	 *  The default value is 0.
 	 */
-	public function SolidColorStroke(color:uint = 0x000000, weight:Number = 0,
-						   alpha:Number = 1.0, pixelHinting:Boolean = false,
-						   scaleMode:String = "none", caps:String = null,
-						   joints:String = null, miterLimit:Number = 0)
+	public function SolidColorStroke(color:uint = 0x000000,
+	                                 weight:Number = 0,
+						             alpha:Number = 1.0,
+						             pixelHinting:Boolean = false,
+						             scaleMode:String = "normal",
+						             caps:String = null,
+						             joints:String = null,
+						             miterLimit:Number = 0)
 	{
 		super();


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

--- frameworks/projects/mx/src/mx/containers/ApplicationControlBar.as
+++ frameworks/projects/mx/src/mx/containers/ApplicationControlBar.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-2007 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: 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@1269171 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/videoClasses/VideoError.as
+++ frameworks/projects/mx/src/mx/controls/videoClasses/VideoError.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


OPEN - issue REPRISE-38: Move CounterPixel tracking service to nivea package
http://j.fork.de:8080/browse/REPRISE-38

	- move completed

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@437 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/services/tracking/CounterPixel.as
+++ src/reprise/services/tracking/CounterPixel.as
@@ -1,323 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Fork unstable media GmbH
-//  Copyright 2006-2008 Fork unstable media GmbH
-//  All Rights Reserved.
-//
-//  NOTICE: Fork unstable media permits you to use, modify, and distribute this
-//  file in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package reprise.services.tracking
-{
-	/**
-	 * @author Till Schneidereit
-	 *
-	 * Code only implementation of the counterpixel system.
-	 *
-	 * Usage:
-	 * To be compatible with the old counterpixel component, the class uses
-	 * _root.tld or _level0.tld to configure its domain. It's possible to
-	 * override the result of this automatic configuration using
-	 * {@link CounterPixel#setDomain}
-	 *
-	 * Additionally, you can use {@link CounterPixel#setBasePath} to define a path
-	 * segment that gets prepended to each CounterPixel string.
-	 * Example: If all your CounterPixels start with
-	 * "specials/nbc_superspecial/" you could use
-	 * CounterPixel.getInstance().setBasePath("specials/nbc_superspecial/").
-	 *
-	 * If you want to use CounterPixels for another brand than nivea, use
-	 * {@link CounterPixel#setBrandName} to set the brand
-	 *
-	 * If you enable debugging with {@link CounterPixel#setDebug}, the
-	 * CounterPixels are traced as well.
-	 */
-	import flash.display.Stage;
-	import flash.events.Event;
-	import flash.events.IOErrorEvent;
-	import flash.net.URLLoader;
-	import flash.net.URLRequest;
-	import flash.system.Security;
-	public class CounterPixel implements ITrackingService
-	{
-		/***************************************************************************
-		*							public properties							   *
-		***************************************************************************/
-
-
-		/***************************************************************************
-		*							protected properties							   *
-		***************************************************************************/
-		protected static var COUNTER_SCRIPT_PATH : String = "/cgi-bin/PageImp.exe?";
-
-		protected static var g_instance : CounterPixel;
-
-		protected var m_brand : String = "nivea";
-		protected var m_domain : String;
-		protected var m_TLD : String;
-		protected var m_debug : Boolean = false;
-
-		protected var m_basePath : String = "";
-		protected var m_stage : Stage;
-
-
-		/***************************************************************************
-		*							public methods								   *
-		***************************************************************************/
-		/**
-		 * @return singleton instance of CounterPixelWrapper
-		 */
-		public static function getInstance() : CounterPixel
-		{
-			if (!g_instance)
-			{
-				g_instance = new CounterPixel();
-			}
-			return g_instance;
-		}
-
-		public function CounterPixel()
-		{
-		}
-		public function setStage(stage : Stage) : void
-		{
-			m_stage = stage;
-			init();
-		}
-
-		public function track (trackingId : String) : void
-		{
-			callPixel(trackingId);
-		}
-
-		/**
-		 * calls a counterpixel with the given name
-		 */
-		public function callPixel(pixel:String) : void
-		{
-			if (!m_stage)
-			{
-				throw new Error('you need to give the CounterPixel ' +
-					'a Stage reference before invoking callPixel');
-			}
-			pixel = m_basePath + pixel;
-			pixel = removeSlash(pixel);
-			pixel = removeSpaces(pixel);
-			pixel = parseVars(pixel);
-
-			if(!pixel.length)
-			{
-				return;
-			}
-
-			var firstPart:String = String(pixel.split( "/" )[0]).toLowerCase();
-			if(firstPart == m_brand.toLowerCase())
-			{
-				trace("\n******************************************************************************************************\nWARNING!\nThis Counterpixel semms to be wrong. Please make sure that \"Brand\" is not a part of \"Pixel\"!\n******************************************************************************************************\n:" + pixel);
-			}
-
-			var pixel1:String = getHost(0) + COUNTER_SCRIPT_PATH + "/" + m_brand + "/" + m_domain + "/" + pixel;
-			var pixel2:String = getHost(1) + COUNTER_SCRIPT_PATH + "/" + m_brand + "/" + m_domain + "/" + pixel;
-
-			if(m_stage.loaderInfo.loaderURL.substr(0,7).toLowerCase() != "file://")
-			{
-				var loader : URLLoader = new URLLoader();
-				loader.addEventListener(Event.COMPLETE, pixelLoader_complete);
-				loader.addEventListener(IOErrorEvent.IO_ERROR, pixelLoader_ioError);
-				loader.load(new URLRequest(pixel1));
-				loader = new URLLoader();
-				loader.addEventListener(Event.COMPLETE, pixelLoader_complete);
-				loader.addEventListener(IOErrorEvent.IO_ERROR, pixelLoader_ioError);
-				loader.load(new URLRequest(pixel2));
-			}
-
-			if(m_debug)
-			{
-				log("d COUNTERPIXEL 1: " + pixel1);
-				log("d COUNTERPIXEL 2: " + pixel2);
-			}
-		}
-
-		/**
-		 * starts and stops debugging of the counterpixels
-		 */
-		public function setDebug(debug:Boolean) : void
-		{
-			m_debug = debug;
-		}
-		/**
-		 * starts and stops debugging of the counterpixels
-		 */
-		public function getDebug() : Boolean
-		{
-			return m_debug;
-		}
-
-		/**
-		 * sets the brandname to use for the counterpixels
-		 */
-		public function setBrandName(brandName:String) : void
-		{
-			m_brand = brandName;
-		}
-		/**
-		 * @return the brandname used for the counterpixels
-		 */
-		public function getBrandName() : String
-		{
-			return m_brand;
-		}
-
-		/**
-		 * sets the domain to use for the counterpixels
-		 */
-		public function setDomain(domain:String) : void
-		{
-			m_domain = domain;
-		}
-		/**
-		 * @return the domain used for the counterpixels
-		 */
-		public function getDomain() : String
-		{
-			return m_domain;
-		}
-
-		/**
-		 * sets the TLD to use for the counterpixels
-		 */
-		public function setTLD(tld:String) : void
-		{
-			m_TLD = tld;
-		}
-		/**
-		 * @return the TLD used for the counterpixels
-		 */
-		public function getTLD() : String
-		{
-			return m_TLD;
-		}
-
-		/**
-		* setter for the basePath property
-		*/
-		public function setBasePath (value:String) : void
-		{
-			m_basePath = value;
-		}
-		/**
-		* getter for the basePath property
-		*/
-		public function getBasePath() : String
-		{
-			return m_basePath;
-		}
-
-
-		/***************************************************************************
-		*							protected methods								   *
-		***************************************************************************/
-	    protected function init() : void
-	    {
-			Security.allowDomain(getHost(0));
-			Security.allowDomain(getHost(1));
-
-			var parameters : Object = m_stage.loaderInfo.parameters;
-
-			if (!m_domain)
-			{
-				if (m_TLD)
-				{
-					m_domain = m_TLD;
-				}
-				else if (parameters.tld)
-				{
-					m_domain = parameters.tld;
-				}
-				else if (parameters.language_short_id)
-				{
-					m_domain = parameters.language_short_id;
-				}
-				else if (parameters.hostname && parameters.hostname.indexOf('nivea.') != -1)
-				{
-					m_domain = parameters.hostname.split('nivea.').pop();
-				}
-
-				if(!m_domain || !m_domain.length)
-				{
-					m_domain = 'com';
-				}
-			}
-
-			if (!m_TLD)
-			{
-				m_TLD = m_domain;
-			}
-		}
-
-		protected function pixelLoader_complete(e:Event):void
-		{
-			URLLoader(e.target).removeEventListener(Event.COMPLETE, pixelLoader_complete);
-			URLLoader(e.target).removeEventListener(
-				IOErrorEvent.IO_ERROR, pixelLoader_ioError);
-		}
-
-		protected function pixelLoader_ioError(e:IOErrorEvent):void
-		{
-			log('e woops. something went wrong while loading counterpixel');
-		}
-
-
-		protected function parseVars(s:String) : String
-		{
-			var tmp:String	= s;
-			while( (tmp.indexOf('<') != -1) && (tmp.indexOf('>') != -1) )
-			{
-				var begin:Number = tmp.lastIndexOf( '<' );
-				var end:Number = tmp.lastIndexOf( '>' );
-				var varname:String = tmp.substr( begin + 1, end - begin - 1 );
-				//@FIXME
-				var x:String;// = _root[varname];
-				if( x == null )
-				{
-					x	= "";
-				}
-				tmp = tmp.split("<" + varname + ">").join(x);
-			}
-			return tmp;
-		}
-		protected function removeSlash(s:String) : String
-		{
-			while( s.charAt(0) == "/" )
-			{
-				s = s.substr(1);
-			}
-			return s;
-		}
-
-		protected function removeSpaces(s:String) : String
-		{
-			while(s.charAt(0) == " ")
-			{
-				s = s.substr(1);
-			}
-
-			while(s.substr(s.length - 1) == " ")
-			{
-				s	= s.substr(0, s.length - 1);
-			}
-			return s;
-		}
-		protected function getHost(pixelNumber: Number) : String
-		{
-			var pixelStr:String = 'counterpixel';
-			if( pixelNumber > 0 )
-			{
-				pixelStr += pixelNumber.toString();
-			}
-			return 'http://' + pixelStr + '.nivea.' + m_TLD;
-		}
-	}
-}


Add missing arguments for useCrashHandler

--- lib/src/com/amanitadesign/steam/FRESteamWorks.as
+++ lib/src/com/amanitadesign/steam/FRESteamWorks.as
@@ -77,9 +77,9 @@
 			return _ExtensionContext.call("AIRSteam_GetPersonaName") as String;
 		}

-		public function useCrashHandler():Boolean
+		public function useCrashHandler(version:String, date:String, time:String):Boolean
 		{
-			return _ExtensionContext.call("AIRSteam_UseCrashHandler") as Boolean;
+			return _ExtensionContext.call("AIRSteam_UseCrashHandler", version, date, time) as Boolean;
 		}

 		public function setAchievement(id:String):Boolean


fix type error

fix type error

--- frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
+++ frameworks/as/src/org/apache/flex/html/staticControls/beads/controllers/DropDownListController.as
@@ -42,7 +42,7 @@
             IEventDispatcher(value).addEventListener(MouseEvent.CLICK, clickHandler);
 		}

-        private function clickHandler(event:Event):void
+        private function clickHandler(event:MouseEvent):void
         {
             var viewBead:IDropDownListBead = _strand.getBeadByType(IDropDownListBead) as IDropDownListBead;
             viewBead.popUpVisible = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 17918
Author:   deeptika@adobe.com
Date:     2010-09-29T09:10:43.362516Z

Log Message:
-----------
Automation support for spark DG - 1
Only selection event is supported by automation. Header related events, column resize / sort, item edit and drag-drop are not yet supported by the component.

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/manifest_automation_spark.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/AutomationSparkClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/events/SparkDataGridItemSelectEvent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridItemRendererAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as
+++ frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as
@@ -0,0 +1,210 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.automation.tabularData
+{
+	import flash.display.DisplayObject;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationTabularData;
+	import mx.automation.delegates.controls.DataGridAutomationImpl;
+	import mx.collections.CursorBookmark;
+	import mx.collections.errors.ItemPendingError;
+	import mx.controls.listClasses.ListBaseContentHolder;
+	import mx.core.mx_internal;
+
+	import spark.automation.delegates.components.SparkDataGridAutomationImpl;
+	import spark.components.DataGrid;
+	import spark.components.IGridItemRenderer;
+	import spark.components.supportClasses.GridColumn;
+
+	use namespace mx_internal;
+
+	public class SparkDataGridTabularData implements IAutomationTabularData
+	{
+		/**
+		 *  Constructor
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 4
+		 */
+		public function SparkDataGridTabularData(dg:spark.components.DataGrid)
+		{
+			super();
+			this.dg = dg;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var dg:spark.components.DataGrid;
+
+		/**
+		 *  @private
+		 */
+		public function get numColumns():int
+		{
+			return dg.columns.length;
+		}
+
+		/**
+		 *  @inheritDoc
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function get lastVisibleRow():int
+		{
+			/*var listItems:Array = ((dg.automationDelegate) as SparkDataGridAutomationImpl).getCompleteRenderersArray();
+
+			if (listItems && listItems.length && listItems[0].length)
+			{
+				var row:int = listItems.length - 1;
+				var col:int = listItems[0].length - 1;
+				while (!listItems[row][col] && row >= 0 && col >= 0)
+				{
+					if (col != 0)
+					{
+						col --;
+					}
+					else if (row != 0)
+					{
+						row--;
+						col = listItems[0].length - 1;
+					}
+				}
+
+				return (row >= 0 && col >= 0
+					? listItems[row][col].rowIndex
+					: numRows);
+			}
+
+			return 0;*/
+			var start:int = dg.grid.getVisibleRowIndices().length -1;
+			return dg.grid.getVisibleRowIndices().slice(start).pop();
+		}
+
+		/**
+		 *  @inheritDoc
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function get numRows():int
+		{
+			return (dg.dataProvider? dg.dataProvider.length : 0);
+		}
+
+		/**
+		 *  @inheritDoc
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function getValues(start:uint = 0, end:uint = 0):Array
+		{
+			//empty list of column names for list, dg overrides
+			var values:Array = [ ];
+			var renderers:Array = (dg.automationDelegate as SparkDataGridAutomationImpl).getCompleteRenderersArray();
+
+			var len:int = renderers.length;
+			var col:int = dg.columns.length;
+			for(var i:int = start ; i <= end; i++)
+			{
+				var autValue:String ="";
+				var colValues:Array = [];
+				for(var j:int = 0; j < col; j++)
+				{
+					var autObj:IAutomationObject = renderers[i][j] as IAutomationObject;
+					if(autObj)
+					{
+						colValues.push(autObj.automationValue.join(" | "));
+
+					}
+				}
+				values.push(colValues);
+			}
+
+			return values;
+		}
+		/**
+		 *  @private
+		 */
+		public function get columnNames():Array
+		{
+			//override to provide the column names
+			var result:Array = [];
+			var colCount:int = dg.columns.length;
+			var columns:Array = dg.columns.toArray();
+			for (var i:int = 0; i < colCount; ++i)
+			{
+				if (columns[i].dataField)
+					result.push(columns[i].dataField);
+				else
+					result.push(columns[i].headerText);
+				//for FileSystemDataGrid of AIR, the dataFiled is empty and the headerText
+				// is directly assigned. To get the headerHeader text in those cases the above
+				// is added.
+			}
+			return result;
+		}
+
+		/**
+		 *  @private
+		 */
+
+
+		public function get firstVisibleRow():int
+		{
+			return dg.grid.getVisibleRowIndices().slice(0,1).pop();
+		}
+
+
+		/**
+		 *  @private
+		 */
+		public function getAutomationValueForData(data:Object):Array
+		{
+			var ret:Array = [];
+			var colCount:int = dg.columns.length;
+			var rowCount:int = dg.requestedRowCount;
+			for (var colNo:int = 0; colNo < colCount; ++colNo)
+			{
+				//since visibleData data is only keyed per row
+				//and doesn't include renderers for each column
+				//we can't optimize by using it
+				//var item:IListItemRenderer = visibleData[itemToUID(data)];
+				var item:IGridItemRenderer;
+
+				var c:GridColumn = dg.columns[colNo];
+				//item = c.getMeasuringRenderer(false,data);
+				/*item = c.itemToRenderer(data);
+				if (item.owner == null)
+					(dg.grid).addChild(DisplayObject(item));
+				dg.setupRendererFromData(c, item, data);
+
+				if(item is IAutomationObject)
+					ret.push(IAutomationObject(item).automationValue.join(" | "));*/
+			}
+
+			return ret;
+		}
+	}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 30
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-18T22:32:51.846161Z

Log Message:
-----------
Perforce Change 191363 by aharui@aharui-pc2 on 2007/12/18 15:29:23 OffscreenRowAndColumn bugs relating to scrolling and drag/drop. Bugs: SDK-13976, SDK-13977, SDK-13980 QA: Doc:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>

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

--- frameworks/projects/mx/src/mx/controls/List.as
+++ frameworks/projects/mx/src/mx/controls/List.as
@@ -819,6 +819,42 @@
 		// ignore nonvisible rows off the top
 		var yy:Number;
 		var i:int;
+		var n:int = listItems.length;
+        // if there is more than one row and it is a partial row we dont count it
+        while (rowCount > 1 && rowInfo[n - 1].y + rowInfo[n-1].height > listContent.height - listContent.bottomOffset)
+		{
+            rowCount--;
+			n--;
+		}
+
+        // offset, when added to rowCount, is the index of the dataProvider
+        // item for that row.  IOW, row 10 in listItems is showing dataProvider
+        // item 10 + verticalScrollPosition - lockedRowCount - 1;
+        var offset:int = verticalScrollPosition - lockedRowCount - 1;
+        // don't count filler rows at the bottom either.
+        var fillerRows:int = 0;
+        // don't count filler rows at the bottom either.
+        while (rowCount && listItems[rowCount - 1].length == 0)
+        {
+            if (collection && rowCount + offset >= collection.length)
+            {
+                rowCount--;
+                ++fillerRows;
+            }
+            else
+                break;
+        }
+
+        // we have to scroll up.  We can't have filler rows unless the scrollPosition is 0
+        // We don't do the adjustment if a data effect is running, because that prevents
+        // a smooth effect. Effectively, we pin the scroll position while the effect is
+        // running.
+        if (verticalScrollPosition > 0 && fillerRows > 0 && !runningDataEffect)
+        {
+            if (adjustVerticalScrollPositionDownward(Math.max(rowCount, 1)))
+                return;
+        }
+
 		if (listContent.topOffset)
 		{
 			yy = Math.abs(listContent.topOffset);
@@ -832,42 +868,6 @@
 			}
 		}

-		var n:int = listItems.length;
-        // if there is more than one row and it is a partial row we dont count it
-        while (rowCount > 1 && rowInfo[n - 1].y + rowInfo[n-1].height > listContent.height - listContent.bottomOffset)
-		{
-            rowCount--;
-			n--;
-		}
-
-        // offset, when added to rowCount, is the index of the dataProvider
-        // item for that row.  IOW, row 10 in listItems is showing dataProvider
-        // item 10 + verticalScrollPosition - lockedRowCount - 1;
-        var offset:int = verticalScrollPosition - lockedRowCount - 1;
-        // don't count filler rows at the bottom either.
-        var fillerRows:int = 0;
-        // don't count filler rows at the bottom either.
-        while (rowCount && listItems[rowCount - 1].length == 0)
-        {
-            if (collection && rowCount + offset >= collection.length)
-            {
-                rowCount--;
-                ++fillerRows;
-            }
-            else
-                break;
-        }
-
-        // we have to scroll up.  We can't have filler rows unless the scrollPosition is 0
-        // We don't do the adjustment if a data effect is running, because that prevents
-        // a smooth effect. Effectively, we pin the scroll position while the effect is
-        // running.
-        if (verticalScrollPosition > 0 && fillerRows > 0 && !runningDataEffect)
-        {
-            if (adjustVerticalScrollPositionDownward(Math.max(rowCount, 1)))
-                return;
-        }
-
         var colCount:int = listItems[0].length;
         var oldHorizontalScrollBar:Object = horizontalScrollBar;
         var oldVerticalScrollBar:Object = verticalScrollBar;
@@ -907,7 +907,7 @@
 		var paddingRight:Number = getStyle("paddingRight");

         h = rowInfo[rowCount - 1].y + rowInfo[rowCount - 1].height;
-        h = listContent.heightExcludingOffsets - h;
+        h = listContent.heightExcludingOffsets - listContent.topOffset - h;

         // back up one
         var numRows:int = 0;


htmltext

htmltext

--- src/flash/text/TextField.as
+++ src/flash/text/TextField.as
@@ -230,8 +230,13 @@
 				_htmlText = value;
 				try{
 					var xmllist:DOMParser = new DOMParser();
-					var hd:HTMLDocument= xmllist.parseFromString(value, "text/html") as HTMLDocument;
-					//for each(var xml:XML in xmllist){
+					var hd:HTMLDocument = parseFromString(value);
+
+					for(var i:int=0;i<hd.body.childNodes.length;i++){
+						doXML(hd.body.childNodes[i],_textFormat.font, int(_textFormat.size),int(_textFormat.color),null,int(_textFormat.indent),int(_textFormat.underline));
+					}
+
+					//for e(var xml:XML in xmllist){
 						//doXML(xml, _defFont, _defSize, _defColor,null,_indent,_defUnderline);
 					//}
 				}catch (err:Error){
@@ -240,15 +245,15 @@
 			}
 		}

-		/*private function doXML(xml:XML, font:String, fontSize:int, color:uint, href:String,indent:int,underline:int):void {
-			this.href = href;
-			if (xml==null){
+		private function doXML(xml:Node, font:String, fontSize:int, color:uint, href:String,indent:int,underline:int):void {
+			//this.href = href;
+			/*if (xml==null){
 				return;
 			}
-			var l:String = xml.localName();
+			var l:String = xml.nodeName;
 			if (l == "br"){
 				var txt:String = "\n";
-			}else if(xml.nodeKind()=="text"){
+			}else if(l=="#text"){
 				txt = xml.toString().replace(/ /g," ");
 				txt = txt.replace(//g," ");
 			}
@@ -297,8 +302,8 @@
 				for each(var c:XML in cs) {
 					doXML(c,font,fontSize,color,href,indent,underline);
 				}
-			}
-		}*/
+			}*/
+		}

 		public function get text():String  { return _text; }

@@ -1063,5 +1068,32 @@
 			}
 			return r;
 		}
+
+		private function parseFromString(markup:String):HTMLDocument {
+			return (new DOMParser()).parseFromString(markup, "text/html") as HTMLDocument;
+			// Firefox/Opera/IE throw errors on unsupported types
+			/*try {
+				// WebKit returns null on unsupported types
+				if ((new DOMParser()).parseFromString("", "text/html")) {
+					// text/html parsing is natively supported
+
+				}
+			} catch (ex) {}
+
+			if (/^\s*text\/html\s*(?:;|$)/i.test(type)) {
+				var
+				  doc = document.implementation.createHTMLDocument("")
+				;
+					if (markup.toLowerCase().indexOf('<!doctype') > -1) {
+						doc.documentElement.innerHTML = markup;
+					}
+					else {
+						doc.body.innerHTML = markup;
+					}
+				return doc;
+			} else {
+				return nativeParse.apply(this, arguments);
+			}*/
+		}
 	}
 }


Log level configuration. Untested, but it should work!

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

--- src/as/com/threerings/util/Log.as
+++ src/as/com/threerings/util/Log.as
@@ -41,6 +41,13 @@
  */
 public class Log
 {
+    /** Log level constants. */
+    public static const DEBUG :int = 0;
+    public static const INFO :int = 1;
+    public static const WARNING :int = 2;
+    public static const OFF :int = 3;
+    // if you add to this, update LEVEL_NAMES at the bottom...
+
     /**
      * Retrieve a Log for the specififed class.
      *
@@ -92,10 +99,42 @@
     }

     /**
+     * Set the log level for the specified package/file.
+     *
+     * @param spec The smallest prefix desired to configure a log level.
+     * For example, you can set the global level with Log.setLevel("", Log.INFO);
+     * Then you can Log.setLevel("com.foo.game", Log.DEBUG). Now, everything
+     * logs at INFO level except for classes within com.foo.game, which is at DEBUG.
+     */
+    public static function setLevel (spec :String, level :int) :void
+    {
+        _setLevels[spec] = level;
+        resetLevels();
+    }
+
+    /**
+     * Parses a String in the form of ":info;com.foo.game:debug;com.bar.util:warning"
+     *
+     * Semicolons separate modules, colons separate a module name from the log level.
+     * An empty string specifies the top-level (global) module.
+     */
+    public static function setLevels (settingString :String) :void
+    {
+        for (var module :String in settingString.split(";")) {
+            var setting :Array = module.split(":");
+            _setLevels[setting[0]] = stringToLevel(String(setting[1]));
+        }
+        resetLevels();
+    }
+
+    /**
      * @private
      */
     public function Log (spec :String)
     {
+        if (spec == null) { // what!?
+            spec = "";
+        }
         _spec = spec;
     }

@@ -104,7 +143,7 @@
      */
     public function debug (... messages) :void
     {
-        doLog("[debug]", messages);
+        doLog(DEBUG, messages);
     }

     /**
@@ -112,7 +151,7 @@
      */
     public function info (... messages) :void
     {
-        doLog("[INFO]", messages);
+        doLog(INFO, messages);
     }

     /**
@@ -120,7 +159,7 @@
      */
     public function warning (... messages) :void
     {
-        doLog("[WARNING]", messages);
+        doLog(WARNING, messages);
     }

     /**
@@ -131,9 +170,12 @@
         warning(error.getStackTrace());
     }

-    protected function doLog (level :String, messages :Array) :void
-    {
-        messages.unshift(getTimeStamp(), level, _spec);
+    protected function doLog (level :int, messages :Array) :void
+    {
+        if (level < getLevel(_spec)) {
+            return; // we don't want to log it!
+        }
+        messages.unshift(getTimeStamp(), LEVEL_NAMES[level], _spec);
         trace.apply(null, messages);

         // possibly also dispatch to any other log targets.
@@ -160,10 +202,67 @@
             StringUtil.prepad(String(d.milliseconds), 3, "0");
     }

+    /**
+     * Get the logging level for the specified spec.
+     */
+    protected static function getLevel (spec :String) :int
+    {
+        // we probably already have the level cached for this spec
+        var obj :Object = _levels[spec];
+        if (obj == null) {
+            // cache miss- copy some parent spec's level...
+            var modSpec :String = spec;
+            do {
+                var dex :int = modSpec.indexOf(".");
+                if (dex == -1) {
+                    modSpec = "";
+                } else {
+                    modSpec = modSpec.substring(0, dex);
+                }
+                obj = _levels[modSpec];
+                if (obj != null) {
+                    // we found the level we should use, copy it and break
+                    _levels[spec] = obj;
+                    break;
+                }
+            } while (modSpec != ""); // if we break here, we'll int(null) and return DEBUG..
+        }
+        return int(obj);
+    }
+
+    /**
+     * Reset (clear) the log level cache to the set levels.
+     */
+    protected static function resetLevels () :void
+    {
+        _levels = {};
+        for (var spec :String in _setLevels) {
+            _levels[spec] = _setLevels[spec];
+        }
+    }
+
+    protected static function stringToLevel (s :String) :int
+    {
+        switch (s.toLowerCase()) {
+        default: // default to DEBUG
+        case "debug": return DEBUG;
+        case "info": return INFO;
+        case "warning": return WARNING;
+        case "off": return OFF;
+        }
+    }
+
     /** Our log specification. */
     protected var _spec :String;

     protected static var _targets :Array = [];
+
+    protected static var _levels :Object;
+
+    protected static var _setLevels :Object = { "": DEBUG }; // global: debug
+    resetLevels(); // statically reset the levels to the setLevels when the class first starts...
+
+    /** The names of each level. The last one isn't used, it corresponds with OFF. */
+    protected static const LEVEL_NAMES :Array = [ "[debug]", "[INFO]", "[WARNING]", false ];
 }
-
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 16658
Author:   smgilson@adobe.com
Date:     2010-06-24T18:55:42.130688Z

Log Message:
-----------
update ASDoc comment for sortCompareFunction based on user feedback

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
+++ frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
@@ -1226,8 +1226,10 @@
      *  property is not a valid property of the data provider, the sort does
      *  not work or will generate an exception.
      *  If you specify a value of the labelFunction property,
-     *  you must also provide a function to the sortCompareFunction property,
-     *  unless sorting is not allowed on this column.
+     *  you typically also provide a function to the sortCompareFunction property,
+     *  unless sorting is not allowed on this column.
+     *  That means you specify a function when the value from the column's dataField
+     *  does not sort in the same way as the computed value from the labelFunction property.
      *
      *
The AdvancedDataGrid control uses this function to sort the elements of the data
      *  provider collection. The function signature of
@@ -1826,7 +1828,7 @@
             null :
             embeddedFontRegistry.getAssociatedModuleFactory(
                 fontName, bold, italic, this, flexModuleFactory,
-				owner.systemManager);
+                owner.systemManager);
     }

     /**
@@ -1855,7 +1857,7 @@
             null :
             embeddedFontRegistry.getAssociatedModuleFactory(
                 fontName, bold, italic, this, flexModuleFactory,
-				owner.systemManager);
+                owner.systemManager);
         return fontContext != oldEmbeddedFontContext;
     }


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

--- frameworks/projects/automation/src/mx/automation/events/AutomationAirEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/AutomationAirEvent.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.automation.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17311
Author:   rfrishbe@adobe.com
Date:     2010-08-13T00:59:57.298574Z

Log Message:
-----------
Forgot one file in my last checkin.  Need to checkin some changes to MobileIconItemRenderer since the labelTextField property was renamed to labelDisplay

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -716,8 +716,8 @@

         // FIXME (rfrishbe): will need to change this calculation
         // don't allow text to contribute to width for now
-        myMeasuredWidth += labelTextField.textWidth + 5 + 20; // 5 is the extra padding for text field, 20 is normal padding (10 & 10)
-        myMeasuredHeight = Math.max(myMeasuredHeight, labelTextField.textHeight + 4 + 10); // 4 is the extra padding for text field, 10 is normal padding (5 & 5)
+        myMeasuredWidth += labelDisplay.textWidth + 5 + 20; // 5 is the extra padding for text field, 20 is normal padding (10 & 10)
+        myMeasuredHeight = Math.max(myMeasuredHeight, labelDisplay.textHeight + 4 + 10); // 4 is the extra padding for text field, 10 is normal padding (5 & 5)

         // don't do anything with regards to minimum for the textField

@@ -821,11 +821,11 @@
         if (iconDisplay)
             labelX += iconWidth + getStyle("horizontalGap");

-        labelTextField.width = labelWidth;
-        labelTextField.height = labelTextField.textHeight + 4; // 4 is text field padding
-
-        labelTextField.x = labelX;
-        labelTextField.y = (unscaledHeight - labelTextField.height)/2;
+        labelDisplay.width = labelWidth;
+        labelDisplay.height = labelDisplay.textHeight + 4; // 4 is text field padding
+
+        labelDisplay.x = labelX;
+        labelDisplay.y = (unscaledHeight - labelDisplay.height)/2;
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19806
Author:   rfrishbe@adobe.com
Date:     2011-01-19T19:32:34.088153Z

Log Message:
-----------
Fixing up ItemRenderer.getCurrentRendererState() to return currentState by default rather than null.  This is to enable better support for user-states, so that if the item renderer goes into a specific user state, we don't override it, but we now honor it.

Also cleaning up some FIXMEs that are no longer needed in IconItemRenderer and LabelItemRenderer.

QE notes: -
Doc notes:
Bugs: SDK-29061
Reviewer: Chiedo
Tests run: checkintests, mustella List, DataGroup, ListDragDrop
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/spark/src/spark/components/supportClasses/ItemRenderer.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@1263926 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -1922,7 +1922,6 @@
             // Use the old unscaledWidth width as an estimte for the new one.
             // If we are wrong, we'll find out in updateDisplayList()

-            // FIXME (rfrishbe) in justify layout, we can guess better than this our first time around...
             var messageDisplayEstimatedWidth:Number = oldUnscaledWidth - paddingAndGapWidth - myIconWidth - decoratorWidth;

             setElementSize(messageDisplay, messageDisplayEstimatedWidth, NaN);