Transferred from the Adobe Open Source Subversion Repository

Revision: 20642
Author:   smgilson@adobe.com
Date:     2011-03-07T17:53:01.854031Z

Log Message:
-----------
ASDoc updates

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/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/TraceSelectionRanges.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Image.as
+++ frameworks/projects/spark/src/spark/components/Image.as
@@ -36,53 +36,55 @@
 //--------------------------------------

 /**
- *  Uninitialized state of the Image.
+ *  The uninitialized state of the Image control.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("uninitialized")]
+
+/**
+ *  The preloading state of the Image control.
+ *  The enableLoadingState style must
+ *  be set to true to enable this component state.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4.5
  */
-[SkinState("uninitialized")]
-
-/**
- *  Preloading state of the Image. enablePreload must
- *  be set to true to enable this component state.
+[SkinState("loading")]
+
+/**
+ *  The ready state of the Image control.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("ready")]
+
+/**
+ *  The invalid state of the Image control.
+ *  This means that the image could not be
+ *  successfully loaded.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4.5
- */
-[SkinState("loading")]
-
-/**
- *  Ready state of the Image.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 1.5
- *  @productversion Flex 4.5
- */
-[SkinState("ready")]
-
-/**
- *  Invalid state of the Image, e.g. image could not be
- *  successfully loaded.
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("invalid")]
+
+/**
+ *  The disabled state of the Image control.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4.5
- */
-[SkinState("invalid")]
-
-/**
- *  Disabled state.
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [SkinState("disabled")]
@@ -96,7 +98,7 @@
  *  event is only dispatched for url and ByteArray based
  *  sources (those sources requiring a Loader).
  *
- *
Note that for content loaded via Loader, both
+ *
Note that for content loaded by Loader, both
  *  ready and complete events
  *  are dispatched.
  For other source types such as
  *  embeds, only ready is dispatched.
@@ -105,7 +107,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="complete", type="flash.events.Event")]
@@ -118,20 +120,20 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="httpStatus", type="flash.events.HTTPStatusEvent")]

 /**
- *  Dispatched when an input/output error occurs.
+ *  Dispatched when an input or output error occurs.
  *  @see flash.events.IOErrorEvent
  *
  *  @eventType flash.events.IOErrorEvent.IO_ERROR
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="ioError", type="flash.events.IOErrorEvent")]
@@ -149,7 +151,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="progress", type="flash.events.ProgressEvent")]
@@ -168,7 +170,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="ready", type="mx.events.FlexEvent")]
@@ -181,7 +183,7 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Event(name="securityError", type="flash.events.SecurityErrorEvent")]
@@ -191,14 +193,14 @@
 //-----------------------------------

 /**
- *  The alpha of the background for this component.
+ *  The alpha value of the background for this component.
  *
  *  @default NaN
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 [Style(name="backgroundAlpha", type="Number", inherit="no", theme="spark, mobile", minValue="0.0", maxValue="1.0")]

@@ -209,13 +211,13 @@
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 [Style(name="backgroundColor", type="uint", format="Color", inherit="no", theme="spark, mobile")]

 /**
- *  When true, enables the 'loading' skin state.
+ *  When true, enables the loading skin state.
  *  @default false
  *
  *  @langversion 3.0
@@ -226,9 +228,9 @@
 [Style(name="enableLoadingState", type="Boolean", inherit="no")]

 /**
- *  Style equivalent to BitmapImage's smoothingQuality property.When set to
- *  BitmapSmoothingQuality.BEST, the image is resampled (if data
- *  is from a trusted source) to achieve a higher quality result.
+ *  Style equivalent to BitmapImage's smoothingQuality property.
+ *  When set to BitmapSmoothingQuality.BEST, the image is
+ *  resampled (if data is from a trusted source) to achieve a higher quality result.
  *  If set to BitmapSmoothingQuality.DEFAULT, the default stage
  *  quality for scaled bitmap fills is used.
  *
@@ -248,8 +250,33 @@
 [IconFile("Image.png")]

 /**
- *  The Image control is a skinnable component that provides a customizable
+ *  The Spark Image control is a skinnable component that provides a customizable
  *  loading state, chrome, and error state.
+ *  The Image control lets you import JPEG, PNG, and GIF files
+ *  at runtime. You can also embed any of these files at compile time
+ *  by using @Embed(source='filename').
+ *
+ *
Note: Flex also includes the SWFLoader control for loading Flex applications.
+ *  You typically use the Image control for loading static graphic files and SWF files,
+ *  and use the SWFLoader control for loading Flex applications. The Image control
+ *  is also designed to be used in custom item renderers and item editors.

+ *
+ *
Note: Flex also includes the BitmapImage class. This class is
+ *  used for embedding images into skins and FXG components.

+ *
+ *
Embedded images load immediately, because they are already part of the
+ *  Flex SWF file. However, they add to the size of your application and slow down
+ *  the application initialization process. Embedded images also require you to
+ *  recompile your applications whenever your image files change.

+ *
+ *
The alternative to embedding a resource is to load the resource at runtime.
+ *  You can load a resource from the local file system in which the SWF file runs,
+ *  or you can access a remote resource, typically though an HTTP request over a network.
+ *  These images are independent of your Flex application, so you can change them without
+ *  causing a recompile operation as long as the names of the modified images remain the same.
+ *  The referenced images add no additional overhead to an application's initial loading time.
+ *  However, you might experience a delay when you use the images and load them
+ *  into Flash Player or AIR.

  *
  *
The default skin provides a chromeless image skin with a generic progress
  *  bar based preloader and broken image icon to reflect invalid content.

@@ -285,10 +312,11 @@
  *

  *
  *  @see spark.skins.spark.ImageSkin
+ *  @see mx.controls.SWFLoader
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
- *  @playerversion AIR 1.5
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 public class Image extends SkinnableComponent
@@ -325,7 +353,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public function Image()
@@ -377,7 +405,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public var imageDisplay:BitmapImage;
@@ -395,7 +423,7 @@
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     public var progressIndicator:Range;
@@ -412,7 +440,13 @@

     /**
      *  @copy spark.primitives.BitmapImage#bitmapData
+     *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get bitmapData():BitmapData
     {
@@ -426,6 +460,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#bytesLoaded
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get bytesLoaded():Number
     {
@@ -439,6 +478,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#bytesTotal
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get bytesTotal():Number
     {
@@ -452,6 +496,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#clearOnLoad
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get clearOnLoad():Boolean
     {
@@ -483,6 +532,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#contentLoader
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get contentLoader():IContentLoader
     {
@@ -514,6 +568,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#contentLoaderGrouping
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get contentLoaderGrouping():String
     {
@@ -547,6 +606,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#fillMode
      *  @default BitmapFillMode.SCALE
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get fillMode():String
     {
@@ -580,6 +644,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#horizontalAlign
      *  @default HorizontalAlign.CENTER
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get horizontalAlign():String
     {
@@ -613,6 +682,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#preliminaryHeight
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get preliminaryHeight():Number
     {
@@ -646,6 +720,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#preliminaryWidth
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get preliminaryWidth():Number
     {
@@ -679,6 +758,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#scaleMode
      *  @default BitmapScaleMode.LETTERBOX
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get scaleMode():String
     {
@@ -711,6 +795,13 @@

     /**
      *  @copy spark.primitives.BitmapImage#smooth
+     *
+     *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function set smooth(value:Boolean):void
     {
@@ -755,6 +846,11 @@

     /**
      *  @copy spark.primitives.BitmapImage#source
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function set source(value:Object):void
     {
@@ -785,6 +881,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#sourceHeight
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get sourceHeight():Number
     {
@@ -801,6 +902,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#sourceWidth
      *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get sourceWidth():Number
     {
@@ -817,6 +923,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#trustedSource
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get trustedSource():Boolean
     {
@@ -835,6 +946,11 @@
     /**
      *  @copy spark.primitives.BitmapImage#verticalAlign
      *  @default HorizontalAlign.MIDDLE
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get verticalAlign():String
     {


updating LAMLParserTest to work with getTextFormat

--- test/laml/xml/LAMLParserTest.as
+++ test/laml/xml/LAMLParserTest.as
@@ -144,7 +144,7 @@
 			assertEquals(0xFFCC00, result.backgroundColor);
 		}

-		public function testStyleSheetNode():void {
+		public function testTextFormatNode():void {
 			var styleSheet:StyleSheet = new StyleSheet();
 			styleSheet.setStyle("child1", {color:0xFF0000, fontSize:12});
 			styleSheet.setStyle("child2", {color:0x0000FF, fontSize:12});
@@ -181,20 +181,20 @@
 			var child1:Layoutable = result.getChildById('child1');
 			assertNotNull(child1);
 			assertSame(result, child1.parent);
-			assertTrue(child1.textFormat.color, child1.textFormat.color == styleSheet.getStyle("child1").color);
-			assertTrue(child1.textFormat.size, child1.textFormat.size == styleSheet.getStyle("child1").fontSize);
+			assertTrue(child1.getTextFormat().color, child1.getTextFormat().color == styleSheet.getStyle("child1").color);
+			assertTrue(child1.getTextFormat().size, child1.getTextFormat().size == styleSheet.getStyle("child1").fontSize);

 			var child2:Layoutable = result.getChildById('child2');
 			assertNotNull(child2);
 			assertSame(result, child2.parent);
-			assertTrue(child2.textFormat.color, child2.textFormat.color == styleSheet.getStyle("child2").color);
-			assertTrue(child2.textFormat.size, child2.textFormat.size == styleSheet.getStyle("child2").fontSize);
+			assertTrue(child2.getTextFormat().color, child2.getTextFormat().color == styleSheet.getStyle("child2").color);
+			assertTrue(child2.getTextFormat().size, child2.getTextFormat().size == styleSheet.getStyle("child2").fontSize);

 			var child3:Layoutable = result.getChildById('child3');
 			assertNotNull(child3);
 			assertSame(child2, child3.parent);
-			assertTrue(child3.textFormat.color, child3.textFormat.color == styleSheet.getStyle("child3").color);
-			assertTrue(child3.textFormat.size, child3.textFormat.size == styleSheet.getStyle("child3").fontSize);
+			assertTrue(child3.getTextFormat().color, child3.getTextFormat().color == styleSheet.getStyle("child3").color);
+			assertTrue(child3.getTextFormat().size, child3.getTextFormat().size == styleSheet.getStyle("child3").fontSize);
 		}

 		/*


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

--- frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as
+++ frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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: 2069
Author:   clucier@adobe.com
Date:     2008-06-13T15:05:06.721996Z

Log Message:
-----------
Applying user submitted patch SDK-15087.
Bugs: SDK-12301
QA: Yes

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/EmailValidator.as

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

--- frameworks/projects/framework/src/mx/validators/EmailValidator.as
+++ frameworks/projects/framework/src/mx/validators/EmailValidator.as
@@ -60,7 +60,12 @@
 	/**
 	 *  @private
 	 */
-	private static const DISALLOWED_CHARS:String =
+	private static const DISALLOWED_LOCALNAME_CHARS:String =
+								"()<>,;:\\\"[] `~!#$%^&*={}|/?'";
+	/**
+	 *  @private
+	 */
+	private static const DISALLOWED_DOMAIN_CHARS:String =
 								"()<>,;:\\\"[] `~!#$%^&*+={}|/?'";

 	//--------------------------------------------------------------------------
@@ -141,7 +146,7 @@

 		for (i = 0; i < usernameLen; i++)
 		{
-			if (DISALLOWED_CHARS.indexOf(username.charAt(i)) != -1)
+			if (DISALLOWED_LOCALNAME_CHARS.indexOf(username.charAt(i)) != -1)
 			{
 				results.push(new ValidationResult(
 					true, baseField, "invalidChar",
@@ -210,7 +215,7 @@
 			// Check that there are no illegal characters in the domain.
 			for (i = 0; i < domainLen; i++)
 			{
-				if (DISALLOWED_CHARS.indexOf(domain.charAt(i)) != -1)
+				if (DISALLOWED_DOMAIN_CHARS.indexOf(domain.charAt(i)) != -1)
 				{
 					results.push(new ValidationResult(
 						true, baseField, "invalidChar",


Renamed inputs for buttons

Renamed inputs for buttons

--- src/com/zehfernando/input/binding/GamepadControls.as
+++ src/com/zehfernando/input/binding/GamepadControls.as
@@ -60,7 +60,7 @@
 		 *
Works in: OUYA (Native Controller; Playstation DS3; XBox 360 Controller)

 		 *
Possible values: 0 (at rest) to 1 (pressed)

 		 */
-		public static const LB:String = "lb";
+		public static const LB:String = "left_button";

 		/* Left shoulder trigger (also known as LT or L2)
 		 *
@@ -68,7 +68,7 @@
 		 *
Works in: OUYA (Native Controller; Playstation DS3; XBox 360 Controller)

 		 *
Possible values: 0 (at rest) to 1 (pressed)

 		 */
-		public static const LT:String = "lt";
+		public static const LT:String = "left_trigger";

 		/* Right shoulder bumper (also known as RB or R1)
 		 *
@@ -76,7 +76,7 @@
 		 *
Works in: OUYA (Native Controller; Playstation DS3; XBox 360 Controller)

 		 *
Possible values: 0 (at rest) to 1 (pressed)

 		 */
-		public static const RB:String = "rb";
+		public static const RB:String = "right_button";

 		/* Right shoulder trigger (also known as RT or R2)
 		 *
@@ -84,7 +84,7 @@
 		 *
Works in: OUYA (Native Controller; Playstation DS3; XBox 360 Controller)

 		 *
Possible values: 0 (at rest) to 1 (pressed)

 		 */
-		public static const RT:String = "rt";
+		public static const RT:String = "right_trigger";

 		/* Directional pad up
 		 *


Add missing type in Product.as

Add missing type in Product.as

--- examples/ChartExample/src/products/Product.as
+++ examples/ChartExample/src/products/Product.as
@@ -20,7 +20,7 @@
 {
 	public class Product
 	{
-		public function Product(id:String,title:String,detail:Number,sales2013:Number, sales2014 ,image:String)
+		public function Product(id:String, title:String, detail:Number,sales2013:Number, sales2014:Number ,image:String)
 		{
 			this.id = id;
 			this.title = title;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3523
Author:   jimurphy@adobe.com
Date:     2008-10-08T19:48:41.481932Z

Log Message:
-----------
rename clean up
-Remove the FxSelectorSkin skin

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSelectorSkin.mxml</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -41,7 +41,6 @@
 import mx.skins.spark.FxScrollBarLeftButtonSkin; FxScrollBarLeftButtonSkin;
 import mx.skins.spark.FxScrollBarRightButtonSkin; FxScrollBarRightButtonSkin;
 import mx.skins.spark.FxScrollerSkin; FxScrollerSkin;
-import mx.skins.spark.FxSelectorSkin; FxSelectorSkin;
 import mx.skins.spark.FxSpinnerDecrButtonSkin; FxSpinnerDecrButtonSkin;
 import mx.skins.spark.FxSpinnerIncrButtonSkin; FxSpinnerIncrButtonSkin;
 import mx.skins.spark.FxSpinnerSkin; FxSpinnerSkin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19176
Author:   klin@adobe.com
Date:     2010-12-08T22:33:23.605667Z

Log Message:
-----------
Fix FormItem helpContent bugs. Setting helpContent to null after its been initialized will actually work now. Also, added ArrayElementType metadata so that only IVisualElements can be added in mxml to the helpContent array.

QE notes: No
Doc notes: No
Bugs: SDK-28563, SDK-28595
Reviewer: Jason
Tests run: Form, checkintests
Is noteworthy for integration: Yes

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

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

--- frameworks/projects/spark/src/spark/components/FormItem.as
+++ frameworks/projects/spark/src/spark/components/FormItem.as
@@ -13,7 +13,6 @@
 {
 import flash.events.Event;

-import mx.core.IDeferredInstance;
 import mx.core.IVisualElement;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -21,12 +20,6 @@
 import spark.core.IDisplayText;

 use namespace mx_internal;
-
-/*
- *  TODO
- *  - Fix bug when setting errorString = ""
- *  - Review applyErrorText API
- */

 /**
  *  Specifies the image source to use for the error indicator.
@@ -52,7 +45,6 @@
  */
 [Style(name="errorIndicatorSource", type="Object", inherit="no")]

-
 /**
  *  SkinnableContainer with content and multiple properties. The FormItem's children
  *  are the content and are placed in the contentGroup skin part. The FormItem
@@ -64,7 +56,17 @@
  */
 public class FormItem extends SkinnableContainer
 {
-
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
     public function FormItem()
     {
         super();
@@ -130,11 +132,13 @@
     //----------------------------------
     //  helpContent
     //----------------------------------
+
     private var _helpContent:Array;
     private var helpContentChanged:Boolean = false;

+    [ArrayElementType("mx.core.IVisualElement")]
     [Bindable("helpContentChanged")]
-    [Inspectable(category="General", defaultValue="")]
+    [Inspectable(category="General", arrayType="mx.core.IVisualElement", defaultValue="")]

     /**
      *  The set of components to include in the help content
@@ -306,7 +310,11 @@
     {
         super.commitProperties();

-        createHelpContent();
+        if (helpContentChanged)
+        {
+            createHelpContent();
+            helpContentChanged = false;
+        }
     }

     /**
@@ -432,11 +440,8 @@
      */
     private function createHelpContent():void
     {
-        if (_helpContent && helpContentGroup && helpContentChanged)
-        {
-            helpContentChanged = false;
+        if (helpContentGroup)
             helpContentGroup.mxmlContent = _helpContent;
-        }
     }

     //--------------------------------------------------------------------------
@@ -444,6 +449,7 @@
     //  Event Handlers
     //
     //--------------------------------------------------------------------------
+
     /**
      *  @private
      */
@@ -451,7 +457,5 @@
     {
         updateErrorString();
     }
-
-
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12478
Author:   gosmith@adobe.com
Date:     2009-12-04T01:03:50.724937Z

Log Message:
-----------
The partAdded() and partRemoved() methods of Spark components now dispatch new events named "partAdded" and "partRemoved", of type SkinPartEvent. The accessibility implementation classes will soon use these events to know when skin parts are added and removed so that they can attach and remove event handlers appropriately. This mechanism may change in a future release, so developers should not depend on these undocumented events.

I've made sure that all overrides of partAdded() and partRemoved() call the supermethod so that they dispatch these events.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.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/src/spark/events/SkinPartEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.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/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -638,7 +638,7 @@

         // The scroller, between textDisplay and this in the chain, should not
         // getFocus.
-        if (instance == scroller)
+        else if (instance == scroller)
         {
             scroller.focusEnabled = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3555
Author:   gosmith@adobe.com
Date:     2008-10-09T23:56:22.137038Z

Log Message:
-----------
TextInput and TextArea now participate in the FocusManager's tab ring. For example, you can tab to an empty TextInput and start entering text.

The selectionAnchorPosition and selectionActivePosition properties of TextView, TextInput, and TextArea are now read-only, in accordance with the spec for these components. You must use the setSelection() method to set the selection.

Reviewer: Deepa
Bugs: SDK-15894, SDK-15898, SDK-16331, SDK-16332, SDK-16414, SDK-16435, SDK-17224, SDK-17239
QA: Please remove any tests where you set selectionAnchorPosition or selectionActivePosition.
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -342,40 +342,6 @@
 	/**
 	 *  Documentation is not currently available.
 	 */
-    public function setSelection(anchorIndex:int = 0,
-                                 activeIndex:int = int.MAX_VALUE):void
-    {
-        if (!textView)
-            return;
-
-        textView.setSelection(anchorIndex, activeIndex);
-    }
-
-	/**
-	 *  Documentation is not currently available.
-	 */
-    public function insertText(text:String):void
-    {
-        if (!textView)
-            return;
-
-        textView.insertText(text);
-    }
-
-	/**
-	 *  Documentation is not currently available.
-	 */
-    public function appendText(text:String):void
-    {
-        if (!textView)
-            return;
-
-        textView.appendText(text);
-    }
-
-	/**
-	 *  Documentation is not currently available.
-	 */
     public function export():XML
     {
         if (!textView)


Add support for properties 'diffuseUVOffset' and 'diffuseUVScale'.

--- src/aerys/minko/render/shader/part/DiffuseShaderPart.as
+++ src/aerys/minko/render/shader/part/DiffuseShaderPart.as
@@ -5,7 +5,6 @@
 	import aerys.minko.type.enum.SamplerFiltering;
 	import aerys.minko.type.enum.SamplerMipMapping;
 	import aerys.minko.type.enum.SamplerWrapping;
-	import aerys.minko.type.stream.format.VertexComponent;

 	public class DiffuseShaderPart extends ShaderPart
 	{
@@ -26,6 +25,7 @@

 			if (meshBindings.propertyExists('diffuseMap'))
 			{
+				var uv			: SFloat	= vertexUV.xy;
 				var diffuseMap	: SFloat	= meshBindings.getTextureParameter(
 					'diffuseMap',
 					meshBindings.getConstant('diffuseFiltering', SamplerFiltering.LINEAR),
@@ -33,7 +33,13 @@
 					meshBindings.getConstant('diffuseWrapping', SamplerWrapping.REPEAT)
 				);

-				diffuseColor = sampleTexture(diffuseMap,interpolate(vertexUV.xy));
+				if (meshBindings.propertyExists('diffuseUVScale'))
+					uv.scaleBy(meshBindings.getParameter('diffuseUVScale', 2));
+
+				if (meshBindings.propertyExists('diffuseUVOffset'))
+					uv.incrementBy(meshBindings.getParameter('diffuseUVOffset', 2));
+
+				diffuseColor = sampleTexture(diffuseMap,interpolate(uv));
 			}
 			else if (meshBindings.propertyExists('diffuseColor'))
 			{


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mx/src/mx/styles/metadata/SelectedFillColorsStyle.as
+++ frameworks/projects/mx/src/mx/styles/metadata/SelectedFillColorsStyle.as
@@ -1,24 +1,2 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 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.
-//
-////////////////////////////////////////////////////////////////////////////////

-/**
- *  The two colors used to tint the background of the component
- *  when in its selected state.
- *  Pass the same color for both values for "flat" looking control.
- *  The default value is undefined, which means the colors
- *  are derived from themeColor.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="selectedFillColors", type="Array", arrayType="uint", format="Color", inherit="no", theme="halo")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 20292
Author:   smgilson@adobe.com
Date:     2011-02-11T16:53:14.813687Z

Log Message:
-----------
Minor ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -1109,10 +1109,12 @@
      *
      *

      *
-     *  The implementation calls getElementBoundsLeftOfScrollRect() and
+     *
The implementation calls getElementBoundsLeftOfScrollRect() and
      *  getElementBoundsRightOfScrollRect() to determine the bounds of
      *  the elements.  Layout classes usually override those methods instead of
-     *  the getHorizontalScrollPositionDelta() method.
+     *  the getHorizontalScrollPositionDelta() method.

+     *
+     *  @return The change to the horizontal scroll position.
      *
      *  @see spark.core.NavigationUnit
      *  @see #getElementBoundsLeftOfScrollRect
@@ -1270,10 +1272,12 @@
      *
      *

      *
-     *  The implementation calls getElementBoundsAboveScrollRect() and
+     *
The implementation calls getElementBoundsAboveScrollRect() and
      *  getElementBoundsBelowScrollRect() to determine the bounds of
      *  the elements. Layout classes usually override those methods instead of
-     *  the getVerticalScrollPositionDelta() method.
+     *  the getVerticalScrollPositionDelta() method.

+     *
+     *  @return The change to the vertical scroll position.
      *
      *  @see spark.core.NavigationUnit
      *  @see #getElementBoundsAboveScrollRect


Fix viewport when resolution is superior to the max allowed by centering the viewport.

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -17,7 +17,7 @@
 	import aerys.minko.scene.visitor.RenderingVisitor;
 	import aerys.minko.scene.visitor.WorldDataVisitor;
 	import aerys.minko.type.Factory;
-
+
 	import flash.display.DisplayObject;
 	import flash.display.Graphics;
 	import flash.display.Shape;
@@ -56,6 +56,7 @@
 		private var _autoResize			: Boolean					= false;
 		private var _antiAliasing		: int						= 0;
 		private var _invalidRectangle	: Boolean					= true;
+		private var _upperLeft			: Point						= null;

 		private var _visitors			: Vector.<ISceneVisitor>	= null;

@@ -395,7 +396,7 @@
 		{
 			if (_stage3d && _stage3d.context3D && _width && _height)
 			{
-				updateRectangle();
+				update();

 				_renderer = new _rendererClass(this, _stage3d.context3D);

@@ -408,16 +409,24 @@
 			}
 		}

-		private function updateRectangle() : void
+		private function update() : void
 		{
 			if (_stage3d)
 			{
-				var origin 	: Point 	= localToGlobal(ZERO2);
+				_upperLeft = localToGlobal(ZERO2);
+
+				if (_width > 2048)
+					_stageX = (_width - 2048) / 2.;
+				else
+					_stageX = _upperLeft.x;
+
+				if (_height > 2048)
+					_stageY = (_height - 2048) / 2.;
+				else
+					_stageY = _upperLeft.y;
+
 				var width	: Number	= Math.min(2048, _width);
 				var height	: Number	= Math.min(2048, _height);
-
-				_stageX = origin.x;
-				_stageY = origin.y;

 				_stage3d.x = _stageX;
 				_stage3d.y = _stageY;
@@ -482,7 +491,7 @@

 		private function stageResizeHandler(event : Event) : void
 		{
-			updateRectangle();
+			update();
 		}

 		private function stageEventHandler(event : Object) : void
@@ -552,10 +561,12 @@
 			{
 				var positionOnStage	: Point	= localToGlobal(ZERO2);

-				if (_invalidRectangle || _stageX != positionOnStage.x
-					|| _stageY != positionOnStage.y)
+				if (_invalidRectangle
+					|| _upperLeft.x != positionOnStage.x
+					|| _upperLeft.y != positionOnStage.y)
 				{
-					updateRectangle();
+					update();
+					_invalidRectangle = false;
 				}
 			}


Removed tests from V1 mediator reference tests that have been implemented in V2

--- test/org/robotlegs/v2/extensions/mediatorMap/MediatorMapV1Test.as
+++ test/org/robotlegs/v2/extensions/mediatorMap/MediatorMapV1Test.as
@@ -85,37 +85,6 @@
 		}

 		[Test]
-		public function contextViewMediatorIsCreatedWhenMapped():void
-		{
-			mediatorMap.mapView(TestContextView, TestContextViewMediator);
-			Assert.assertTrue('Mediator should have been created for contextView', mediatorMap.hasMediatorForView(contextView));
-		}
-
-		[Test]
-		public function contextViewMediatorIsNotCreatedWhenMappedAndAutoCreateIsFalse():void
-		{
-			mediatorMap.mapView(TestContextView, TestContextViewMediator, null, false);
-			Assert.assertFalse('Mediator should NOT have been created for contextView', mediatorMap.hasMediatorForView(contextView));
-		}
-
-		[Test]
-		public function mediatorIsMappedAddedAndRemovedByView():void
-		{
-			var viewComponent:ViewComponent = new ViewComponent();
-			var mediator:IMediator;
-
-			mediatorMap.mapView(ViewComponent, ViewMediator, null, false, false);
-			contextView.addChild(viewComponent);
-			mediator = mediatorMap.createMediator(viewComponent);
-			Assert.assertNotNull('Mediator should have been created', mediator);
-			Assert.assertTrue('Mediator should have been created', mediatorMap.hasMediator(mediator));
-			Assert.assertTrue('Mediator should have been created for View Component', mediatorMap.hasMediatorForView(viewComponent));
-			mediatorMap.removeMediatorByView(viewComponent);
-			Assert.assertFalse("Mediator should not exist", mediatorMap.hasMediator(mediator));
-			Assert.assertFalse("View Mediator should not exist", mediatorMap.hasMediatorForView(viewComponent));
-		}
-
-		[Test]
 		public function mediatorIsMappedAndCreatedAndRemovedWithInjectedNonView():void
 		{
 			mediatorMap.mapView(NonViewComponent, NonViewMediator, null, false, true);


no longer distinguishing between url null and ''

--- WeaveData/src/weave/data/DataSources/CSVDataSource.as
+++ WeaveData/src/weave/data/DataSources/CSVDataSource.as
@@ -120,7 +120,8 @@
 			if (rows != null)
 			{
 				// clear url value when we specify csvData session state
-				url.value = null;
+				if (url.value)
+					url.value = null;
 				this.parsedRows = rows;
 			}
 		}
@@ -300,9 +301,7 @@
 			var servletParamsChanged:Boolean = detectLinkableObjectChange(handleURLChange, servletParams);
 			if (urlChanged || servletParamsChanged)
 			{
-				if (url.value == '')
-					url.value = null;
-				if (url.value != null)
+				if (url.value)
 				{
 					// if url is specified, do not use csvDataString
 					csvData.setSessionState(null);


Transform3D rotation/scale/position properties "should" now "properly"

--- src/aerys/minko/type/Transform3D.as
+++ src/aerys/minko/type/Transform3D.as
@@ -102,18 +102,36 @@

 		override protected function update() : void
 		{
+			var c : Vector.<Vector3D> = null;
+
 			if (super.invalid)
 			{
 				super.update();

-				var c : Vector.<Vector3D> = _matrix.decompose(ORIENTATION);
-
-				_position.set(c[0].x, c[0].y, c[0].z, c[0].w);
-				_rotation.set(c[1].x, c[1].y, c[1].z, c[1].w);
-				_scale.set(c[2].x, c[2].y, c[2].z, c[2].w);
+				c = _matrix.decompose(ORIENTATION);
+
+				_position._vector = c[0];
+				_rotation._vector = c[1];
+				_scale._vector = c[2];
 			}
 			else
 			{
+				var invalidPosition : Boolean 	= _position.version != _tv;
+				var invalidRotation : Boolean	= _rotation.version != _rv;
+				var invalidScale	: Boolean	= _scale.version != _sv;
+
+				if (invalidPosition || invalidRotation || invalidScale)
+				{
+					c = _matrix.decompose(ORIENTATION);
+
+					if (!invalidPosition)
+						_position._vector = c[0];
+					if (!invalidRotation)
+						_rotation._vector = c[1];
+					if (!invalidScale)
+						_scale._vector = c[2];
+				}
+
 				_matrix.recompose(Vector.<Vector3D>([_position._vector,
 											 	     _rotation._vector,
 													 _scale._vector]));


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.rpc.xml
 {


Gah, this was part of the implementation, but in the end I took it out but missed the import

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

--- src/as/com/threerings/io/ObjectInputStream.as
+++ src/as/com/threerings/io/ObjectInputStream.as
@@ -30,7 +30,6 @@
 import com.threerings.util.ClassUtil;
 import com.threerings.util.Log;
 import com.threerings.util.Long;
-import com.threerings.util.safeCast;

 public class ObjectInputStream
 {


Implemented fragmenting to overcome the 40kb limit of the LocalConnection

--- src/flash/net.easyxdm.flash/Main.as
+++ src/flash/net.easyxdm.flash/Main.as
@@ -33,7 +33,11 @@
 class Main
 {
 	public static function main(swfRoot:MovieClip):Void
-	{
+
+	{
+		// LocalConnection has a max length
+		var maxMessageLength = 40900;
+
 		// map of all the senders
 		var sendMap = { };

@@ -69,20 +73,38 @@
 			// set up the sending connection and store it in the map
 			var sendingConnection:LocalConnection = new LocalConnection();
 			sendMap[channel] = function(message) {
-				log("sending to " + sendingChannelName);
-				sendingConnection.send(sendingChannelName, "onMessage", message, _root.proto + "//" + _root.domain);
+				log("sending to " + sendingChannelName + ", length is " + message.length);
+
+				var origin = _root.proto + "//" + _root.domain;
+				var fragments = [], fragment, length = message.length, pos = 0, nextPos ;
+				while (pos <= length) {
+					nextPos = pos + maxMessageLength;
+					sendingConnection.send(sendingChannelName, "onMessage", message.substr(pos, maxMessageLength), _root.proto + "//" + _root.domain, length - nextPos);
+					pos = nextPos;
+				}
 			};

+			var incommingFragments = [];
+
 			// set up the listening connection
 			var listeningConnection:LocalConnection  = new LocalConnection();
-			listeningConnection.onMessage = function(message, origin) {
+			listeningConnection.onMessage = function(message, origin, remaining) {
 				log("received message from " + origin);
 				if (origin !== remoteOrigin) {
 					log("wrong origin, expected " + remoteOrigin);
 					return;
 				}
+
+				incommingFragments.push(message);
+
 				// escape \\ and pass on
-				ExternalInterface.call(callback, message.split("\\").join("\\\\"), origin);
+				if (remaining <= 0) {
+					log("received final fragment");
+					ExternalInterface.call(callback, incommingFragments.join("").split("\\").join("\\\\"), origin);
+					incommingFragments = [];
+				}else {
+					log("received fragment, length is " + message.length + " remaining is " + remaining);
+				}
 			};

 			// allow all domains to connect as we enforce the origin check in the onMessage handler and in the js


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.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
 {
 import mx.core.ClassFactory;


Transferred from the Adobe Open Source Subversion Repository

Revision: 16745
Author:   klin@adobe.com
Date:     2010-06-30T18:26:23.782445Z

Log Message:
-----------
The following changes apply to Spark DataGrid only.   Code reviews have been deferred until the implementation is closer to completion.

-GridRowNode's updateMaxHeight now returns true if the max height updates.
-getRow/ColumnBounds returns an empty rectangle instead of null to prevent null pointer exceptions.
-getRowIndexAt() now uses a cached cumulative y value of the last searched row to search for the next row index. It uses the helper methods getPrevRowIndexAt and getNextRowIndexAt to search for values before and after the cached value. These methods iterates through the rowList and calculates the range of y values represented between two nodes, which it uses to find the target row index.
-clear() nulls out the cached recentNode.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowNode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowList.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as
@@ -211,6 +211,8 @@
         else // index is after cur.
             insertAfter(cur, newNode);

+        recentNode = newNode;
+
         return newNode;
     }

@@ -366,7 +368,7 @@

         var indexToRecent:int;
         var temp:int;
-        var lastToIndex:int = _tail.rowIndex - index;
+        var lastToIndex:int;
         var result:GridRowNode = null;

         if (recentNode)
@@ -377,6 +379,8 @@
             indexToRecent = recentNode.rowIndex - index;
             temp = Math.abs(indexToRecent);
         }
+
+        lastToIndex = _tail.rowIndex - index;

         if (index < _head.rowIndex)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18369
Author:   klin@adobe.com
Date:     2010-10-29T18:22:34.938417Z

Log Message:
-----------
Fix a few bugs in DataGrid. Also cleaned up handlers in GridDimensions.

Grid.as
-We should only keep the typical item size cache when the typicalItem is explicit and the columns haven't changed.
-Must reset rowCount in the collectionChangeHandler.

GridDimensions.as, GridRowList.as
-Fix RTE when inserting rows at the end.

QE notes: No
Doc notes: No
Bugs: SDK-28238, SDK-28278, SDK-28297
Reviewer: Hans
Tests run: cyclone server
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridRowList.as
@@ -463,6 +463,30 @@
         return cur;
     }

+
+    /**
+     *  Inserts the specified node at the end of the list.
+     */
+    public function push(node:GridRowNode):void
+    {
+        if (_tail)
+        {
+            node.prev = _tail;
+            node.next = null;
+            _tail.next = node;
+            _tail = node;
+            _length++;
+        }
+        else
+        {
+            node.prev = null;
+            node.next = null;
+            _head = node;
+            _tail = node;
+            _length = 1;
+        }
+    }
+
     /**
      *  Searches through all nodes for the given value and
      *  removes it from the list if found.


Transferred from the Adobe Open Source Subversion Repository

Revision: 7295
Author:   dsubrama@adobe.com
Date:     2009-05-26T23:59:25.112903Z

Log Message:
-----------
-Add in caret support to Spark List. Our default renderers draw a thin 1px blue line (same color as selection color) around items that are currently in focus.
-Selection and careted item stay in-sync unless the Ctrl key is down in which you can caret away on your own.
-With careting (current item in focus) comes the itemFocusChanged event.
-Add in more states to ItemRenderer, which now supports: normal, hovered, selected, normalAndCaret, hoveredAndCaret, selectedAndCaret.
-Because of the addition of a hasState() method on IStateClient2, IR's that don't support the above-mentioned states won't RTE!
-findKey support like in Halo, for Spark List
-Null check for Line when generating DAPI-2 stroke

Reviewers: Ryan for caret stuff, Ryan/Corey for hasState() impl
Doc: Yes
QA: Yes
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IStateClient2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultComplexItemRenderer.mxml</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/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -31,14 +31,6 @@

 use namespace mx_internal;  //ListBase and List share selection properties that are mx_internal

-/*
- TODO (jszeto)
- - Add caretIndex public getter
- - Add setCaretIndex protected setter
-    - Should set currentCaretIndex
-    - Call itemInCaret
-*/
-
 /**
  *  Dispatched when the selection is going to change.
  *  Calling the preventDefault() method
@@ -134,6 +126,12 @@
      */
     private static const NO_PROPOSED_SELECTION:int = -2;

+    /**
+     *  @private
+     *  Static constant representing no item in focus.
+     */
+    private static const NO_CARET:int = -1;
+
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -158,6 +156,28 @@
     //  Properties
     //
     //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  currentCaretIndex
+    //----------------------------------
+
+    mx_internal var _currentCaretIndex:Number = NO_CARET;
+
+    [Bindable("itemFocusChanged")]
+    /**
+     *  Item that is currently in focus.
+     *
+     *  @default -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get currentCaretIndex():Number
+    {
+        return _currentCaretIndex;
+    }

     /**
      *  @private
@@ -296,6 +316,14 @@
      *  is the same. This flag is cleared in commitProperties().
      */
     mx_internal var selectedIndexAdjusted:Boolean = false;
+
+    /**
+     *  @private
+     *  Flag that is set when the currentCaretIndex has been adjusted due to
+     *  items being added or removed. This flag is cleared in
+     *  commitProperties().
+     */
+    mx_internal var currentCaretIndexAdjusted:Boolean = false;

     /**
      *  @private
@@ -458,49 +486,6 @@
     }

     //----------------------------------
-    //  selectUponNavigation
-    //----------------------------------
-    /**
-     *  @private
-     *  Storage for the selectUponNavigation property.
-     */
-    private var _selectUponNavigation:Boolean = true;
-
-    /**
-     *  Specifies whether an item must be selected when
-     *  navigated to or simply focused into. If true,
-     *  when an item is navigated to, it is selected and the
-     *  selection related properties update accordingly.
-     *  If false, when an item is navigated to, the itemFocusIn/Out
-     *  events are dispatched accordingly and the item's
-     *  associated item renderer is put into the focused state and
-     *  none of the selection related properties are updated.
-     *
-     *  @default true
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get selectUponNavigation():Boolean
-    {
-        return _selectUponNavigation;
-    }
-
-    /**
-     *  @private
-     */
-    public function set selectUponNavigation(value:Boolean):void
-    {
-        if (value == _selectUponNavigation)
-            return;
-
-        _selectUponNavigation = value;
-    }
-
-
-    //----------------------------------
     //  useVirtualLayout
     //----------------------------------

@@ -628,6 +613,7 @@
      */
     override protected function commitProperties():void
     {
+    	var e:IndexChangedEvent;
         var changedSelection:Boolean = false;

         super.commitProperties();
@@ -673,18 +659,37 @@
             changedSelection = commitSelection();

         // If the selectedIndex has been adjusted to account for items that
-        // have been added or removed, send out a "selectionChanged" event so
-        // any bindings to selectedIndex are updated correctly.
+        // have been added or removed, send out a "selectionChanged" event
+        // so any bindings to selectedIndex are updated correctly.
         if (selectedIndexAdjusted)
         {
             selectedIndexAdjusted = false;
             if (!changedSelection)
             {
-                var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
+                e = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
                 e.oldIndex = selectedIndex;
                 e.newIndex = selectedIndex;
                 dispatchEvent(e);
             }
+        }
+
+        if (currentCaretIndexAdjusted)
+        {
+        	currentCaretIndexAdjusted = false;
+        	if (!changedSelection)
+        	{
+        		// Put the new currentCaretIndex renderer into the
+        		// caret state and dispatch an "itemFocusChanged"
+        		// event to update any bindings. Additionally, update
+        		// the backing variable.
+        		itemInCaret(selectedIndex, true);
+        		_currentCaretIndex = selectedIndex;
+
+        		e = new IndexChangedEvent(IndexChangedEvent.ITEM_FOCUS_CHANGED);
+        		e.oldIndex = currentCaretIndex;
+        		e.newIndex = currentCaretIndex;
+        		dispatchEvent(e);
+        	}
         }

         if (labelFieldOrFunctionChanged)
@@ -732,7 +737,7 @@
             // Make itemSelected()/itemInCaret() pass around the renderer
             // instead of index
             IItemRenderer(renderer).selected = false;
-            IItemRenderer(renderer).caret = false;
+            IItemRenderer(renderer).caret = false;
         }

         // Now run through and initialize the renderer correctly
@@ -800,7 +805,7 @@

     /**
      *  Called when an item is in its caret state or not.
-     *  Subclasses must override this method to display the caret.
+     *  Subclasses must override this method to display the caret.
      *
      *  @param index The item index that was put into caret state.
      *
@@ -814,7 +819,7 @@
      */
     protected function itemInCaret(index:int, caret:Boolean):void
     {
-        // Subclasses must override this method to display the caret.
+        // Subclasses must override this method to display the caret.
     }

     /**
@@ -861,11 +866,46 @@
         return index == selectedIndex;
     }

+    /**
+     *  Returns true if the item at the index is the caret item, which is
+     *  essentially the item in focus.
+     *
+     *  @param index The index of the item whose caret status is being checked
+     *
+     *  @return true if the item at that index is the caret item, false otherwise.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function isItemInCaret(index:int):Boolean
+    {
+        return index == currentCaretIndex;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Private Methods
     //
     //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Set current caret index. This function takes the item that was
+     *  previously the caret item and sets its caret property to false,
+     *  then takes the current proposed caret item and sets its
+     *  caret property to true as well as updating the backing variable.
+     *
+     */
+    mx_internal function setCurrentCaretIndex(value:Number):void
+    {
+        itemInCaret(currentCaretIndex, false);
+
+        _currentCaretIndex = value;
+
+        itemInCaret(currentCaretIndex, true);
+    }

     /**
      *  @private
@@ -878,11 +918,12 @@
      *  Returns true if the selection was committed, or false if the selection
      *  was cancelled.
      */
-    protected function commitSelection(dispatchSelectionChanged:Boolean = true):Boolean
+    protected function commitSelection(dispatchChangedEvents:Boolean = true):Boolean
     {
         // Step 1: make sure the proposed selected index is in range.
         var maxIndex:int = dataProvider ? dataProvider.length - 1 : -1;
-        var oldIndex:int = _selectedIndex;
+        var oldSelectedIndex:int = _selectedIndex;
+        var oldCaretIndex:int = _currentCaretIndex;

         if (_proposedSelectedIndex < NO_SELECTION)
             _proposedSelectedIndex = NO_SELECTION;
@@ -907,24 +948,33 @@
             return false;
         }

-        // Step 3: commit the selection change
+        // Step 3: commit the selection change and caret change
         if (_selectedIndex != NO_SELECTION)
             itemSelected(_selectedIndex, false);
         if (_proposedSelectedIndex != NO_SELECTION)
             itemSelected(_proposedSelectedIndex, true);
         _selectedIndex = _proposedSelectedIndex;
+        setCurrentCaretIndex(_proposedSelectedIndex);
         _proposedSelectedIndex = NO_PROPOSED_SELECTION;

-        // Step 4: dispatch the "selectionChanged" event based on the
-        // dispatchSelectionChanged parameter. Overrides may chose to
-        // dispatch the selectionChanged event themselves, in which
-        // case we wouldn't want to dispatch the event here.
-        if (dispatchSelectionChanged)
-        {
+        // Step 4: dispatch the "selectionChanged" event and "itemFocusChanged"
+        // events based on the dispatchChangeEvents parameter. Overrides may
+        // chose to dispatch the selectionChanged/itemFocusChanged events
+        // themselves, in which case we wouldn't want to dispatch the event
+        // here.
+        if (dispatchChangedEvents)
+        {
+            // Dispatch the selectionChanged event
             e = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
-            e.oldIndex = oldIndex;
+            e.oldIndex = oldSelectedIndex;
             e.newIndex = _selectedIndex;
             dispatchEvent(e);
+
+            //Dispatch the itemFocusChanged event
+            e = new IndexChangedEvent(IndexChangedEvent.ITEM_FOCUS_CHANGED);
+            e.oldIndex = oldCaretIndex;
+            e.newIndex = currentCaretIndex;
+            dispatchEvent(e);
         }

         return true;
@@ -971,7 +1021,7 @@
     {
         if (selectedIndex == NO_SELECTION || doingWholesaleChanges)
             return;
-
+
         // If an item is added before the selected item, bump up our
         // selected index backing variable.
         if (index <= selectedIndex)
@@ -1050,6 +1100,7 @@
             {
                 // Data provider is being reset, clear out the selection
                 selectedIndex = -1;
+                setCurrentCaretIndex(-1);
             }
             else if (ce.kind == CollectionEventKind.REPLACE ||
                 ce.kind == CollectionEventKind.MOVE ||


Transferred from the Adobe Open Source Subversion Repository

Revision: 12853
Author:   mhorn@adobe.com
Date:     2009-12-11T16:10:45.982388Z

Log Message:
-----------
asdoc updates for l10n

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserNextMonthSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuCheckDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ContainerBorderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ProgressBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/SliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/EmphasizedButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuRadioDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/TitleWindowCloseButtonOverSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ProgressBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserPrevMonthSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ControlBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/SliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserPrevYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/windowChrome/RestoreButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DataGridHeaderBackgroundSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuArrow.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DropDownSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/SliderTrackHighlightSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/TitleWindowCloseButtonUpSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserSelectionIndicatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DataGridSortArrow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/TabSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/windowChrome/CloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DataGridHeaderSeparatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/AccordionHeaderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/windowChrome/StatusBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserNextYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/windowChrome/MinimizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserRollOverIndicatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuArrowDisabled.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/windowChrome/MaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/LinkButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ToolTipSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/PanelBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/EditableComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ProgressMaskSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuBarItemSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ColorPickerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuCheck.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/TitleWindowCloseButtonDownSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/ScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuSeparatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DividerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DateChooserTodayIndicatorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/MenuRadio.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/PopUpButtonSkin.mxml</path>

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

--- frameworks/projects/wireframe/src/mx/skins/wireframe/DataGridSortArrow.as
+++ frameworks/projects/wireframe/src/mx/skins/wireframe/DataGridSortArrow.as
@@ -17,8 +17,10 @@
 	import mx.skins.ProgrammaticSkin;

 	/**
-	 *  The skin for the sort arrow in a column header in a DataGrid.
+	 *  The wireframe skin for the sort arrow in a column header in the MX DataGrid component.
 	 *
+     *  @see mx.controls.DataGrid
+     *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1


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

--- frameworks/projects/charts/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/charts/src/mx/styles/metadata/PaddingStyles.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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: 7803
Author:   dsubrama@adobe.com
Date:     2009-06-12T22:33:24.106666Z

Log Message:
-----------
Metadata needed by Bangalore team for event-handler generation.

Bug: http://bugs.adobe.com/jira/browse/SDK-21632
Checkintests: Pass
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -68,6 +68,7 @@
 //--------------------------------------

 [IconFile("RadioButtonGroup.png")]
+[DefaultTriggerEvent("change")]

 /**
  *  The RadioButtonGroup control defines a group of RadioButton controls


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.components
+package spark.components
 {

 import flash.display.BlendMode;
@@ -62,14 +62,14 @@
 import flashx.textLayout.operations.SplitParagraphOperation;
 import flashx.textLayout.tlf_internal;

-import mx.core.IViewport;
-import mx.core.ScrollUnit;
+import spark.core.IViewport;
+import spark.core.ScrollUnit;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
-import mx.events.TextOperationEvent;
+import spark.events.TextOperationEvent;
 import mx.utils.StringUtil;
-import mx.utils.TextUtil;
+import spark.utils.TextUtil;

 //--------------------------------------
 //  Events
@@ -142,33 +142,33 @@

 [DefaultProperty("content")]

-[IconFile("TextView.png")]
+[IconFile("RichEditableText.png")]

 /**
  *  Displays text.
  *
- *
TextView has more functionality than TextBox and TextGraphic. In addition to the text rendering
- *  capabilities of TextGraphic, TextView also supports hyperlinks, scrolling, selecting, and editing.

+ *
RichEditableText has more functionality than SimpleText and RichText. In addition to the text rendering
+ *  capabilities of RichText, RichEditableText also supports hyperlinks, scrolling, selecting, and editing.

  *
- *
The TextView class is similar to the mx.controls.TextArea control, except that it does
+ *
The RichEditableText class is similar to the mx.controls.TextArea control, except that it does
  *  not have chrome.

  *
- *
The TextView class does not support drawing a background, border, or scrollbars. To do that,
+ *
The RichEditableText class does not support drawing a background, border, or scrollbars. To do that,
  *  you combine it with other components.

  *
- *
Because TextView extends UIComponent, it can take focus and allows user interaction such as selection.

+ *
Because RichEditableText extends UIComponent, it can take focus and allows user interaction such as selection.

  *
- *  @see mx.graphics.TextBox
- *  @see mx.graphics.TextGraphic
+ *  @see mx.graphics.SimpleText
+ *  @see mx.graphics.RichText
  *
- *  @includeExample examples/TextViewExample.mxml
+ *  @includeExample examples/RichEditableTextExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class TextView extends UIComponent implements IViewport
+public class RichEditableText extends UIComponent implements IViewport
 {
     include "../core/Version.as";

@@ -223,7 +223,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function TextView()
+    public function RichEditableText()
     {
         super();

@@ -262,7 +262,7 @@

     /**
      *  @private
-     *  This object is determined by the CSS styles of the TextView
+     *  This object is determined by the CSS styles of the RichEditableText
      *  and is updated by createTextFlow() when the hostFormatsInvalid flag
      *  is true.
      */
@@ -272,7 +272,7 @@
      *  @private
      *  This flag indicates whether hostCharacterFormat, hostParagraphFormat,
      *  and hostContainerFormat need to be recalculated from the CSS styles
-     *  of the TextView. It is set true by stylesInitialized() and also
+     *  of the RichEditableText. It is set true by stylesInitialized() and also
      *  when styleChanged() is called with a null argument, indicating that
      *  multiple styles have changed.
      */
@@ -685,8 +685,8 @@
     /**
      *  The height of the control, in lines.
      *
-     *
TextView's measure() method does not determine the measured size from
-     *  the text to be displayed, because a TextView often starts out with no
+     *
RichEditableText's measure() method does not determine the measured size from
+     *  the text to be displayed, because a RichEditableText often starts out with no
      *  text. Instead it uses this property, and the widthInChars property
      *  to determine its measuredWidth and measuredHeight. These are
      *  similar to the cols and rows of an HTML TextArea.

@@ -857,7 +857,7 @@
     private var _maxChars:int = 0;

     /**
-     *  The maximum number of characters that the TextView can contain,
+     *  The maximum number of characters that the RichEditableText can contain,
      *  as entered by a user.
      *  A script can insert more text than maxChars allows;
      *  the maxChars property indicates only how much text a user can enter.
@@ -897,7 +897,7 @@
      *  Determines whether the user can enter multiline text.
      *  If true, the Enter key starts a new paragraph.
      *  If false, the Enter key doesn't affect the text
-     *  but causes the TextView to dispatch an "enter" event.
+     *  but causes the RichEditableText to dispatch an "enter" event.
      *
      *  @default true
      *
@@ -1136,7 +1136,7 @@
     private var textChanged:Boolean = false;

     /**
-     *  The text String displayed by this TextView.
+     *  The text String displayed by this RichEditableText.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1944,7 +1944,7 @@

     /**
      *  @private
-     *  Keep this method in sync with the same method in TextGraphic.
+     *  Keep this method in sync with the same method in RichText.
      */
     private function createTextFlow():TextFlow
     {
@@ -2293,9 +2293,9 @@
     }

     /**
-     *  Appends the specified text to the end of the TextView,
+     *  Appends the specified text to the end of the RichEditableText,
      *  as if you had clicked at the end and typed it.
-     *  When TextView supports vertical scrolling,
+     *  When RichEditableText supports vertical scrolling,
      *  it will scroll to ensure that the last line
      *  of the inserted text is visible.
      *
@@ -2327,7 +2327,7 @@

     /**
      *  Returns a String containing markup describing
-     *  this TextView's TextFlow.
+     *  this RichEditableText's TextFlow.
      *  This markup String has the appropriate format
      *  for setting the content property.
      *
@@ -2534,7 +2534,7 @@
      */
     override protected function focusOutHandler(event:FocusEvent):void
     {
-        // By default, we clear the undo history when a TextView loses focus.
+        // By default, we clear the undo history when a RichEditableText loses focus.
         if (mx_internal::clearUndoOnFocusOut)
             mx_internal::undoManager.clear();

@@ -2773,7 +2773,7 @@
             }
         }

-        // Dispatch a 'changing' event from the TextView
+        // Dispatch a 'changing' event from the RichEditableText
         // as notification that an editing operation is about to occur.
         if (dispatchChangingEvent)
         {
@@ -2782,7 +2782,7 @@
             newEvent.operation = op;
             dispatchEvent(newEvent);

-            // If the event dispatched from this TextView is canceled,
+            // If the event dispatched from this RichEditableText is canceled,
             // cancel the one from the EditManager, which will prevent
             // the editing operation from being processed.
             if (newEvent.isDefaultPrevented())
@@ -2811,7 +2811,7 @@
         textInvalid = true;
         dispatchEvent(new Event("textInvalid"));

-        // Dispatch a 'change' event from the TextView
+        // Dispatch a 'change' event from the RichEditableText
         // as notification that an editing operation has occurred.
         var newEvent:TextOperationEvent =
             new TextOperationEvent(TextOperationEvent.CHANGE);


Transferred from the Adobe Open Source Subversion Repository

Revision: 10168
Author:   gosmith@adobe.com
Date:     2009-09-11T21:23:32.233555Z

Log Message:
-----------
The 'content' property for rich text in Spark components is now get/set rather than set-only, so that it plays well with states. The getter will always return a TextFlow because this is the canonical representation of rich text content in TLF, and if you have edited or programatically mutated the content the current TextFlow is what the states mechanism should save off.

QE notes: Please test state-dependent 'content' in the Spark RichText, RichEditableText, and TextArea.
Doc notes: I've added more documentation regarding the 'content' property.
Bugs: SDK-23120
Reviewer: Carol
Tests run: ant checkintests
Is noteworthy for integration: Yes

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1094,11 +1094,50 @@
      */
     [RichTextContent]

-    /**
-     *  This write-only property is for internal use by the MXML compiler.
-     *  Please use the textFlow property to set
-     *  rich text content.
-     */
+	/**
+	 *  This property is intended for use in MXML at compile time;
+	 *  to get or set rich text content at runtime,
+	 *  please use the textFlow property instead.
+	 *
+	 *
The content property is the default property
+	 *  for RichEditableText, so that you can write MXML such as
+	 *

+	 *  <s:RichEditableText>Hello <s:span fontWeight="bold"/>World</s:span></s:RichEditableText>
+	 *

+	 *  and have the String and SpanElement that you specify
+	 *  as the content be used to create a TextFlow.

+	 *
+	 *
This property is typed as Object because you can set it to
+	 *  to a String, a FlowElement, or an Array of Strings and FlowElements.
+	 *  In the example above, you are specifying the content
+	 *  to be a 2-element Array whose first element is the String
+	 *  "Hello" and whose second element is a SpanElement with the text
+	 *  "World" in boldface.

+	 *
+	 *
No matter how you specify the content, it gets converted
+	 *  into a TextFlow, and when you get this property, you will get
+	 *  the resulting TextFlow.

+	 *
+	 *
Adobe recommends using textFlow property
+	 *  to get and set rich text content at runtime,
+	 *  because it is strongly typed as a TextFlow
+	 *  rather than as an Object.
+	 *  A TextFlow is the canonical representation
+	 *  for rich text content in the Text Layout Framework.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+	public function get content():Object
+	{
+		return textFlow;
+	}
+
+	/**
+	 *  @private
+	 */
     public function set content(value:Object):void
     {
         // Treat setting the 'content' to null


added populateColumns() for testing

added populateColumns() for testing

--- WeaveJS/src/Weave.as
+++ WeaveJS/src/Weave.as
@@ -9,9 +9,11 @@
 	import weavejs.WeaveAPI;
 	import weavejs.api.core.ICallbackCollection;
 	import weavejs.api.core.IDisposableObject;
+	import weavejs.api.core.ILinkableDynamicObject;
 	import weavejs.api.core.ILinkableHashMap;
 	import weavejs.api.core.ILinkableObject;
 	import weavejs.api.core.ISessionManager;
+	import weavejs.api.data.IAttributeColumn;
 	import weavejs.core.SessionStateLog;
 	import weavejs.path.WeavePath;
 	import weavejs.path.WeavePathUI;
@@ -593,5 +595,23 @@
 			Weave.getDescendants(root, JS.asClass(filter))
 				.forEach(function(obj:ILinkableObject):void { getCallbacks(obj).triggerCallbacks(); });
 		}
+
+		/**
+		 * For testing purposes.
+		 */
+		public function populateColumns():void
+		{
+			var all:Array = Weave.getDescendants(root, ILinkableDynamicObject);
+			var def:Array = [];
+			var undef:Array = [];
+			for each (var item:ILinkableDynamicObject in all)
+			{
+				var col:IAttributeColumn = item as IAttributeColumn;
+				if (col)
+					(col.keys ? def : undef).push(item);
+			}
+			for (var i:int = 0; i < undef.length; i++)
+				copyState(def[i % def.length], undef[i]);
+		}
 	}
 }