Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/validators/NumberValidator.as
+++ frameworks/projects/framework/src/mx/validators/NumberValidator.as
@@ -56,6 +56,11 @@
  *

  *
  *  @includeExample examples/NumberValidatorExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class NumberValidator extends Validator
 {
@@ -79,6 +84,11 @@
 	 *  object for each field examined by the validator.
 	 *
 	 *  @see mx.validators.ValidationResult
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function validateNumber(validator:NumberValidator,
 										  value:Object,
@@ -325,6 +335,11 @@

     /**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function NumberValidator()
 	{
@@ -359,6 +374,11 @@
 	 *  Valid values are true or false.
 	 *
 	 *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get allowNegative():Object
 	{
@@ -402,6 +422,11 @@
      *  thousandsSeparator.
 	 *
 	 *  @default "."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get decimalSeparator():String
 	{
@@ -443,6 +468,11 @@
 	 *  Permitted values are "real" and "int".
 	 *
 	 *  @default "real"
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get domain():String
 	{
@@ -483,6 +513,11 @@
      *  Maximum value for a valid number. A value of NaN means there is no maximum.
 	 *
 	 *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get maxValue():Object
 	{
@@ -523,6 +558,11 @@
      *  Minimum value for a valid number. A value of NaN means there is no minimum.
 	 *
 	 *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get minValue():Object
 	{
@@ -567,6 +607,11 @@
 	 *  A value of -1 means it is ignored.
 	 *
 	 *  @default -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get precision():Object
 	{
@@ -610,6 +655,11 @@
      *  decimalSeparator.
 	 *
 	 *  @default ","
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get thousandsSeparator():String
 	{
@@ -656,6 +706,11 @@
      *  Error message when the decimal separator character occurs more than once.
 	 *
 	 *  @default "The decimal separator can occur only once."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get decimalPointCountError():String
 	{
@@ -696,6 +751,11 @@
      *  Error message when the value exceeds the maxValue property.
 	 *
 	 *  @default "The number entered is too large."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get exceedsMaxError():String
 	{
@@ -737,6 +797,11 @@
      * by the domain property.
 	 *
 	 *  @default "The number must be an integer."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get integerError():String
 	{
@@ -777,6 +842,11 @@
      *  Error message when the value contains invalid characters.
 	 *
 	 *  @default The input contains invalid characters."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get invalidCharError():String
 	{
@@ -819,6 +889,11 @@
      *  or it contains two or more consecutive separator characters.
 	 *
 	 *  @default "One of the formatting parameters is invalid."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get invalidFormatCharsError():String
 	{
@@ -859,6 +934,11 @@
      *  Error message when the value is less than minValue.
 	 *
 	 *  @default "The amount entered is too small."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get lowerThanMinError():String
 	{
@@ -900,6 +980,11 @@
      *  allowNegative property is false.
 	 *
 	 *  @default "The amount may not be negative."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get negativeError():String
 	{
@@ -941,6 +1026,11 @@
      *  by the precision property.
 	 *
 	 *  @default "The amount entered has too many digits beyond the decimal point."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get precisionError():String
 	{
@@ -981,6 +1071,11 @@
      *  Error message when the thousands separator is in the wrong location.
 	 *
 	 *  @default "The thousands separator must be followed by three digits."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get separationError():String
 	{
@@ -1044,6 +1139,11 @@
      *
 	 *  @return An Array of ValidationResult objects, with one ValidationResult
 	 *  object for each field examined by the validator.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function doValidation(value:Object):Array
     {


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

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


trace output formatting

trace output formatting

--- lib/as3spec/as3spec/Specification.as
+++ lib/as3spec/as3spec/Specification.as
@@ -34,7 +34,7 @@
 			{
 				if (requirements.length < 1) status = 'MISSING';
 				if (status != '') status = ' [' + status + ']';
-				trace('- ' + story + status);
+				trace('- it ' + story + status);
 			}

 		}


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

--- frameworks/projects/framework/src/mx/utils/OrderedObject.as
+++ frameworks/projects/framework/src/mx/utils/OrderedObject.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 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.utils
 {


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

--- frameworks/projects/mx/src/mx/accessibility/PanelAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/PanelAccImpl.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-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.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10464
Author:   rfrishbe@adobe.com
Date:     2009-09-21T17:40:30.663638Z

Log Message:
-----------
Removing support in Flex framework for compatibility version < 3.  We won't support compatibility-version 2 or 2.01 anymore.  We only keep compatibility-version for one full release, so for Flex 4, we only support compatibility-version = 3.x.

This should reduce our code-size some as we no longer need this old code.  I didn't clean up the compiler's support for compatibility-versioning as it didn't seem worth the effort.

QE notes: -
Doc notes: -
Bugs: SDK-15360
Reviewer: Kevin
Tests run: checkintests, Joan ran all mustella tests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserYearArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuBarItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PanelSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/Flex.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>

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

--- frameworks/projects/mx/src/mx/skins/halo/ScrollArrowSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/ScrollArrowSkin.as
@@ -15,7 +15,6 @@
 import flash.display.GradientType;
 import flash.display.Graphics;
 import mx.controls.scrollClasses.ScrollBar;
-import mx.core.FlexVersion;
 import mx.skins.Border;
 import mx.styles.StyleManager;
 import mx.utils.ColorUtil;
@@ -182,12 +181,9 @@

 		// Opaque backing to force the scroll elements
 		// to match other components by default.
-		if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0 || name.indexOf("Disabled") == -1)
-		{
-			drawRoundRect(
-				0, 0, w, h, 0,
-				backgroundColor, 1);
-		}
+		drawRoundRect(
+			0, 0, w, h, 0,
+			backgroundColor, 1);

 		switch (name)
 		{
@@ -358,20 +354,17 @@
 			}

 			case "upArrowDisabledSkin":
-			{
-				if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
-				{
-					// shadow
-					if (!horizontal)
-					{
-						drawRoundRect(
-							1, h - 4, w - 2, 8, 0,
-							[ derStyles.borderColorDrk1,
-							  derStyles.borderColorDrk1 ], [ .5, 0 ],
-							verticalGradientMatrix(1, h - 4, w - 2, 8),
-							GradientType.LINEAR, null,
-							{ x: 1, y: h-4, w: w - 2, h: 4, r: 0 });
-					}
+            {
+				// shadow
+				if (!horizontal)
+				{
+					drawRoundRect(
+						1, h - 4, w - 2, 8, 0,
+						[ derStyles.borderColorDrk1,
+						  derStyles.borderColorDrk1 ], [ .5, 0 ],
+						verticalGradientMatrix(1, h - 4, w - 2, 8),
+						GradientType.LINEAR, null,
+						{ x: 1, y: h-4, w: w - 2, h: 4, r: 0 });
 				}

 				// intentionally fall through to the next case statement
@@ -379,39 +372,29 @@

 			case "downArrowDisabledSkin":
 			{
-				if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
-				{
-	   				var disFillColors:Array = [ fillColors[0], fillColors[1] ];
-	   				var disFillAlphas:Array = [ fillAlphas[0] - 0.15, fillAlphas[1] - 0.15 ];
-
-					// border
-					drawRoundRect(
-						0, 0, w, h, 0,
-						borderColors, 0.5,
-						horizontal ?
-						horizontalGradientMatrix(0, 0, w, h) :
-						verticalGradientMatrix(0, 0, w, h),
-						GradientType.LINEAR, null,
-						{ x: 1, y: 1, w: w - 2, h: h - 2, r: 0 });
-
-					// fill
-					drawRoundRect(
-						1, 1, w - 2, h - 2, 0,
-						disFillColors, disFillAlphas,
-						horizontal ?
-						horizontalGradientMatrix(0, 0, w - 2, h - 2) :
-						verticalGradientMatrix(0, 0, w - 2, h - 2 / 2));
-
-					arrowColor = getStyle("disabledIconColor");
-				}
-				else
-				{
-					drawRoundRect(
-					0, 0, w, h, 0,
-					0xFFFFFF, 0);
-
-					return;
-				}
+   				var disFillColors:Array = [ fillColors[0], fillColors[1] ];
+   				var disFillAlphas:Array = [ fillAlphas[0] - 0.15, fillAlphas[1] - 0.15 ];
+
+				// border
+				drawRoundRect(
+					0, 0, w, h, 0,
+					borderColors, 0.5,
+					horizontal ?
+					horizontalGradientMatrix(0, 0, w, h) :
+					verticalGradientMatrix(0, 0, w, h),
+					GradientType.LINEAR, null,
+					{ x: 1, y: 1, w: w - 2, h: h - 2, r: 0 });
+
+				// fill
+				drawRoundRect(
+					1, 1, w - 2, h - 2, 0,
+					disFillColors, disFillAlphas,
+					horizontal ?
+					horizontalGradientMatrix(0, 0, w - 2, h - 2) :
+					verticalGradientMatrix(0, 0, w - 2, h - 2 / 2));
+
+				arrowColor = getStyle("disabledIconColor");
+
 				break;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 9211
Author:   hmuller@adobe.com
Date:     2009-08-10T21:50:20.402032Z

Log Message:
-----------
Corrected two alignment=JUSTIFY problems exposed by this bug:

- VerticalLayout/updateDisplayListVirtual() methods unconditionally
used LinearLayoutVector.minorSize for the contentWidth.  If
horizontalAlign=JUSTIFY then the contentWidth is less than or equal to
the "targetWidth", i.e. the target's width less the left/right
padding.  HorizontalLayout is similar.

- DataGroup/getVirtualElementAt() now initializes the new renderer's
width and height with setLayoutBoundsSize(), before calling validateNow().
If  VerticalLayout.horizontalAlign=JUSTIFY, the (renderer's) width is
the DataGroup's width less padding and height is NaN.   HorizontalLayout
is similar.

The signature for GroupBase/getVirtualElementAt() has changed, two optional
parameters were added:

  public function getVirtualElementAt(index:int, eltWidth:Number=NaN, eltHeight:Number=NaN):IVisualElement

QE Notes: API change should not affect tests.  Mustella datagroup, viewport, and layout tests pass.
Doc Notes: ASDoc revisions in all classes
Bugs: sdk-22017
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -1113,7 +1113,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    override public function getVirtualElementAt(index:int):IVisualElement
+    override public function getVirtualElementAt(index:int, eltWidth:Number=NaN, eltHeight:Number=NaN):IVisualElement
     {
         if ((index < 0) || (dataProvider == null) || (index >= dataProvider.length))
             return null;
@@ -1161,6 +1161,7 @@

             if (createdIR || recycledIR)
             {
+                elt.setLayoutBoundsSize(eltWidth, eltHeight);
                 updateRenderer(elt, item);
                 if (elt is IInvalidating)
                     IInvalidating(elt).validateNow();


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

--- frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
+++ frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2010 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPTuple.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPTuple.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: 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@1262364 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/states/OverrideBase.as
+++ frameworks/projects/framework/src/mx/states/OverrideBase.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2008 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.states
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6201
Author:   dsubrama@adobe.com
Date:     2009-04-22T21:15:50.846343Z

Log Message:
-----------
Introduces a new method to the IItemRendererOwner contract, updateRendererInformation(), which handles the setting of a renderer's data and data-dependant properties.

We also now support the CollectionEvent of kind UPDATE in DataGroup.

Checkintests: Pass
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRendererOwner.as</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/flex4/src/spark/components/ButtonBar.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/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -369,7 +369,7 @@
      */
     private function dataGroup_rendererAddHandler(event:RendererExistenceEvent):void
     {
-        var renderer:IEventDispatcher = IEventDispatcher(event.renderer);
+        var renderer:IVisualElement = event.renderer;
         var index:int = event.index;

         if (renderer)
@@ -377,14 +377,9 @@
             renderer.addEventListener("click", item_clickHandler);
             if (renderer is IFocusManagerComponent)
                 IFocusManagerComponent(renderer).focusEnabled = false;
-            if (renderer is IVisualElement)
-                IVisualElement(renderer).owner = this;
             if (renderer is IItemRenderer)
-            {
-            	var data:Object = IItemRenderer(renderer).data;
                 IItemRenderer(renderer).allowDeselection = !requiresSelection;
-                IItemRenderer(renderer).labelText = itemToLabel(data);
-            }
+            IItemRendererOwner(renderer.owner).updateRendererInformation(renderer);
         }

         if (isItemIndexSelected(index))
@@ -397,7 +392,7 @@
      */
     private function dataGroup_rendererRemoveHandler(event:RendererExistenceEvent):void
     {
-        var renderer:Object = event.renderer;
+        var renderer:IVisualElement = event.renderer;

         if (renderer)
             renderer.removeEventListener("click", item_clickHandler);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12291
Author:   smgilson@adobe.com
Date:     2009-11-30T20:05:25.519075Z

Log Message:
-----------
update old effects examples and add new ones. Add back the @includeExample tags to effects classes that had them removed for some reason.

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

Modified Paths:
--------------
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing/examples</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing/examples/assets</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/animation/examples</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/animation/examples/assets</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/Scale3DEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing/examples/LinearEffectExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing/examples/SinePowerEffectExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/animation/examples/KeyFrameEffectExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing/examples/assets/logo.jpg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/treeClasses/MXTreeItemRenderer.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/AnimateFilterEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/Rotate3DEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Bounce.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/easing/examples/BounceElasticEffectExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/ScaleEffectExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/SetActionEffectExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/animation/examples/assets/logo.jpg</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/animation</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/Move3DEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Elastic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/RotateEffectExample.mxml</path>

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

--- frameworks/projects/spark/src/spark/effects/easing/Power.as
+++ frameworks/projects/spark/src/spark/effects/easing/Power.as
@@ -33,6 +33,8 @@
  *    exponent="2"
  *   />
  *  </pre>
+ *
+ *  @includeExample examples/SinePowerEffectExample.mxml
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 2790
Author:   gosmith@adobe.com
Date:     2008-08-08T22:08:51.675681Z

Log Message:
-----------
Infrastructure for CSS support in TextGraphicElement.

TextGraphicElement now has stubs that implement the same two CSS interfaces that UIComponent implements, namely ISimpleStyleClient and IStyleClient.

Reviewer: Deepa
Bugs: -
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -3117,7 +3117,7 @@
                 {
                     // Does this object already have a proto chain?  If not,
                     // there's no need to regenerate a new one.
-                    if (UIComponent(child).inheritingStyles != UIComponent.STYLE_UNINITIALIZED)
+                    if (UIComponent(child).inheritingStyles != StyleManager.STYLE_UNINITIALIZED)
                         UIComponent(child).regenerateStyleCache(recursive);
                 }
                 else if (child is IUITextField && IUITextField(child).inheritingStyles)


Transferred from the Adobe Open Source Subversion Repository

Revision: 6843
Author:   jimurphy@adobe.com
Date:     2009-05-12T13:58:34.182467Z

Log Message:
-----------
Merged beta1 revisions 6793,6796-6797,6802,6805,6808-6809,6831 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/MouseShieldUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableContainerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -11,10 +11,7 @@

 package spark.layouts
 {
-import flash.display.DisplayObject;
 import flash.events.Event;
-import flash.events.EventDispatcher;
-import flash.geom.Point;
 import flash.geom.Rectangle;

 import mx.containers.utilityClasses.Flex;
@@ -1197,6 +1194,15 @@
      {
         if (!target || target.numElements < 1)
             return -1;
+
+        // Special case when nothing was previously selected
+        if (currentIndex == -1)
+        {
+            if (navigationUnit == NavigationUnit.UP)
+                return -1;
+            if (navigationUnit == NavigationUnit.DOWN)
+                return 0;
+        }

         // Make sure currentIndex is within range
         var maxIndex:int = target.numElements - 1;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18635
Author:   aharui@adobe.com
Date:     2010-11-17T00:18:36.469040Z

Log Message:
-----------
Add estimatedSizes to the layout infrastructure to better deal with text reflow.
Add new events to layout infrastructure to deal with caching of size information

QE notes: New APIs and Interfaces
Doc notes: New APIs and interfaces
Bugs: SDK-27226, SDK-26155, SDK-25483, SDK-23621, SDK-27225, SDK-26993, SDK-25535, SDK-25521
Reviewer: Evtim
Tests run: checkintests mustella full run
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/FormTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/framework/src/mx/styles/IStyleManager.as
+++ frameworks/projects/framework/src/mx/styles/IStyleManager.as
@@ -340,6 +340,46 @@
 	function isParentSizeInvalidatingStyle(styleName:String):Boolean;

     /**
+     *  Adds to the list of styles which may require a recalculation
+     *  of the contraints based on the parent container.
+     *
When one of these styles is set with setStyle(),
+     *  the invalidateEstimatedSizesOfChildren()
+     *  method is called on the component's
+     *  parent container to make the estimated sizes get recalculated
+     *  later.

+     *
+     *  @param styleName The name of the style to register.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    function registerParentEstimatedSizeInvalidatingStyle(styleName:String):void;
+
+    /**
+     *  Tests to see if the style changes the estimated sizes based on a component's parent container.
+     *
+     *
When one of these styles is set with setStyle(),
+     *  the invalidateEstimatedSizesOfChildren()
+     *  method is called on the component's
+     *  parent container to make the estimated sizes get recalculated
+     *  later.

+     *
+     *  @param styleName The name of the style to test.
+     *
+     *  @return Returns true if the specified style is one
+     *  which may affect the measured size of the component's
+     *  parent container.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    function isParentEstimatedSizeInvalidatingStyle(styleName:String):Boolean;
+
+    /**
      *  Adds to the list of styles which may affect the appearance
      *  or layout of the component's parent container.
      *  When one of these styles is set with setStyle(),


Transferred from the Adobe Open Source Subversion Repository

Revision: 14941
Author:   cframpto@adobe.com
Date:     2010-03-23T16:14:48.350064Z

Log Message:
-----------
Merge mouseWheel scroller change 14940 from 4.x to trunk.

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

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/VScrollBar.as
+++ frameworks/projects/spark/src/spark/components/VScrollBar.as
@@ -14,6 +14,7 @@
 import flash.events.MouseEvent;
 import flash.geom.Point;

+import mx.core.IInvalidating;
 import mx.core.mx_internal;
 import mx.events.PropertyChangeEvent;
 import mx.events.ResizeEvent;
@@ -430,7 +431,11 @@
         {
             var vspDelta:Number = vp.getVerticalScrollPositionDelta(navigationUnit);
             if (!isNaN(vspDelta))
+            {
                 vp.verticalScrollPosition += vspDelta;
+                if (vp is IInvalidating)
+                    IInvalidating(vp).validateNow();
+            }
         }

         event.preventDefault();


Transferred from the Adobe Open Source Subversion Repository

Revision: 17672
Author:   hmuller@adobe.com
Date:     2010-09-10T23:30:11.501811Z

Log Message:
-----------
Fixed SparkClasses.as typo from SVN 17668 - restored the VideoPlayerSkin line.

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -95,6 +95,7 @@
 import spark.skins.spark.TitleWindowCloseButtonSkin; TitleWindowCloseButtonSkin;
 import spark.skins.spark.ToggleButtonSkin; ToggleButtonSkin;
 import spark.skins.spark.UITextFieldGridItemRenderer; UITextFieldGridItemRenderer;
+import spark.skins.spark.VideoPlayerSkin; VideoPlayerSkin;
 import spark.skins.spark.VScrollBarSkin; VScrollBarSkin;
 import spark.skins.spark.VScrollBarThumbSkin; VScrollBarThumbSkin;
 import spark.skins.spark.VScrollBarTrackSkin; VScrollBarTrackSkin;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
+++ frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as
@@ -0,0 +1,1312 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+
+import flash.events.EventDispatcher;
+import flash.utils.Dictionary;
+
+import mx.collections.errors.ChildItemPendingError;
+import mx.collections.errors.ItemPendingError;
+import mx.core.mx_internal;
+import mx.events.CollectionEvent;
+import mx.events.CollectionEventKind;
+import mx.events.FlexEvent;
+import mx.utils.UIDUtil;
+
+use namespace mx_internal;
+
+/**
+ *  The HierarchicalCollectionViewCursor class defines a
+ *  cursor for a hierarchical view of a standard collection.
+ *  The collection that this cursor walks across need not be hierarchical - it may be flat.
+ *  This class delegates to the IHierarchicalData for information regarding the tree
+ *  structure of the data it walks across.
+ *
+ *  @see HierarchicalCollectionView
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class HierarchicalCollectionViewCursor extends EventDispatcher
+                                    implements IHierarchicalCollectionViewCursor
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param collection The HierarchicalCollectionView instance referenced by this cursor.
+     *
+     *  @param model The source data collection.
+     *
+     *  @param hierarchicalData The data used to create the HierarchicalCollectionView instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function HierarchicalCollectionViewCursor(
+                            collection:HierarchicalCollectionView,
+                            model:ICollectionView,
+                            hierarchicalData:IHierarchicalData)
+    {
+        super();
+
+        //fields
+        this.collection = collection;
+        this.hierarchicalData = hierarchicalData;
+        this.model = model;
+
+        //events
+        collection.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionChangeHandler, false, 0, true);
+
+        //init
+        modelCursor = model.createCursor();
+
+        //check to see if the model has more than one top level items
+        if (model.length > 1)
+            more = true;
+        else
+            more = false;
+
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var hierarchicalData:IHierarchicalData;
+
+    /**
+     *  @private
+     */
+    private var currentChildBookmark:CursorBookmark = CursorBookmark.FIRST;
+
+    /**
+     *  @private
+     *  Its effective offset into the "array".
+     */
+    private var currentIndex:int = 0;
+
+    /**
+     *  @private
+     *  The depth of the current node.
+     */
+    private var _currentDepth:int = 1;
+
+    /**
+     *  @private
+     *  The current set of childNodes we are walking.
+     */
+    private var childNodes:ICollectionView;
+
+    /**
+     *  @private
+     *  The current set of parentNodes that we have walked from
+     */
+    private var parentNodes:Array = [];
+
+    /**
+     *  @private
+     *  A stack of the currentChildBookmark in all parents of the currentNode.
+     */
+    private var childIndexStack:Array = [];
+
+    /**
+     *  @private
+     *  The collection that stores the user data
+     */
+    private var model:ICollectionView;
+
+    /**
+     *  @private
+     *  The collection wrapper of the model
+     */
+    private var collection:HierarchicalCollectionView;
+
+    /**
+     *  @private
+     *  Flag indicating model has more data
+     */
+    private var more:Boolean;
+
+    /**
+     *  @private
+     *  Cursor from the model
+     */
+    private var modelCursor:IViewCursor;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // index
+    //----------------------------------
+    /**
+     * @private
+     */
+    public function get index():int
+    {
+        return currentIndex;
+    }
+
+    //----------------------------------
+    //  bookmark
+    //----------------------------------
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get bookmark():CursorBookmark
+    {
+        return new CursorBookmark(currentIndex.toString());
+    }
+
+    //----------------------------------
+    //  current
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get current():Object
+    {
+        if (childIndexStack.length == 0)
+        {
+            return modelCursor.current;
+        }
+        else
+        {
+            var childCursor:IViewCursor = childNodes.createCursor();
+            try
+            {
+
+                childCursor.seek(currentChildBookmark);
+                return childCursor.current;
+            }
+            catch (e:ItemPendingError)
+            {
+                return null;
+            }
+        }
+
+        return null;
+    }
+
+
+    //---------------------------------
+    // currentDepth
+    //---------------------------------
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get currentDepth():int
+    {
+        return _currentDepth;
+    }
+
+
+    //----------------------------------
+    //  beforeFirst
+    //----------------------------------
+    /**
+     *  @copy mx.collections.IViewCursor#beforeFirst
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get beforeFirst():Boolean
+    {
+        return (currentIndex <= collection.length && current == null);
+    }
+
+    //----------------------------------
+    //  afterLast
+    //----------------------------------
+    /**
+     *  @copy mx.collections.IViewCursor#afterLast
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get afterLast():Boolean
+    {
+        return (currentIndex >= collection.length && current == null);
+    }
+
+    //----------------------------------
+    //  view
+    //----------------------------------
+    /**
+     *  @copy mx.collections.IViewCursor#view
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get view():ICollectionView
+    {
+        return model;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function findAny(values:Object):Boolean
+    {
+        seek(CursorBookmark.FIRST);
+
+        var done:Boolean = false;
+        while (!done)
+        {
+            var o:Object = hierarchicalData.getData(current);
+
+            var matches:Boolean = true;
+            for (var p:String in values)
+            {
+                if (o[p] != values[p])
+                {
+                    matches = false;
+                    break;
+                }
+            }
+
+            if (matches)
+                return true;
+
+            done = !moveNext();
+        }
+
+        return false;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function findFirst(values:Object):Boolean
+    {
+        return findAny(values);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function findLast(values:Object):Boolean
+    {
+        seek(CursorBookmark.LAST);
+
+        var done:Boolean = false;
+        while (!done)
+        {
+            var o:Object = current;
+
+            var matches:Boolean = true;
+            for (var p:String in values)
+            {
+                if (o[p] != values[p])
+                {
+                    matches = false;
+                    break;
+                }
+            }
+
+            if (matches)
+                return true;
+
+            done = !movePrevious();
+        }
+
+        return false;
+    }
+
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function moveNext():Boolean
+    {
+        var currentNode:Object = current;
+        //if there is no currentNode then we cant move forward and must be off the ends
+        if (currentNode == null)
+            return false;
+
+        var childCursor:IViewCursor;
+        var uid:String = UIDUtil.getUID(currentNode);
+
+        // If current node is a branch and is open, the first child is our next item so return it
+        if (collection.openNodes[uid] &&
+            hierarchicalData.canHaveChildren(currentNode) &&
+            hierarchicalData.hasChildren(currentNode))
+        {
+                var previousChildNodes:ICollectionView = childNodes;
+                childNodes = collection.getChildren(currentNode);
+                if (childNodes.length > 0)
+                {
+                    childIndexStack.push(currentChildBookmark);
+                    parentNodes.push(currentNode);
+                    currentChildBookmark = CursorBookmark.FIRST;
+                    childCursor = childNodes.createCursor();
+                    try
+                    {
+                        currentNode = childCursor.current;
+						// update parent map
+						updateParentMap(currentNode);
+                    }
+                    catch (e:ItemPendingError)
+                    {
+                        currentNode = null;
+                        throw new ChildItemPendingError(e.message);
+                    }
+                    currentIndex++;
+                    _currentDepth++;
+                    return true;
+                }
+                else
+                {
+                    childNodes = previousChildNodes;
+                }
+        }
+
+        // Otherwise until we find the next child (could be on any level)
+        while (true)
+        {
+            // If we hit the end of this list, pop up a level.
+            if(childNodes != null)
+            {
+                childCursor = childNodes.createCursor();
+                try
+                {
+                    childCursor.seek(currentChildBookmark);
+                    childCursor.moveNext();
+                }
+                catch(e:ItemPendingError)
+                {
+                    childCursor.seek(CursorBookmark.FIRST);
+                }
+             }
+
+             var grandParent:Object;
+
+            if (childNodes != null &&
+                childNodes.length > 0 &&
+                (childCursor.bookmark == CursorBookmark.LAST || childCursor.afterLast))
+            {
+                //check for the end of the tree here.
+                if (childIndexStack.length < 1 && !more)
+                {
+                    currentNode = null;
+                    currentIndex++;
+                    _currentDepth = 1;
+                    return false;
+                }
+                else
+                {
+                    //pop up to parent
+                    currentNode = parentNodes.pop();
+                    //get parents siblings
+                    grandParent = parentNodes[parentNodes.length-1];
+                    //we could probably assume that a non-null grandparent has descendants
+                    //but the analogy only goes so far...
+                    if (grandParent != null &&
+                        hierarchicalData.canHaveChildren(grandParent) &&
+                        hierarchicalData.hasChildren(grandParent))
+                    {
+                        childNodes = collection.getChildren(grandParent);
+                    }
+                    else
+                    {
+                        childNodes = null;
+                    }
+                    //get new current nodes index
+                    currentChildBookmark = childIndexStack.pop();
+                    //pop the level up one
+                    _currentDepth--;
+                }
+            }
+            else
+            {
+                //if no childnodes then we're probably at the top level
+                if (childIndexStack.length == 0)
+                {
+                    //check for more top level siblings
+                    //and if we're here the depth should be 1
+                    _currentDepth = 1;
+                    more = modelCursor.moveNext();
+                    if (more)
+                    {
+                        currentNode = modelCursor.current;
+                        break;
+                    }
+                    else
+                    {
+                        //at the end of the tree
+                        _currentDepth = 1;
+                        currentIndex++;  //this should push us to afterLast
+                        currentNode = null;
+                        return false;
+                    }
+                }
+                else
+                {
+                    //get the next child node
+                    try
+                    {
+                        childCursor = childNodes.createCursor();
+                        childCursor.seek(currentChildBookmark);
+
+                        childCursor.moveNext();
+                        currentChildBookmark = childCursor.bookmark;
+
+                        currentNode = childCursor.current;
+                        break;
+                    }
+                    catch(e:ItemPendingError)
+                    {
+                        //pop up to parent
+                        currentNode = parentNodes.pop();
+                        //get parents siblings
+                        grandParent = parentNodes[parentNodes.length-1];
+                        //we could probably assume that a non-null grandparent has descendants
+                        //but the analogy only goes so far...
+                        if (grandParent != null &&
+                            hierarchicalData.canHaveChildren(grandParent) &&
+                            hierarchicalData.hasChildren(grandParent))
+                        {
+                            childNodes = collection.getChildren(grandParent);
+                        }
+                        else
+                        {
+                            childNodes = null;
+                        }
+                        //get new current nodes index
+                        currentChildBookmark = childIndexStack.pop();
+                        //pop the level up one
+                        _currentDepth--;
+
+                        if (childIndexStack.length == 0)
+                        {
+                            //check for more top level siblings
+                            //and if we're here the depth should be 1
+                            _currentDepth = 1;
+                            more = modelCursor.moveNext();
+                            if (more)
+                            {
+                                currentNode = modelCursor.current;
+                                throw new ChildItemPendingError(e.message);
+                            }
+                            else
+                            {
+                                //at the end of the tree
+                                _currentDepth = 1;
+                                currentIndex++;  //this should push us to afterLast
+                                currentNode = null;
+                                return false;
+                            }
+                        }
+                        break;
+                    }
+                }
+            }
+        }
+
+		updateParentMap(currentNode);
+
+        currentIndex++;
+        return true;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function movePrevious():Boolean
+    {
+        var currentNode:Object = current;
+        // If there are no items, there's no current node, so return false.
+        if (currentNode == null)
+            return false;
+
+        var childCursor:IViewCursor;
+
+        //if not at top level
+        if (parentNodes && parentNodes.length > 0)
+        {
+            if (currentChildBookmark == CursorBookmark.FIRST)
+            {
+                //at the first node in this branch so move to parent
+                currentNode = parentNodes.pop();
+                currentChildBookmark = childIndexStack.pop();
+                var grandParent:Object = parentNodes[parentNodes.length-1];
+                //we could probably assume that a non-null grandparent has descendants
+                //but the analogy only goes so far...
+                if (grandParent != null &&
+                    hierarchicalData.canHaveChildren(grandParent) &&
+                    hierarchicalData.hasChildren(grandParent))
+                {
+                    childNodes = collection.getChildren(grandParent);
+                }
+                else
+                {
+                    childNodes = null;
+                }
+                _currentDepth--;
+                currentIndex--;
+                return true;
+            }
+            else
+            {
+                // get previous child sibling
+                try
+                {
+                    childCursor = childNodes.createCursor();
+
+                    childCursor.seek(currentChildBookmark);
+                    childCursor.movePrevious();
+                    currentChildBookmark = childCursor.bookmark;
+                    currentNode = childCursor.current;
+
+                    try
+                    {
+                        // this is needed because the cursor bookmark for
+                        // the zero position and CursorBookmark.FIRST is not
+                        // same. this condition is encountered while doing
+                        // a movePrevious()
+                        childCursor.movePrevious();
+                        if (childCursor.bookmark == CursorBookmark.FIRST)
+                            currentChildBookmark = CursorBookmark.FIRST;
+                    }
+                    catch (e:ItemPendingError)
+                    {
+                    }
+                }
+                catch(e:ItemPendingError)
+                {
+                    //lets try to recover
+                    return false;
+                }
+            }
+        }
+        //handle top level siblings
+        else
+        {
+            more = modelCursor.movePrevious();
+            if (more)
+            {
+                //move back one node and then loop through children
+                currentNode = modelCursor.current;
+            }
+            //if past the begining of the tree return false
+            else
+            {
+                //currentIndex--;  //should be before first
+                currentIndex = -1;
+                currentNode = null;
+                return false;
+            }
+        }
+        while (true)
+        {
+            // If there are children, walk backwards on the children
+            // and consider youself after your children.
+            if (collection.openNodes[UIDUtil.getUID(currentNode)] &&
+                hierarchicalData.canHaveChildren(currentNode) &&
+                hierarchicalData.hasChildren(currentNode))
+            {
+                var previousChildNodes:ICollectionView = childNodes;
+                childNodes = collection.getChildren(currentNode);
+                if (childNodes.length > 0)
+                {
+                    childIndexStack.push(currentChildBookmark);
+                    parentNodes.push(currentNode);
+                    // if the child collection has only one item then set the
+                    // bookmark to first
+                    if (childNodes.length == 1)
+                        currentChildBookmark = CursorBookmark.FIRST;
+                    else
+                        currentChildBookmark = CursorBookmark.LAST;
+
+                    childCursor = childNodes.createCursor();
+                    try
+                    {
+                        childCursor.seek(currentChildBookmark);
+                        currentNode = childCursor.current;
+                    }
+                    catch (e:ItemPendingError)
+                    {
+                        try
+                        {
+                            childCursor.seek(CursorBookmark.FIRST);
+                            while (!childCursor.afterLast)
+                            {
+                                currentNode = childCursor.current;
+                                childCursor.moveNext();
+                            }
+                        }
+                        catch(e1:ItemPendingError)
+                        {
+                        }
+
+                        throw new ChildItemPendingError(e.message);
+                    }
+                    _currentDepth++;
+                }
+                else
+                {
+                    childNodes = previousChildNodes;
+                    break;
+                }
+            }
+            else
+            {
+                //No more open branches so we'll bail
+                break;
+            }
+        }
+
+		updateParentMap(currentNode);
+
+        currentIndex--;
+        return true;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function seek(bookmark:CursorBookmark, offset:int=0,
+                         prefetch:int = 0):void
+    {
+        var value:int;
+
+        if (bookmark == CursorBookmark.FIRST)
+        {
+            value = 0;
+        }
+        else if (bookmark == CursorBookmark.CURRENT)
+        {
+            value = currentIndex;
+        }
+        else if (bookmark == CursorBookmark.LAST)
+        {
+            value = collection.length - 1;
+        }
+        else
+        {
+            value = int(bookmark.value);
+        }
+
+        value = Math.max(Math.min(value + offset, collection.length), 0);
+        var dc:int = Math.abs(currentIndex - value);
+        var de:int = Math.abs(collection.length - value);
+        var movedown:Boolean = true;
+        // if we're closer to the current than the beginning
+        if (dc < value)
+        {
+            // if we're closer to the end than the current position
+            if (de < dc)
+            {
+                moveToLast();
+
+                if (de == 0)
+                {
+                    // if de = 0; we need to be "off the end"
+                    moveNext();
+                    value = 0;
+                }
+                else
+                {
+                    value = de - 1;
+                }
+                movedown = false;
+            }
+            else
+            {
+                movedown = currentIndex < value;
+                value = dc;
+                // if current is off the end, reset
+                if (currentIndex == collection.length)
+                {
+                    value--;
+                    moveToLast();
+                }
+            }
+        }
+        else // we're closer to the beginning than the current
+        {
+            // if we're closer to the end than the beginning
+            if (de < value)
+            {
+                moveToLast();
+                if (de == 0)
+                {
+                    // if de = 0; we need to be "off the end"
+                    moveNext();
+                    value = 0;
+                }
+                else
+                {
+                    value = de - 1;
+                }
+                movedown = false;
+            }
+            else
+            {
+                moveToFirst();
+            }
+        }
+
+        if (movedown)
+        {
+            while (value && value > 0)
+            {
+                moveNext();
+                value--;
+            }
+        }
+        else
+        {
+            while (value && value > 0)
+            {
+                movePrevious();
+                value--;
+            }
+        }
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function insert(item:Object):void
+    {
+        var parent:Object = collection.getParentItem(current);
+        collection.addChildAt(parent, item, currentIndex);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function remove():Object
+    {
+        var obj:Object = current;
+        var parent:Object = collection.getParentItem(current);
+        collection.removeChild(parent, current);
+        return obj;
+    }
+
+    /**
+     *  @private
+     *  Determines if a node is visible on the screen
+     */
+    private function isItemVisible(node:Object):Boolean
+    {
+        var parentNode:Object = collection.getParentItem(node);
+        while (parentNode != null)
+        {
+            if (collection.openNodes[UIDUtil.getUID(parentNode)] == null)
+                return false;
+
+            parentNode = collection.getParentItem(parentNode);
+        }
+        return true;
+    }
+
+	/**
+	 * @private
+	 * Update the parent map.
+	 */
+	private function updateParentMap(currentNode:Object):void
+	{
+		if (currentNode != null)
+		{
+			var uid:String = UIDUtil.getUID(currentNode);
+			if (!collection.parentMap.hasOwnProperty(uid))
+				collection.parentMap[uid] = parentNodes[parentNodes.length - 1];
+		}
+	}
+
+    /**
+     *  @private
+     *  Creates a stack of parent nodes by walking upwards
+     */
+    private function getParentStack(node:Object):Array
+    {
+        var nodeParents:Array = [];
+
+        // Make a list of parents of the node.
+        var obj:Object = collection.getParentItem(node);
+        while (obj != null)
+        {
+            nodeParents.unshift(obj);
+            obj = collection.getParentItem(obj);
+        }
+        return nodeParents;
+    }
+
+    /**
+     *  @private
+     *  When something happens to the tree, find out if it happened
+     *  to children that occur before the current child in the tree walk.
+     */
+    private function isNodeBefore(node:Object, currentNode:Object):Boolean
+    {
+        if (currentNode == null)
+            return false;
+
+        var i:int;
+        var tmpChildNodes:ICollectionView;
+        var sameParent:Object;
+
+        var nodeParents:Array = getParentStack(node);
+        var curParents:Array = getParentStack(currentNode);
+
+        var cursor:IViewCursor;
+        var child:Object;
+
+        // Starting from the root, compare parents
+        // (assumes the root must be the same).
+        while (nodeParents.length != 0 && curParents.length != 0)
+        {
+            var nodeParent:Object = nodeParents.shift();
+            var curParent:Object = curParents.shift();
+
+            // If not the same parentm then which ever one is first
+            // in the child list is before the other.
+            if (nodeParent != curParent)
+            {
+                // The last parent must be common.
+                sameParent = collection.getParentItem(nodeParent);
+
+                // Get the child list.
+                if (sameParent != null &&
+                    hierarchicalData.canHaveChildren(sameParent) &&
+                    hierarchicalData.hasChildren(sameParent))
+                {
+                    tmpChildNodes = collection.getChildren(sameParent);
+                }
+                else
+                {
+                    tmpChildNodes = model;
+                }
+                // Walk it until you hit one or the other.
+                {
+                    cursor = tmpChildNodes.createCursor();
+                    try
+                    {
+                        cursor.seek(CursorBookmark.FIRST, i);
+                        child = cursor.current;
+                    }
+                    catch (e:ItemPendingError)
+                    {
+                        // item pending - this may never happen
+                        return false;
+                    }
+
+                    if (child == curParent)
+                        return false;
+
+                    if (child == nodeParent)
+                        return true;
+                }
+            }
+        }
+
+        if (nodeParents.length)
+            node = nodeParents.shift();
+        if (curParents.length)
+            currentNode = curParents.shift();
+
+        // If we get here, they have the same parentage or one or both
+        // had a root parent. Who's first?
+        tmpChildNodes = model;
+        cursor = tmpChildNodes.createCursor();
+        while (!cursor.afterLast)
+        {
+            child = cursor.current;
+
+            if (child == currentNode)
+                return false;
+
+            if (child == node)
+                return true;
+
+            try
+            {
+                cursor.moveNext();
+            }
+            catch (e:ItemPendingError)
+            {
+                // item pending
+                return false;
+            }
+        }
+        return false;
+    }
+
+    /**
+     *  @private
+     */
+    private function moveToFirst():void
+    {
+        childNodes = null;
+
+        //first move to the begining of the top level collection
+        // let it throw an IPE, the classes using this cursor will handle it
+        modelCursor.seek(CursorBookmark.FIRST, 0);
+
+        if (model.length > 1)
+            more = true;
+        else
+            more = false;
+        currentChildBookmark = CursorBookmark.FIRST;
+        parentNodes = [];
+        childIndexStack = [];
+        currentIndex = 0;
+        _currentDepth = 1;
+    }
+
+    /**
+     *  @private
+     */
+    public function moveToLast():void
+    {
+        childNodes = null;
+        childIndexStack = [];
+        _currentDepth = 1;
+        parentNodes = [];
+        var emptyBranch:Boolean = false;
+
+        //first move to the end of the top level collection
+        // let it throw an IPE, the classes using this cursor will handle it
+        modelCursor.seek(CursorBookmark.LAST, 0);
+
+        //if its a branch and open then get children for the last item
+        var currentNode:Object = modelCursor.current;
+        //if current node is open get its children
+        while (collection.openNodes[UIDUtil.getUID(currentNode)] &&
+               hierarchicalData.canHaveChildren(currentNode) &&
+               hierarchicalData.hasChildren(currentNode))
+        {
+            var previousChildNodes:ICollectionView = childNodes;
+            childNodes = collection.getChildren(currentNode);
+            if (childNodes != null && childNodes.length > 0)
+            {
+                var childCursor:IViewCursor = childNodes.createCursor();
+                try
+                {
+                    childCursor.seek(CursorBookmark.LAST);
+                }
+                catch (e:ItemPendingError)
+                {
+                    // just break because if the last child item is pending
+                    // return its parent
+                    break;
+                }
+                parentNodes.push(currentNode);
+                childIndexStack.push(currentChildBookmark);
+                currentNode = childCursor.current;
+                currentChildBookmark = CursorBookmark.LAST;
+                try
+                {
+                    // this is needed because the cursor bookmark for
+                    // the zero position and CursorBookmark.FIRST is not
+                    // same. this condition is encountered while doing
+                    // a movePrevious()
+                    childCursor.movePrevious();
+                    if (childCursor.bookmark == CursorBookmark.FIRST)
+                        currentChildBookmark = CursorBookmark.FIRST;
+                }
+                catch (e:ItemPendingError)
+                {
+                }
+                _currentDepth++;
+            }
+            else
+            {
+                childNodes = previousChildNodes;
+                break;
+            }
+        }
+        currentIndex = collection.length - 1;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    public function collectionChangeHandler(event:CollectionEvent):void
+    {
+        var i:int;
+        var n:int;
+        var node:Object;
+        var nodeParent:Object
+        var parent:Object;
+        var parentStack:Array;
+        var parentTable:Dictionary;
+        var isBefore:Boolean = false;
+
+        // get the parent of the current item
+        parentStack = getParentStack(current);
+        // hash it by parent to map to depth
+        parentTable = new Dictionary();
+        n = parentStack.length;
+        // don't insert the immediate parent
+        for (i = 0; i < n - 1; i++)
+        {
+            // 0 is null parent (the model)
+            parentTable[parentStack[i]] = i + 1;
+        }
+        // remember the current parent
+        parent = parentStack[parentStack.length - 1];
+
+        var tmpChildnodes:ICollectionView;
+        var childCursor:IViewCursor;
+
+        if (event.kind == CollectionEventKind.ADD)
+        {
+            n = event.items.length;
+            if (event.location <= currentIndex)
+            {
+                currentIndex += n;
+                isBefore = true;
+            }
+
+            for (i = 0; i < n; i++)
+            {
+                node = event.items[i];
+                if (isBefore)
+                {
+                    // if the added node is before the current
+                    // and they share parent's then we have to
+                    // adjust the currentChildIndex or
+                    // the stack of child indexes.
+                    nodeParent = collection.getParentItem(node);
+                    tmpChildnodes = collection.getChildren(nodeParent);
+                    if (nodeParent == parent)
+                    {
+                        if (tmpChildnodes != null)
+                        {
+                            childCursor = tmpChildnodes.createCursor();
+                            try
+                            {
+                                childCursor.seek(currentChildBookmark);
+                                childCursor.moveNext();
+                                currentChildBookmark = childCursor.bookmark;
+                            }
+                            catch (e:ItemPendingError)
+                            {
+
+                            }
+                        }
+                    }
+                    else if (parentTable[nodeParent] != null)
+                    {
+                        if (tmpChildnodes != null)
+                        {
+                            childCursor = tmpChildnodes.createCursor();
+                            try
+                            {
+                                childCursor.seek(currentChildBookmark);
+                                childCursor.moveNext();
+                                currentChildBookmark = childCursor.bookmark;
+                            }
+                            catch (e:ItemPendingError)
+                            {
+                            }
+                            childIndexStack[parentTable[nodeParent]] = currentChildBookmark;
+                        }
+                    }
+                }
+            }
+
+        }
+        else if (event.kind == CollectionEventKind.REMOVE)
+        {
+            n = event.items.length;
+            if (event.location <= currentIndex)
+            {
+                if (event.location + n >= currentIndex)
+                {
+                    // the current node was removed
+                    // the list classes expect that we
+                    // leave the cursor on whatever falls
+                    // into that slot
+                    var newIndex:int = event.location;
+                    moveToFirst();
+                    seek(CursorBookmark.FIRST, newIndex);
+                    for (i = 0; i < n; i++)
+                    {
+                        node = event.items[i];
+                        delete collection.parentMap[UIDUtil.getUID(node)];
+                    }
+                    return;
+                }
+
+                currentIndex -= n;
+                isBefore = true;
+            }
+
+            for (i = 0; i < n; i++)
+            {
+                node = event.items[i];
+                if (isBefore)
+                {
+                    // if the removed node is before the current
+                    // and they share parent's then we have to
+                    // adjust the currentChildIndex or
+                    // the stack of child indexes.
+                    nodeParent = collection.getParentItem(node);
+                    tmpChildnodes = collection.getChildren(nodeParent);
+                    if (nodeParent == parent)
+                    {
+                        if (tmpChildnodes != null)
+                        {
+                            childCursor = tmpChildnodes.createCursor();
+                            try
+                            {
+                                childCursor.seek(currentChildBookmark);
+                                childCursor.movePrevious();
+                                currentChildBookmark = childCursor.bookmark;
+                            }
+                            catch (e:ItemPendingError)
+                            {
+
+                            }
+                        }
+                    }
+                    else if (parentTable[nodeParent] != null)
+                    {
+                        if (tmpChildnodes != null)
+                        {
+                            childCursor = tmpChildnodes.createCursor();
+                            try
+                            {
+                                childCursor.seek(currentChildBookmark);
+                                childCursor.movePrevious();
+                                currentChildBookmark = childCursor.bookmark;
+                            }
+                            catch (e:ItemPendingError)
+                            {
+                            }
+                            childIndexStack[parentTable[nodeParent]] = currentChildBookmark;
+                        }
+                    }
+                }
+                delete collection.parentMap[UIDUtil.getUID(node)];
+            }
+
+        }
+        else if (event.kind == CollectionEventKind.RESET)
+        {
+            // update the source collection and the cursor
+            model = collection.treeData;
+            modelCursor = model.createCursor();
+            // dispatch CURSOR_UPDATE event
+            collection.dispatchEvent(new FlexEvent(FlexEvent.CURSOR_UPDATE));
+        }
+		else if (event.kind == CollectionEventKind.REFRESH)
+		{
+			// find the correct index of the item
+			if (!(beforeFirst || afterLast))
+			{
+				findFirst(current);
+			}
+		}
+    }
+}
+
+}


Pass test for resolving specified scope (auto-pass)

--- src/asfac.tests/src/com/thedevstop/asfac/ResolutionTests.as
+++ src/asfac.tests/src/com/thedevstop/asfac/ResolutionTests.as
@@ -105,5 +105,16 @@
 			assertNotNull(instance);
 			assertNotSame(instance, obj);
 		}
+
+		public function test_should_resolve_type_with_specified_scope():void
+		{
+			var factory:AsFactory = new AsFactory();
+
+			var obj:Object = { numbers:[1, 2, 3] };
+			factory.registerInstance(obj, Object, "nonDefaultScope");
+
+			var instance:Object = factory.resolve(Object, "nonDefaultScope");
+			assertSame(instance, obj);
+		}
 	}
 }


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

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


Added dictionary serializer (with test)

Added dictionary serializer (with test)

--- src/com/merlinds/miracle_tool/controllers/PublishCommand.as
+++ src/com/merlinds/miracle_tool/controllers/PublishCommand.as
@@ -113,12 +113,10 @@
 					animations.push(animation);
 				}
 			}
-			trace("mesh");
-			var json:String = JSON.stringify(meshes);
-			trace(json);
+			trace("animations:");
+			trace(JSON.stringify(animations));
 			var serializer:MTFSerializer =  MTFSerializer.createSerializer(MTFSerializer.V2);
 			_mesh = serializer.serialize(meshes);
-//			_mesh.writeObject(meshes);
 			_animations = new ByteArray();
 			_animations.writeObject(animations);
 			_animations.position = 0;


Fix for adif being found randomly in the stream

When searching from position=0 and reading 2 bytes at the time, FFF1 is
not found directly after the id3 when the id3 has an odd number of
bytes. Search should starry after id3 tag in order to be aligned
correctly.

--- src/org/mangui/hls/demux/AACDemuxer.as
+++ src/org/mangui/hls/demux/AACDemuxer.as
@@ -47,7 +47,7 @@
             var id3 : ID3 = new ID3(_data);
             // AAC should contain ID3 tag filled with a timestamp
             var frames : Vector.<AudioFrame> = AACDemuxer.getFrames(_data, _data.position);
-            var adif : ByteArray = getADIF(_data, 0);
+            var adif : ByteArray = getADIF(_data, id3.len);
             var adifTag : FLVTag = new FLVTag(FLVTag.AAC_HEADER, id3.timestamp, id3.timestamp, true);
             adifTag.push(adif, 0, adif.length);
             audioTags.push(adifTag);


Change 20071022-maxcarlson-k by maxcarlson@plastik on 2007-10-22 20:30:29 PDT
    in /Users/maxcarlson/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Fix context menus to work without bgcolor set

New Features:

Bugs Fixed: LPP-3852 - Context menu doesn't work properly with transparent views

Technical Reviewer: promanik
QA Reviewer: jcrowley
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: Remove extra assignments of width/height/x/y.

In setBGColor() if the bgcolor was set for a context menu, reset its alpha to the correct value and allow opacity to be applied.  If clearing the bgcolor, don't remove the movieclip and don't allow opacity to be applied.

In setOpacity()  set the bgcolor alpha if not set by the context menu and overridden by the context menu.

In changeOrder() store and restore the current alpha value of the bgcolor movieclip.

In setContextMenu() always add a bgcolor view, and set its alpha to 0 to hide it if no bgcolor is currently set.

Tests: See LPP-3852.

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