Transferred from the Adobe Open Source Subversion Repository

Revision: 11933
Author:   clucier@adobe.com
Date:     2009-11-18T14:55:18.632611Z

Log Message:
-----------
Addressing an edge case for TileList where at times the listItems array doesn't accurately reflect a fully realized set of item renderers.  This can occur when the TileList row/col creation routine bails out early when it believes it has no further need to create renderers due to current height of the list itself.

QE notes:  None
Doc notes: None
Bugs: SDK-24169
Reviewer: Alex
Tests run: List, TileList, HorizontalList, DataGrid
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -4614,13 +4614,19 @@
     {
         var cursorPos:CursorBookmark;

+        // Our most recent listItem may not have actually been realized,
+        // this may occur if we detected it would be obscured at the time.
+        // If this is the case we will continue where we left off.
+        var lastItemValid:Boolean = listItems[rowIndex].length;
+
         // do layout for additional rows
         if (iterator)
         {
             cursorPos = iterator.bookmark;
             try
             {
-                iterator.seek(CursorBookmark.CURRENT, listItems.length);
+                if (lastItemValid)
+                    iterator.seek(CursorBookmark.CURRENT, listItems.length);
             }
             catch(e:ItemPendingError)
             {
@@ -4633,9 +4639,13 @@
                 // don't do anything, we'll repaint when the data arrives
             }
         }
-        var curY:Number = rowInfo[rowIndex].y + rowInfo[rowIndex].height;
+
+        var prevIndex:int = lastItemValid ? rowIndex : rowIndex - 1;
+        var curY:Number = prevIndex >= 0 ? rowInfo[rowIndex].y + rowInfo[rowIndex].height : 0;
+        var firstRow:int = lastItemValid ? rowIndex + 1 : rowIndex;
+
         // fill it in
-        makeRowsAndColumns(0, curY, listContent.width, listContent.height, 0, rowIndex + 1);
+        makeRowsAndColumns(0, curY, listContent.width, listContent.height, 0, firstRow);
         // restore iterator to original position
         seekPositionIgnoreError(iterator,cursorPos);
     }


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

--- frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
+++ frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
@@ -50,6 +50,11 @@
  *  the event is dispatched when the user releases the slider thumb.

  *
  *  @eventType mx.events.SliderEvent.CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="change", type="mx.events.SliderEvent")]

@@ -57,6 +62,11 @@
  *  Dispatched when the slider's thumb is pressed and then moved by the mouse.
  *  This event is always preceded by a thumbPress event.
  *  @eventType mx.events.SliderEvent.THUMB_DRAG
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="thumbDrag", type="mx.events.SliderEvent")]

@@ -65,6 +75,11 @@
  *  the user presses the mouse button over the thumb.
  *
  *  @eventType mx.events.SliderEvent.THUMB_PRESS
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="thumbPress", type="mx.events.SliderEvent")]

@@ -74,6 +89,11 @@
  *  a thumbPress event.
  *
  *  @eventType mx.events.SliderEvent.THUMB_RELEASE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="thumbRelease", type="mx.events.SliderEvent")]

@@ -87,6 +107,11 @@
  *  The color of the black section of the border.
  *
  *  @default 0x919999
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="borderColor", type="uint", format="Color", inherit="no")]

@@ -95,6 +120,11 @@
  *  If true, the thumbs will be flipped.
  *
  *  @default false
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="invertThumbDirection", type="Boolean", inherit="no")]

@@ -104,6 +134,11 @@
  *  of the labels relative to the track.
  *
   *  @default -10
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="labelOffset", type="Number", format="Length", inherit="no")]

@@ -111,6 +146,11 @@
  *  The name of the style to use for the slider label.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="labelStyleName", type="String", inherit="no")]

@@ -119,6 +159,11 @@
  *  when you click on the track to move a thumb.
  *
  *  @default 300
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="slideDuration", type="Number", format="Time", inherit="no")]

@@ -127,6 +172,11 @@
  *  when you click on the track to move a thumb.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="slideEasingFunction", type="Function", inherit="no")]

@@ -136,6 +186,11 @@
  *  of the thumb relative to the track.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="thumbOffset", type="Number", format="Length", inherit="no")]

@@ -144,6 +199,11 @@
  *  Can be a hex color value or the string name of a known color.
  *
  *  @default 0x6F7777.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tickColor", type="uint", format="Color", inherit="no")]

@@ -155,6 +215,11 @@
  *  then adjust the width.
  *
  *  @default 3
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tickLength", type="Number", format="Length", inherit="no")]

@@ -164,6 +229,11 @@
  *  of the tick marks relative to the track.
  *
  *  @default -6
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tickOffset", type="Number", format="Length", inherit="no")]

@@ -175,6 +245,11 @@
  *  then adjust the height.
  *
  *  @default 1
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tickThickness", type="Number", format="Length", inherit="no")]

@@ -187,6 +262,11 @@
  *  when setting trackColors.

  *
  *  @default [ 0xE7E7E7, 0xE7E7E7 ]
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="trackColors", type="Array", arrayType="uint", format="Color", inherit="no")]

@@ -195,6 +275,11 @@
  *  (or a single thumb and the beginning of the track).
  *
  *  @default false
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="showTrackHighlight", type="Boolean", inherit="no")]

@@ -205,6 +290,11 @@
  *  If given a value, Flex attempts to fit the labels in the available space.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="trackMargin", type="Number", format="Length", inherit="no")]

@@ -212,6 +302,11 @@
  *  The name of the style declaration to use for the data tip.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="dataTipStyleName", type="String", inherit="no")]

@@ -221,6 +316,11 @@
  *  style property of the HSlider and VSlider controls.
  *
  *  @default 16
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="dataTipOffset", type="Number", format="Length", inherit="no")]

@@ -229,6 +329,11 @@
  *  A value of 0 means to round all values to an integer.
  *
  *  @default 2
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="dataTipPrecision", type="int", inherit="no")]

@@ -236,6 +341,11 @@
  *  The default skin for the slider thumb.
  *
  *  @default SliderThumbSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="thumbSkin", type="Class", inherit="no", states="up, over, down, disabled")]

@@ -243,6 +353,11 @@
  *  The skin for the slider thumb up state.
  *
  *  @default SliderThumbSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="thumbUpSkin", type="Class", inherit="no")]

@@ -250,6 +365,11 @@
  *  The skin for the slider thumb over state.
  *
  *  @default SliderThumbSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="thumbOverSkin", type="Class", inherit="no")]

@@ -257,6 +377,11 @@
  *  The skin for the slider thumb down state.
  *
  *  @default SliderThumbSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="thumbDownSkin", type="Class", inherit="no")]

@@ -264,16 +389,31 @@
  *  The skin for the slider thumb disabled state.
  *
  *  @default SliderThumbSkin
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="thumbDisabledSkin", type="Class", inherit="no")]

 /**
  *  The skin for the slider track when it is selected.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="trackHighlightSkin", type="Class", inherit="no")]

 /**
  *  The skin for the slider track.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="trackSkin", type="Class", inherit="no")]

@@ -356,6 +496,11 @@
  *    thumbRelease="No default"
  *  />
  *

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Slider extends UIComponent
 {
@@ -381,6 +526,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Slider()
     {
@@ -575,6 +725,11 @@
      *  If true, then each thumb can be moved to any position on the track.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var allowThumbOverlap:Boolean = false;

@@ -588,6 +743,11 @@
      *  Specifies whether clicking on the track will move the slider thumb.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var allowTrackClick:Boolean = true;

@@ -623,6 +783,11 @@
      *

      *
      *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get dataTipFormatFunction():Function
     {
@@ -667,6 +832,11 @@
      *
      *  @default SliderDirection.HORIZONTAL
      *  @see mx.controls.sliderClasses.SliderDirection
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get direction():String
     {
@@ -721,6 +891,11 @@
      *  the number of tick marks is equal to the number of labels.

      *
      *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get labels():Array
     {
@@ -756,6 +931,11 @@
      *  event continuously as the user moves the thumb.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var liveDragging:Boolean = false;

@@ -775,6 +955,11 @@
      *  The maximum allowed value on the slider.
      *
      *  @default  10
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get maximum():Number
     {
@@ -816,6 +1001,11 @@
      *  The minimum allowed value on the slider control.
      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get minimum():Number
     {
@@ -848,6 +1038,11 @@
      *  containing the current value of the slider.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var showDataTip:Boolean = true;

@@ -864,6 +1059,11 @@
      *  A reference to the class to use for each thumb.
      *
      *  @default SliderThumb
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get sliderThumbClass():Class
     {
@@ -895,6 +1095,11 @@
      *  A reference to the class to use for the data tip.
      *
      *  @default SliderDataTip
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get sliderDataTipClass():Class
     {
@@ -944,6 +1149,11 @@
      *  between the minimum and maximum values.
      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get snapInterval():Number
     {
@@ -993,6 +1203,11 @@
      *  an array of values representing the value for each thumb.
      *
      *  @default 1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get thumbCount():int
     {
@@ -1026,6 +1241,11 @@
     /**
      *  Set of styles to pass from the Slider to the thumbs.
      *  @see mx.styles.StyleProxy
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function get thumbStyleFilters():Object
     {
@@ -1055,6 +1275,11 @@
      *  is set to a non-empty Array, then this property is ignored.

      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get tickInterval():Number
     {
@@ -1099,6 +1324,11 @@
      *  is ignored.

      *
      *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get tickValues():Array
     {
@@ -1132,6 +1362,11 @@
      *  When thumbCount is greater than 1, use the
      *  values property instead.
      *  The default value is equal to the minimum property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get value():Number
     {
@@ -1173,6 +1408,11 @@
     /**
      *  An array of values for each thumb when thumbCount
      *  is greater than 1.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get values():Array
     {
@@ -1463,6 +1703,11 @@
      *  The width of a horizontal slider control defaults to 250 pixels.
      *  For a vertical slider control, the width and the length
      *  measurements are reversed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function measure():void
     {
@@ -1534,6 +1779,11 @@
      *  @param unscaledHeight Specifies the height of the component, in pixels,
      *  in the component's coordinates, regardless of the value of the
      *  scaleY property of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void
@@ -2395,6 +2645,11 @@
      *  @param index The zero-based index number of the thumb.
      *
      *  @return A reference to the SliderThumb object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getThumbAt(index:int):SliderThumb
     {
@@ -2410,6 +2665,11 @@
      *  the value of, where a value of 0 corresponds to the first thumb.
      *
      *  @param value The value to set the thumb to
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function setThumbValueAt(index:int, value:Number):void
     {


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

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

 package mx.core
 {


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

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

 package mx.automation.delegates.controls
 {


adding appGroup parameter where necessary

--- actionscript/src/com/freshplanet/ane/AirPushNotification/PushNotification.as
+++ actionscript/src/com/freshplanet/ane/AirPushNotification/PushNotification.as
@@ -208,10 +208,10 @@
          *
          * @param value
          */
-		public function setIsAppInForeground(value:Boolean):void {
+		public function setIsAppInForeground(value:Boolean, appGroupId:String):void {

 			if (isSupported)
-                _context.call("setIsAppInForeground", value);
+                _context.call("setIsAppInForeground", value, appGroupId);
 		}

         /**
@@ -236,10 +236,10 @@

-        public function storeTrackingNotifUrl(url:String):void {
+        public function storeTrackingNotifUrl(url:String, appGroupId:String):void {

             if (isSupported)
-                _context.call("storeNotifTrackingInfo", url);
+                _context.call("storeNotifTrackingInfo", url, appGroupId);
         }

 		/**


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

--- frameworks/projects/mx/src/mx/styles/metadata/AnchorStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/AnchorStyles.as
@@ -1,4 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-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.
+//
+////////////////////////////////////////////////////////////////////////////////

+/**
+ *  The vertical distance in pixels from the top edge of the content area to
+ *  the control's baseline position.
+ *  If this style is set, the baseline of the component is
+ *  anchored to the top edge of its content area; when its container
+ *  is resized, the two edges maintain their separation.
+ *
+ *
This style only has an effect when used on a component in a Canvas container,
+ *  or when used on a component in a Panel or Application container that has the
+ *  layout property set to absolute.

+ *
+ *
The default value is undefined, which means it is not set.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="baseline", type="String", inherit="no")]

 /**


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeaderBase.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeaderBase.as
@@ -0,0 +1,83 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.dataGridClasses
+{
+
+import flash.display.DisplayObject;
+import flash.display.GradientType;
+import flash.display.Graphics;
+import flash.display.Shape;
+import flash.display.Sprite;
+import flash.events.MouseEvent;
+import flash.geom.Matrix;
+import flash.geom.Point;
+import flash.geom.Rectangle;
+import mx.controls.listClasses.IDropInListItemRenderer;
+import mx.controls.listClasses.IListItemRenderer;
+import mx.controls.DataGrid;
+import mx.core.EdgeMetrics;
+import mx.core.FlexSprite;
+import mx.core.FlexVersion;
+import mx.core.IFlexDisplayObject;
+import mx.core.UIComponent;
+import mx.core.UIComponentGlobals;
+import mx.events.DataGridEvent;
+import mx.managers.CursorManager;
+import mx.managers.CursorManagerPriority;
+import mx.styles.ISimpleStyleClient;
+import mx.styles.StyleManager;
+import mx.core.mx_internal;
+import mx.effects.easing.Back;
+
+use namespace mx_internal;
+
+/**
+ *  The DataGridHeaderBase class defines the base class for the DataGridHeader class,
+ *  the class that defines the item renderer for the DataGrid control.
+ */
+public class DataGridHeaderBase extends UIComponent
+{
+
+    /**
+     *  Constructor.
+     */
+    public function DataGridHeaderBase()
+    {
+        super();
+    }
+
+    /**
+     *  a layer to draw selections
+     */
+    mx_internal var selectionLayer:Sprite;
+
+    /**
+     *  a function to clear selections
+     */
+    mx_internal function clearSelectionLayer():void
+    {
+    }
+
+   /**
+     *  @private
+     *  the set of columns for this header
+     */
+    mx_internal var visibleColumns:Array;
+
+   /**
+     *  @private
+     *  the set of columns for this header
+     */
+    mx_internal var headerItemsChanged:Boolean = false;
+}
+
+}


FLEX-33687: Now will show up in the ASDocs, as well as removed the @private tags on the public functions.  Added in minor verbiage to ones that required it.

--- frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as
@@ -56,7 +56,6 @@

 use namespace mx_internal;

-[ExcludeClass]

 /**
  *  The DataGridEditor contains all the logic and event handling needed to
@@ -180,8 +179,12 @@
     private var _dataGrid:DataGrid;

     /**
-     *  @private
-     *  The data grid that owns this editor.
+     *  Reference to the DataGrid that created the editor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get dataGrid():DataGrid
     {
@@ -189,8 +192,12 @@
     }

     /**
-     *  @private
-     *  Convenience property to get the grid.
+     *  Convenience property to get the Grid associated with the parent DataGrid.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get grid():Grid
     {
@@ -236,7 +243,12 @@
     }

     /**
-     *  @private
+     *  Sets the edited item position based on the grids rowIndex and columnIndex.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function set editedItemPosition(value:Object):void
     {
@@ -442,9 +454,13 @@
     //--------------------------------------------------------------------------

     /**
-     *  @private
-     *  Called by the data grid after construction to initialize the editor. No
+     *  Called by the DataGrid after construction to initialize the editor. No
      *  item editors can be created until after this method is called.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function initialize():void
     {
@@ -462,9 +478,12 @@
     }

     /**
-     *  @private
-     *
-     *  The method is called to disable item editing on the data grid.
+     *  The method is called to disable item editing on the DataGrid.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function uninitialize():void
     {
@@ -772,8 +791,6 @@
     }

     /**
-     *  @private
-     *
      *  Start editing a cell for a specified row and column index.
      *
      *  Dispatches a GridItemEditorEvent.GRID_ITEM_EDITOR_SESSION_STARTING
@@ -782,6 +799,11 @@
      *  @param rowIndex The zero-based row index of the cell to edit.
      *
      *  @param columnIndex The zero-based column index of the cell to edit.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function startItemEditorSession(rowIndex:int, columnIndex:int):Boolean
     {
@@ -1468,9 +1490,14 @@

     /**
-    *  @private
-    *
-    */
+     *  Grid MouseWheel event handler.  Used to end the itemeditor when scrolling on the grid.
+     *  Default action is to save the edited contents.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11.8
+     *  @playerversion AIR 3.8
+     *  @productversion Flex 4.11
+     */
     protected function grid_gridMouseWheelHandler(event:MouseEvent):void
     {
         endEdit();


Verbose bools

Verbose bools

--- src/Values/BooleanValue.as
+++ src/Values/BooleanValue.as
@@ -11,7 +11,7 @@
 			boolValue = BoolValue;
 		}

-		override public function toString():String { return boolValue ? "T" : "F"; }
+		override public function toString():String { return boolValue ? "Yes" : "No"; }

 		override public function toNumber():Number { return boolValue ? 1 : 0; }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20109
Author:   jasonsj@adobe.com
Date:     2011-02-04T00:12:37.233009Z

Log Message:
-----------
Math.ceil() on measuredTextSize in StyleableTextField to avoid floating point issues.

Doc notes:
Bugs:
SDK-29377 Rounding error in measured text causes truncation in Button label
Reviewer: tkraikit
Tests run: checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
@@ -35,8 +35,8 @@
 import flash.utils.Dictionary;

 import mx.core.DesignLayer;
+import mx.core.FlexGlobals;
 import mx.core.IInvalidating;
-import mx.core.FlexGlobals;
 import mx.core.IVisualElement;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -278,8 +278,8 @@

                     // apply inverse scaling on the on the scaled TextField size
                     // this accounts for font scaling behavior in the player
-                    _measuredTextSize.x = Math.round(width / textScaleX);
-                    _measuredTextSize.y = Math.round(height / textScaleY);
+                    _measuredTextSize.x = width / textScaleX;
+                    _measuredTextSize.y = height / textScaleY;

                     // remove application scale factor
                     this.scaleX = oldScaleX;
@@ -301,11 +301,16 @@
                 }
             }

-			// Multi-line text enables internal scrolling if we use textHeight. Adding
-			// half of the padding (2 pixels) solves that problem.
-			if (numLines > 1)
-				_measuredTextSize.y += TEXT_HEIGHT_PADDING / 2;
-
+            // Multi-line text enables internal scrolling if we use textHeight. Adding
+            // half of the padding (2 pixels) solves that problem.
+            if (numLines > 1)
+                _measuredTextSize.y += TEXT_HEIGHT_PADDING / 2;
+
+            // account for floating point errors to fix accidental clipping
+            // or truncation
+            _measuredTextSize.x = Math.ceil(_measuredTextSize.x);
+            _measuredTextSize.y = Math.ceil(_measuredTextSize.y);
+
             invalidateTextSizeFlag = false;
         }

@@ -585,25 +590,25 @@
     {
         return _isTruncated;
     }
-
-	//----------------------------------
-	//  minHeight
-	//----------------------------------
-
-	/**
-	 *  @copy mx.core.UIComponent#minHeight
-	 */
+
+    //----------------------------------
+    //  minHeight
+    //----------------------------------
+
+    /**
+     *  @copy mx.core.UIComponent#minHeight
+     */
     public var minHeight:Number;
-
-	//----------------------------------
-	//  minWidth
-	//----------------------------------
-
-	/**
-	 *  @copy mx.core.UIComponent#minWidth
-	 */
-	public var  minWidth:Number;
-
+
+    //----------------------------------
+    //  minWidth
+    //----------------------------------
+
+    /**
+     *  @copy mx.core.UIComponent#minWidth
+     */
+    public var  minWidth:Number;
+
     //--------------------------------------------------------------------------
     //
     //  IEditableText implementation
@@ -828,13 +833,13 @@
      */
     public function scrollToRange(anchorPosition:int, activePosition:int):void
     {
-		// Pass to delegate, if defined
-		if (scrollToRangeDelegate != null)
-		{
-			scrollToRangeDelegate(anchorPosition, activePosition);
-			return;
-		}
-
+        // Pass to delegate, if defined
+        if (scrollToRangeDelegate != null)
+        {
+            scrollToRangeDelegate(anchorPosition, activePosition);
+            return;
+        }
+
         // If either part of the selection is in range (determined by
         // a non-null return value from getCharBoundaries()), we
         // don't need to do anything.
@@ -1700,8 +1705,8 @@
     //  bottom
     //----------------------------------

-	private var _bottom:Object;
-
+    private var _bottom:Object;
+
     /**
      * @private
      */
@@ -1715,11 +1720,11 @@
      */
     public function set bottom(value:Object):void
     {
-		if (_bottom == value)
-			return;
-
-		_bottom = value;
-		invalidateParentSizeAndDisplayList();
+        if (_bottom == value)
+            return;
+
+        _bottom = value;
+        invalidateParentSizeAndDisplayList();
     }

     //----------------------------------
@@ -1778,8 +1783,8 @@
     //  left
     //----------------------------------

-	private var _left:Object;
-
+    private var _left:Object;
+
     /**
      * @private
      */
@@ -1793,11 +1798,11 @@
      */
     public function set left(value:Object):void
     {
-		if (_left == value)
-			return;
-
-		_left = value;
-		invalidateParentSizeAndDisplayList();
+        if (_left == value)
+            return;
+
+        _left = value;
+        invalidateParentSizeAndDisplayList();
     }

     //----------------------------------
@@ -1844,8 +1849,8 @@
     //  right
     //----------------------------------

-	private var _right:Object;
-
+    private var _right:Object;
+
     /**
      * @private
      */
@@ -1859,19 +1864,19 @@
      */
     public function set right(value:Object):void
     {
-		if (_right == value)
-			return;
-
-		_right = value;
-		invalidateParentSizeAndDisplayList();
+        if (_right == value)
+            return;
+
+        _right = value;
+        invalidateParentSizeAndDisplayList();
     }

     //----------------------------------
     //  top
     //----------------------------------

-	private var _top:Object;
-
+    private var _top:Object;
+
     /**
      * @private
      */
@@ -1885,11 +1890,11 @@
      */
     public function set top(value:Object):void
     {
-		if (_top == value)
-			return;
-
-		_top = value;
-		invalidateParentSizeAndDisplayList();
+        if (_top == value)
+            return;
+
+        _top = value;
+        invalidateParentSizeAndDisplayList();
     }

     //----------------------------------
@@ -2003,27 +2008,27 @@
     {
         // do nothing
     }
-
-
-	/**
-	 *  Helper method to invalidate parent size and display list if
-	 *  this object affects its layout (includeInLayout is true).
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	private function invalidateParentSizeAndDisplayList():void
-	{
-		// We want to invalidate both the parent size and parent display list.
-		if (parent && parent is IInvalidating)
-		{
-			IInvalidating(parent).invalidateSize();
-			IInvalidating(parent).invalidateDisplayList();
-		}
-	}
-
+
+
+    /**
+     *  Helper method to invalidate parent size and display list if
+     *  this object affects its layout (includeInLayout is true).
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    private function invalidateParentSizeAndDisplayList():void
+    {
+        // We want to invalidate both the parent size and parent display list.
+        if (parent && parent is IInvalidating)
+        {
+            IInvalidating(parent).invalidateSize();
+            IInvalidating(parent).invalidateDisplayList();
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Variables
@@ -2049,10 +2054,10 @@
     // text placement.
     mx_internal var useTightTextBounds:Boolean = true;

-	// Delegate function for scrollToRange. If defined, the scrollToRange
-	// method is delegated to this function.
-	mx_internal var scrollToRangeDelegate:Function;
-
+    // Delegate function for scrollToRange. If defined, the scrollToRange
+    // method is delegated to this function.
+    mx_internal var scrollToRangeDelegate:Function;
+
     private static var supportedStyles:String = "textAlign fontFamily fontWeight fontStyle color fontSize textDecoration textIndent leading letterSpacing"

     private var invalidateStyleFlag:Boolean = true;


fix PostProcessingShaderPart.sampleBackBuffer() to actually use the uv argument when provided

--- src/aerys/minko/render/shader/part/PostProcessingShaderPart.as
+++ src/aerys/minko/render/shader/part/PostProcessingShaderPart.as
@@ -43,7 +43,7 @@

 		public function sampleBackBuffer(uv : SFloat) : SFloat
 		{
-			return sampleTexture(backBufferTexture, interpolate(vertexUV));
+			return sampleTexture(backBufferTexture, uv || interpolate(vertexUV));
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12021
Author:   gosmith@adobe.com
Date:     2009-11-20T00:43:45.370025Z

Log Message:
-----------
Fixed a miscapitalization in an ASDoc comment.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as

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

--- frameworks/projects/framework/src/mx/accessibility/AccConst.as
+++ frameworks/projects/framework/src/mx/accessibility/AccConst.as
@@ -513,7 +513,7 @@

 	/**
 	 *  An MSAA role indicating that
-	 *  The object represents a button on a toolbar that has a drop-down
+	 *  the object represents a button on a toolbar that has a drop-down
 	 *  list icon directly adjacent to the button.
 	 */
 	public static const ROLE_SYSTEM_SPLITBUTTON:uint = 0x3E;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4934
Author:   rfrishbe@adobe.com
Date:     2009-02-12T00:21:31.845488Z

Log Message:
-----------
Fix a bug around when we should use NativeDragManagerImpl.  Before we were checking the player capabilities to see if it was "Desktop".  However, some players that are actually AIR will return "Library" instead.  So rather than keying off of the capabilities of the player, let's just see if NativeDragManagerImpl is there.  If it is, use it.  Otherwise, use DragManagerImpl.

QE Notes: None
Doc Notes: None
Bugs: SDK-19079
Reviewer: Jason
tests: checkintests, mustella DragManager, Joann ran NativeDragManager ones

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -3035,84 +3035,79 @@
 		dispatchEvent(new FlexEvent(FlexEvent.APPLICATION_COMPLETE));
 	}

-	/**
-	 *  @private
-	 *  This is attached as the framescript at the end of frame 2.
-	 *  When this function is called, we know that the application
-	 *  class has been defined and read in by the Player.
-	 */
-	mx_internal function docFrameHandler(event:Event = null):void
-	{
-		// The ResourceManager has already been registered
-		// by initialize() in frame 1.
-
-		// Register other singleton classes.
-		// Note: getDefinitionByName() will return null
-		// if the class can't be found.
-
-		Singleton.registerClass("mx.managers::IBrowserManager",
-			Class(getDefinitionByName("mx.managers::BrowserManagerImpl")));
-
-		Singleton.registerClass("mx.managers::ICursorManager",
-			Class(getDefinitionByName("mx.managers::CursorManagerImpl")));
-
-		Singleton.registerClass("mx.managers::IHistoryManager",
-			Class(getDefinitionByName("mx.managers::HistoryManagerImpl")));
-
-		Singleton.registerClass("mx.managers::ILayoutManager",
-			Class(getDefinitionByName("mx.managers::LayoutManager")));
-
-		Singleton.registerClass("mx.managers::IPopUpManager",
-			Class(getDefinitionByName("mx.managers::PopUpManagerImpl")));
-
-		Singleton.registerClass("mx.managers::IToolTipManager2",
-			Class(getDefinitionByName("mx.managers::ToolTipManagerImpl")));
-
-		if (Capabilities.playerType == "Desktop")
-		{
-			Singleton.registerClass("mx.managers::IDragManager",
-				Class(getDefinitionByName("mx.managers::NativeDragManagerImpl")));
-
-			// Make this call to create a new instance of the DragManager singleton.
-			// This will allow the application to receive NativeDragEvents that originate
-			// from the desktop.
-			// if this class is not registered, it's most likely because the NativeDragManager is not
-			// linked in correctly. all back to old DragManager.
-			if (Singleton.getClass("mx.managers::IDragManager") == null)
-				Singleton.registerClass("mx.managers::IDragManager",
-					Class(getDefinitionByName("mx.managers::DragManagerImpl")));
-		}
-		else
-		{
-			Singleton.registerClass("mx.managers::IDragManager",
-				Class(getDefinitionByName("mx.managers::DragManagerImpl")));
-		}
-
-		var textFieldFactory:TextFieldFactory; // ref to cause TextFieldFactory to be linked in
-		Singleton.registerClass("mx.core::ITextFieldFactory",
-			Class(getDefinitionByName("mx.core::TextFieldFactory")));
-
-		executeCallbacks();
-		doneExecutingInitCallbacks = true;
+    /**
+     *  @private
+     *  This is attached as the framescript at the end of frame 2.
+     *  When this function is called, we know that the application
+     *  class has been defined and read in by the Player.
+     */
+    mx_internal function docFrameHandler(event:Event = null):void
+    {
+        // The ResourceManager has already been registered
+        // by initialize() in frame 1.
+
+        // Register other singleton classes.
+        // Note: getDefinitionByName() will return null
+        // if the class can't be found.
+
+        Singleton.registerClass("mx.managers::IBrowserManager",
+            Class(getDefinitionByName("mx.managers::BrowserManagerImpl")));
+
+        Singleton.registerClass("mx.managers::ICursorManager",
+            Class(getDefinitionByName("mx.managers::CursorManagerImpl")));
+
+        Singleton.registerClass("mx.managers::IHistoryManager",
+            Class(getDefinitionByName("mx.managers::HistoryManagerImpl")));
+
+        Singleton.registerClass("mx.managers::ILayoutManager",
+            Class(getDefinitionByName("mx.managers::LayoutManager")));
+
+        Singleton.registerClass("mx.managers::IPopUpManager",
+            Class(getDefinitionByName("mx.managers::PopUpManagerImpl")));
+
+        Singleton.registerClass("mx.managers::IToolTipManager2",
+            Class(getDefinitionByName("mx.managers::ToolTipManagerImpl")));
+
+        var dragManagerClass:Class = null;
+
+        // Make this call to create a new instance of the DragManager singleton.
+        // Try to link in the NativeDragManager first. This will allow the
+        // application to receive NativeDragEvents that originate from the
+        // desktop.  If it can't be found, then we're
+        // not in AIR, and it can't be linked in, so we should just work off of
+        // the regular Flex DragManager.
+        dragManagerClass = Class(getDefinitionByName("mx.managers::NativeDragManagerImpl"));
+
+        if (dragManagerClass == null)
+            dragManagerClass = Class(getDefinitionByName("mx.managers::DragManagerImpl"));
+
+        Singleton.registerClass("mx.managers::IDragManager", dragManagerClass);
+
+        var textFieldFactory:TextFieldFactory; // ref to cause TextFieldFactory to be linked in
+        Singleton.registerClass("mx.core::ITextFieldFactory",
+            Class(getDefinitionByName("mx.core::TextFieldFactory")));
+
+        executeCallbacks();
+        doneExecutingInitCallbacks = true;

         var mixinList:Array = info()["mixins"];
-		if (mixinList && mixinList.length > 0)
-		{
-		    var n:int = mixinList.length;
-			for (var i:int = 0; i < n; ++i)
-		    {
-		        // trace("initializing mixin " + mixinList[i]);
-		        var c:Class = Class(getDefinitionByName(mixinList[i]));
-		        c["init"](this);
-		    }
+        if (mixinList && mixinList.length > 0)
+        {
+            var n:int = mixinList.length;
+            for (var i:int = 0; i < n; ++i)
+            {
+                // trace("initializing mixin " + mixinList[i]);
+                var c:Class = Class(getDefinitionByName(mixinList[i]));
+                c["init"](this);
+            }
         }
-
-		installCompiledResourceBundles();
-
-		initializeTopLevelWindow(null);
-
-		deferredNextFrame();
-	}
+
+        installCompiledResourceBundles();
+
+        initializeTopLevelWindow(null);
+
+        deferredNextFrame();
+    }

     /**
      *  @private


OFC-544 User with role "ROLE_ENTRY" can delete a record in data cleansing phase

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/ListPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/ListPresenter.as
@@ -32,9 +32,12 @@
 	import org.openforis.collect.metamodel.proxy.AttributeDefinitionProxy;
 	import org.openforis.collect.metamodel.proxy.EntityDefinitionProxy;
 	import org.openforis.collect.metamodel.proxy.ModelVersionProxy;
+	import org.openforis.collect.model.CollectRecord$State;
+	import org.openforis.collect.model.CollectRecord$Step;
 	import org.openforis.collect.model.RecordSummarySortField;
 	import org.openforis.collect.model.RecordSummarySortField$Sortable;
 	import org.openforis.collect.model.proxy.RecordProxy;
+	import org.openforis.collect.model.proxy.UserProxy;
 	import org.openforis.collect.ui.UIBuilder;
 	import org.openforis.collect.ui.component.BackupPopUp;
 	import org.openforis.collect.ui.component.DataExportPopUp;
@@ -189,15 +192,23 @@
 		 * */
 		protected function deleteButtonClickHandler(event:MouseEvent):void {
 			var selectedRecord:RecordProxy = _view.dataGrid.selectedItem as RecordProxy;
-			if(selectedRecord != null) {
-				AlertUtil.showConfirm("list.delete.confirm", null, "list.delete.confirmTitle", executeDelete);
-
-				function executeDelete():void {
-					_dataClient.deleteRecord(new AsyncResponder(deleteRecordResultHandler, faultHandler), selectedRecord.id);
+			if(selectedRecord == null) {
+				AlertUtil.showError("list.error.recordNotSelected");
+			} else if ( selectedRecord.step != CollectRecord$Step.ENTRY ) {
+				var rootEntityLabel:String = Application.activeRootEntity.getLabelText();
+				var stepName:String = Message.get("phase." + selectedRecord.step.name);
+				if ( Application.user.canReject(selectedRecord) ) {
+					AlertUtil.showError("list.error.cannotDelete.rejectBeforeDeletePromotedRecord", [rootEntityLabel, stepName]);
+				} else {
+					AlertUtil.showError("list.error.cannoDeletePromotedRecord", [rootEntityLabel, stepName]);
 				}
 			} else {
-				AlertUtil.showError("list.error.recordNotSelected");
-			}
+				AlertUtil.showConfirm("list.delete.confirm", null, "list.delete.confirmTitle", executeDelete, [selectedRecord]);
+			}
+		}
+
+		protected function executeDelete(record:RecordProxy):void {
+			_dataClient.deleteRecord(new AsyncResponder(deleteRecordResultHandler, faultHandler), record.id);
 		}

 		protected function exportButtonClickHandler(event:MouseEvent):void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20013
Author:   harishs@adobe.com
Date:     2011-01-31T15:32:09.255609Z

Log Message:
-----------
QE notes: Globalization changes. Full cyclone run has been done. Default locale changes and sort bug fixes since Dec 14 2010
Doc notes: ASDOC comments for all classes have been updated.
Bugs: SDK-29132 SDK-29127 SDK-28163  SDK-29075 SDK-28600 SDK-28492 SDK-28856

Reviewer: Gordon Smith, Xie Fang, Zhigang Qi
Tests run: cyclone and checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/supportClasses/CollatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/SortField.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/globalization/supportClasses/GlobalizationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/SortingCollator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/LastOperationStatus.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/formatters/supportClasses/NumberFormatterBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/globalization/MatchingCollator.as</path>

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

--- frameworks/projects/framework/src/mx/collections/Sort.as
+++ frameworks/projects/framework/src/mx/collections/Sort.as
@@ -96,6 +96,20 @@
  *  />
  *

  *
+ *
In case items have inconsistent data types or items have complex data
+ *  types, the use of the default built-in compare functions is not recommended.
+ *  Inconsistent sorting results may occur in such cases. To avoid such problem,
+ *  provide a custom compare function and/or make the item types consistent.

+ *
+ *
Just like any other AdvancedStyleClient-based classes,
+ *  the Sort and SortField classes do not have a
+ *  parent-child relationship in terms of event handling. Locale changes in a
+ *  Sort instance are not dispatched to its SortField
+ *  instances automatically. The only exceptional case is the internal default
+ *  SortField instance used when no explicit fields are provided.
+ *  In this case, the internal default SortField instance follows
+ *  the locale style that the owner Sort instance has.

+ *
  *  @see mx.collections.ICollectionView
  *  @see ISortField
  *  @see spark.collections.Sort


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/IMXMLObject.as
+++ frameworks/projects/framework/src/mx/core/IMXMLObject.as
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ *  The IMXMLObject interface defines the APIs that a non-visual component
+ *  must implement in order to work properly with the MXML compiler.
+ *  Currently, the only supported method is the initialized()
+ *  method.
+ */
+public interface IMXMLObject
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Called after the implementing object has been created and all
+	 *  component properties specified on the MXML tag have been initialized.
+	 *
+     *  @param document The MXML document that created this object.
+	 *
+     *  @param id The identifier used by document to refer
+	 *  to this object.
+	 *  If the object is a deep property on document,
+	 *  id is null.
+     */
+    function initialized(document:Object, id:String):void;
+}
+
+}


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

--- frameworks/projects/mx/src/mx/containers/TabNavigator.as
+++ frameworks/projects/mx/src/mx/containers/TabNavigator.as
@@ -47,6 +47,11 @@
  *  Name of CSS style declaration that specifies styles for the first tab.
  *  If this is unspecified, the default value
  *  of the tabStyleName style property is used.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="firstTabStyleName", type="String", inherit="no")]

@@ -66,12 +71,22 @@
  *
To see a difference between the alignments,
  *  the total width of all the tabs must be less than
  *  the width of the TabNavigator container.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]

 /**
  *  Separation between tabs, in pixels.
  *  The default value is -1, so that the borders of adjacent tabs overlap.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="horizontalGap", type="Number", format="Length", inherit="no")]

@@ -79,12 +94,22 @@
  *  Name of CSS style declaration that specifies styles for the last tab.
  *  If this is unspecified, the default value
  *  of the tabStyleName style property is used.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="lastTabStyleName", type="String", inherit="no")]

 /**
  *  Name of CSS style declaration that specifies styles for the text
  *  of the selected tab.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="selectedTabTextStyleName", type="String", inherit="no")]

@@ -94,6 +119,11 @@
  *  When this property is undefined, the height of each tab is
  *  determined by the font styles applied to this TabNavigator container.
  *  If you set this property, the specified value overrides this calculation.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tabHeight", type="Number", format="Length", inherit="no")]

@@ -101,6 +131,11 @@
  *  Name of CSS style declaration that specifies styles for the tabs.
  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tabStyleName", type="String", inherit="no")]

@@ -118,6 +153,11 @@
  *
The label text on a tab is truncated if it does not fit in the tab.
  *  If a tab label is truncated, a tooltip with the full label text is
  *  displayed when a user rolls the mouse over the tab.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tabWidth", type="Number", format="Length", inherit="no")]

@@ -128,6 +168,11 @@
  *  value move the tab bar to the left.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="tabOffset", type="Number", format="Length", inherit="no")]

@@ -290,6 +335,11 @@
  *
  *  @see mx.containers.ViewStack
  *  @see mx.controls.TabBar
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class TabNavigator extends ViewStack implements IFocusManagerComponent
 {
@@ -314,6 +364,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function TabNavigator()
     {
@@ -423,6 +478,11 @@

     /**
      *  A reference to the TabBar inside this TabNavigator.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var tabBar:TabBar;

@@ -452,6 +512,11 @@
      *  The set of styles to pass from the TabNavigator to the tabBar.
      *  @see mx.styles.StyleProxy
      *  @review
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function get tabBarStyleFilters():Object
     {
@@ -535,6 +600,11 @@
      *
      *  @see mx.core.UIComponent#measure()
      *  @see mx.containers.ViewStack#measure()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function measure():void
     {
@@ -624,6 +694,11 @@
      *  scaleY property of the component.
      *
      *  @see mx.core.UIComponent#updateDisplayList()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void
@@ -768,6 +843,11 @@
      *  @param index Index in the navigator's TabBar control.
      *
      *  @return The tab at the specified index.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getTabAt(index:int):Button
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 2462
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:13:06.620116Z

Log Message:
-----------
gumbo push to trunk

Modified Paths:
--------------
214 paths were modified

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

--- frameworks/projects/mx/src/mx/controls/CalendarLayout.as
+++ frameworks/projects/mx/src/mx/controls/CalendarLayout.as
@@ -2423,9 +2423,9 @@
    	/**
 	 *  We don't use 'is' to prevent dependency issues
 	 */
-	static private var dcis:Object = {};
-
-	static private function isDateChooserIndicator(parent:Object):Boolean
+	private static var dcis:Object = {};
+
+	private static function isDateChooserIndicator(parent:Object):Boolean
 	{
 		var s:String = getQualifiedClassName(parent);
 		if (dcis[s] == 1)


Transferred from the Adobe Open Source Subversion Repository

Revision: 21967
Author:   ksimm@adobe.com
Date:     2011-08-12T22:42:12.578702Z

Log Message:
-----------
SDK-31119: Setting locale to null displays the correct date and year.
SDK-31056: Change default min and max date to limit.

QE notes: none
Doc notes: none
Bugs: SDK-31056, SDK-31119
Reviewer: Tom Kraikit
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as
+++ frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as
@@ -87,7 +87,10 @@
         _length = ((endDate.time - startDate.time) / MS_IN_DAY) + 1;

         formatter = new DateTimeFormatterEx();
-        formatter.setStyle("locale", locale);
+        if (locale)
+            formatter.setStyle("locale", locale);
+        else
+            formatter.clearStyle("locale");
         formatter.dateTimeSkeletonPattern = DateTimeFormatterEx.DATESTYLE_MMMEEEd;

         todayDate = today;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as
+++ frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as
@@ -0,0 +1,62 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.utils
+{
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *
+ *  The DirectoryEnumerationMode class defines the constant values
+ *  for the enumerationMode property
+ *  of the DirectoryEnumeration class.
+ *
+ *  @see mx.utils.DirectorEnumeration#enumerationMode
+ */
+public final class DirectoryEnumerationMode
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Specifies to show files but not directories.
+     */
+    public static const FILES_ONLY:String = "filesOnly";
+
+    /**
+     *  Specifies to show directories but not files.
+     */
+    public static const DIRECTORIES_ONLY:String = "directoriesOnly";
+
+    /**
+     *  Specifies to show files first, then directories.
+     */
+    public static const FILES_FIRST:String = "filesFirst";
+
+    /**
+     *  Specifies to show directories, then files.
+     */
+    public static const DIRECTORIES_FIRST:String = "directoriesFirst";
+
+    /**
+     *  Specifies to show both files and directories, mixed together.
+     */
+     public static const FILES_AND_DIRECTORIES:String = "filesAndDirectories";
+}
+
+}


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2011 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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package spark.skins.mobile


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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBaseFindPending.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBaseFindPending.as
@@ -34,6 +34,11 @@

 	/**
 	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function ListBaseFindPending(searchString:String,
 										startingBookmark:CursorBookmark,
@@ -63,6 +68,11 @@

 	/**
 	 *  The bookmark we have to seek to when the data arrives
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var bookmark:CursorBookmark;

@@ -72,6 +82,11 @@

 	/**
 	 *  The currentIndex we are looking at when we hit the page fault
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var currentIndex:int;

@@ -81,6 +96,11 @@

 	/**
 	 *  The offset from the bookmark we have to seek to when the data arrives
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var offset:int;

@@ -90,6 +110,11 @@

 	/**
 	 *  The string we were searching for when the hit the page fault
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var searchString:String;

@@ -99,6 +124,11 @@

 	/**
 	 *  The bookmark where we were when we started
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var startingBookmark:CursorBookmark;

@@ -108,6 +138,11 @@

 	/**
 	 *  The index we should stop at
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var stopIndex:int;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 22714
Author:   smgilson@adobe.com
Date:     2011-09-23T17:09:18.587007Z

Log Message:
-----------
minor asdoc update

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

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

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

--- frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as
@@ -292,7 +292,8 @@
     private var _resizeForSoftKeyboard:Boolean = true;

     /**
-     *  Enables resizing the pop-up when the soft keyboard is active.
+     *  Enables resizing the pop-up when the soft keyboard
+     *  on a mobile device is active.
      *
      *  @default true
      *
@@ -323,7 +324,8 @@
     private var _moveForSoftKeyboard:Boolean = true;

     /**
-     *  Enables moving the pop-up when the soft keyboard is active.
+     *  Enables moving the pop-up when the soft keyboard
+     *  on a mobile device is active.
      *
      *  @default true
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 5220
Author:   chaase@adobe.com
Date:     2009-03-10T15:55:06.496289Z

Log Message:
-----------
New Transform effects to handle correctly doing Move, Rotate, and Scale operations simultaneously. Also, added keyframe capabilities to new effects system (necessary for the transform effects, shouldn't affect operation of other effects). Fixed various issues with effects/transition infrastructure as necessary. Added transform utility functions to UIComponent, AdvancedLayoutFeatures, and GraphicElement.

QE Notes: This will break existing new effects tests due to changes in core Animation and AnimationEvent classes, QE is disabling them for now and will add them back in as changes are made.
Doc Notes: None
Bugs:
Reviewer: Ely (transform utilities) and Jason (the rest)
tests: checkintests, Mustella tests/Effects, tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/AnimationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as
+++ frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as
@@ -11,42 +11,70 @@

 package mx.effects
 {
+import mx.effects.interpolation.IInterpolator;
+import mx.effects.interpolation.NumberArrayInterpolator;
+
+import spark.effects.KeyFrame;
+import spark.effects.MotionPath;
+

 /**
  * This class is used to hold the name of a property and the values that
  * that property will assume over time for instances of the FxAnimate
- * effect, or subclasses of that effect.
- *
- * @see FxAnimate
+ * effect, or subclasses of that effect. This class is a simple utility
+ * subclass of MotionPath, setting up two keyframes to hold the
+ * valueFrom, valueTo, and
+ * valueBy properties.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class AnimationProperty
+public class AnimationProperty extends MotionPath
 {
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
     /**
-     * The name of the property to be animated. The property can
-     * be either a property of the target object in the animation
-     * or a style.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var property:String;
-
-    private var _valueFrom:Object;
+     * Constructs an AnimationProperty object. The from/to/by values are used
+     * to construct a simple one-keyframe MotionPath where the from value
+     * is defined in the MotionPath object itself and the single keyframe.
+     *
+     * @param property The name of the property being animated
+     * @param valueFrom The value that the animation starts from
+     * @param valueTo The value that the animation ends on
+     * @param valueBy An optional parameter that specifies the delta with
+     * which to calculate either the from or to values.
+     */
+    public function AnimationProperty(property:String = null, valueFrom:Object = null,
+        valueTo:Object = null, valueBy:Object = null)
+    {
+        super();
+        this.property = property;
+        keyframes = [new KeyFrame(0, valueFrom), new KeyFrame(1, valueTo, valueBy)];
+        if (valueFrom is Array && valueTo is Array)
+            interpolator = NumberArrayInterpolator.getInstance();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
     /**
-     * The value that the named property will animate from.
+     * The starting value for the property during the animation.
      *
      *
Null or NaN (in the case of Numbers) element values indicate that a
      * value must be determined dynamically at runtime, either by
      * getting the value from the target property directly or calculating
-     * it if the other value is valid and there is also a valid valueBy
-     * value supplied.

+     * it if the other value is valid and there is also a valid
+     * valueBy value supplied.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -55,14 +83,13 @@
      */
     public function get valueFrom():Object
     {
-        return _valueFrom;
+        return keyframes[0].value;
     }
     public function set valueFrom(value:Object):void
     {
-        _valueFrom = value;
+        keyframes[0].value = value;
     }

-    private var _valueTo:Object;
     /**
      * The value that the named property will animate to.
      *
@@ -79,14 +106,13 @@
      */
     public function get valueTo():Object
     {
-        return _valueTo;
+        return keyframes[keyframes.length -1].value;
     }
     public function set valueTo(value:Object):void
     {
-        _valueTo = value;
+        keyframes[keyframes.length - 1].value = value;
     }

-    private var _valueBy:Object;
     /**
      * Optional property which specifies the delta used to calculate
      * either the valueFrom or valueTo value.
@@ -117,21 +143,12 @@
      */
     public function get valueBy():Object
     {
-        return _valueBy;
+        return keyframes[keyframes.length - 1].valueBy;
     }
     public function set valueBy(value:Object):void
     {
-        _valueBy = value;
+        keyframes[keyframes.length - 1].valueBy = value;
     }
-
-    public function AnimationProperty(property:String = null, valueFrom:Object = null,
-        valueTo:Object = null, valueBy:Object = null)
-    {
-        super();
-        this.property = property;
-        this.valueFrom = valueFrom;
-        this.valueTo = valueTo;
-        this.valueBy = valueBy;
-    }
+
 }
-}+}


cleaned imports

cleaned imports

--- src/main/actionscript/com/castlabs/dash/DashPlugin.as
+++ src/main/actionscript/com/castlabs/dash/DashPlugin.as
@@ -7,8 +7,6 @@
  */

 package com.castlabs.dash {
-import com.castlabs.dash.utils.Console;
-
 import flash.display.Sprite;

 import org.osmf.elements.VideoElement;


fixed bug: transparent effect had a 1-frame delay when selecting on a
tool

Change-Id: I919b11242af6c51494c3262e89996ec497216bb7

--- WeaveUI/src/weave/visualization/layers/SelectablePlotLayer.as
+++ WeaveUI/src/weave/visualization/layers/SelectablePlotLayer.as
@@ -124,7 +124,7 @@

 			getCallbackCollection(selectionFilter).addGroupedCallback(this, showOrHideEmptySelectionText);
 			getCallbackCollection(probeFilter).addGroupedCallback(this, showOrHideEmptySelectionText);
-			getCallbackCollection(selectionFilter).addGroupedCallback(this, handleSelectionChange, true);
+			getCallbackCollection(selectionFilter).addImmediateCallback(this, handleSelectionChange, null, true);

 			registerLinkableChild(this, plotter);
 			registerLinkableChild(this, subsetFilter);


Added context lost optimization to Program3DResource as well

--- src/aerys/minko/render/resource/Program3DResource.as
+++ src/aerys/minko/render/resource/Program3DResource.as
@@ -39,6 +39,8 @@
 		minko_render var _fsTextures			: Vector.<ITextureResource>	= null;

 		minko_render var _bindings				: Object					= null;
+
+		private var _contextLostHandlerAdded	: Boolean					= false;

 		public function get name() : String
 		{
@@ -86,8 +88,13 @@
 		public function prepareContext(context 		: Context3DResource,
 									   previous		: Program3DResource) : void
 		{
-			if (!context.contextChanged.hasCallback(contextLostHandler))
+
+			if (!_contextLostHandlerAdded)
+			{
 				context.contextChanged.add(contextLostHandler);
+				_contextLostHandlerAdded = true;
+			}
+
 			if (!_nativeProgram)
 			{
 				_nativeProgram = context.createProgram();


Buildfix.

Buildfix.

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@139 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/ezgame/client/GameContainer.as
+++ src/as/com/threerings/ezgame/client/GameContainer.as
@@ -1,6 +1,6 @@
 package com.threerings.ezgame.client {

-import flash.display.Loader;
+import flash.display.DisplayObject;

 import flash.geom.Rectangle;


Bug 699463: clean up some print statements

--- test/acceptance/as3/Types/Float/nonstrict/ToString.as
+++ test/acceptance/as3/Types/Float/nonstrict/ToString.as
@@ -67,8 +67,6 @@
 var nExponent = nMAX_VALUE.slice(nMAX_VALUE.indexOf("+")+1, nMAX_VALUE.length);
 var fFraction = v.slice(0, v.indexOf("e"));
 var nFraction = nMAX_VALUE.slice(0, nMAX_VALUE.indexOf("e"));
-print(fFraction);
-print(nFraction);
 AddTestCase("ToString(float.MAX_VALUE) exponent match", nExponent, fExponent);
 AddTestCase("ToString(float.MAX_VALUE) fraction match", nFraction.slice(0, fFraction.length), fFraction);


fixed bug in geojson parsing code.

fixed bug in geojson parsing code.

--- WeaveData/src/weave/data/DataSources/GeoJSONDataSource.as
+++ WeaveData/src/weave/data/DataSources/GeoJSONDataSource.as
@@ -519,7 +519,7 @@
 			for each (var part:Array in poly)
 			{
 				// add part marker if this is not the first part
-				if (xyCoords.length == 0)
+				if (xyCoords.length > 0)
 					xyCoords.push(NaN, NaN);
 				// push x,y coords
 				for each (var point:Array in part)


Transferred from the Adobe Open Source Subversion Repository

Revision: 16296
Author:   jszeto@adobe.com
Date:     2010-05-22T01:07:06.468300Z

Log Message:
-----------
Form Baseline alignment

- Update skins to take advantage of new baseline support in FormItemLayout.
- Add support to Group for baselinePositionElement.
- Fix some bugs
- Added Form into checkintest

QE notes: none
Doc notes: none
Bugs: SDK-26516, SDK-26515, SDK-26508, SDK-26510
Reviewer: Kevin
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/FormTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/FormTests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests-config.xml</path>

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

--- frameworks/projects/framework/src/mx/core/FlexVersion.as
+++ frameworks/projects/framework/src/mx/core/FlexVersion.as
@@ -48,8 +48,22 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public static const CURRENT_VERSION:uint = 0x04000000;
-
+    public static const CURRENT_VERSION:uint = 0x04050000;
+
+    /**
+     *  The compatibilityVersion value of Flex 4.5,
+     *  encoded numerically as a uint.
+     *  Code can compare this constant against
+     *  the compatibilityVersion
+     *  to implement version-specific behavior.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const VERSION_4_5:uint = 0x04050000;
+
     /**
      *  The compatibilityVersion value of Flex 4.0,
      *  encoded numerically as a uint.


Transferred from the Adobe Open Source Subversion Repository

Revision: 14263
Author:   dloverin@adobe.com
Date:     2010-02-18T23:10:31.538259Z

Log Message:
-----------
Merge revision 14242 from the 4.x branch.

Fix getStyle/setStyle when a module factory is not set and a skin not found RTE.

QE notes: None.
Doc notes: None.
Bugs: SDK-25376, SDK-25444
Reviewer:
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -10531,16 +10531,13 @@
      */
     public function getStyle(styleProp:String):*
     {
-        // If our style proto chain hasn't been set up yet, return any locally declared
-        // styles. This way any style set before we are added to the display list
-        // is correctly returned.
-        if (_inheritingStyles == StyleProtoChain.STYLE_UNINITIALIZED)
-        {
-            if (deferredSetStyles)
-                return this.deferredSetStyles[styleProp];
-
-            if (styleDeclaration)
-                return styleDeclaration.getStyle(styleProp);
+        // If a moduleFactory has not be set yet, first check for any deferred
+        // styles. If there are no deferred styles or the styleProp is not in
+        // the deferred styles, the look in the proto chain.
+        if (!moduleFactory)
+        {
+            if (deferredSetStyles && deferredSetStyles[styleProp] !== undefined)
+                return deferredSetStyles[styleProp];
         }

         return styleManager.inheritingStyles[styleProp] ?


Transferred from the Adobe Open Source Subversion Repository

Revision: 13938
Author:   hmuller@adobe.com
Date:     2010-02-02T16:34:21.264413Z

Log Message:
-----------
Add support to UITextField for layout mirroring.

The same changes were applied to UITextField as were applied to UIFTETextField in SVN 13830.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as

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

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -57,6 +57,10 @@
  *  invalidation/measurement/layout, enabling/disabling, tooltips, and IME
  *  (Input Method Editor) support for entering Chinese, Japanese, and
  *  Korean text.

+ *
+ *
Warning: if UITextField inherits layoutDirection="rtl", it
+ *  will modify its own transform.matrix to restore the default
+ *  coordinate system locally.

  *
  *  @see flash.text.TextField
  *  @see mx.core.UITextFormat
@@ -366,12 +370,59 @@
      *  @private
      */
     private var untruncatedText:String;
+
+    /**
+     *  @private
+     *  True if we've inherited layoutDirection="rtl".
+     */
+    private var mirror:Boolean = false;

     //--------------------------------------------------------------------------
     //
     //  Overridden properties
     //
     //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  x
+    //----------------------------------
+
+    private var _x:Number = 0;
+
+    /**
+     *  @private
+     */
+    override public function set x(value:Number):void
+    {
+        _x = value;
+        super.x = value;
+        if (mirror)
+            validateTransformMatrix();
+    }
+
+    /**
+     *  @private
+     */
+    override public function get x():Number
+    {
+        // FIXME(hmuller): by default get x returns transform.matrix.tx rounded to the nearest 20th.
+        // should do the same here, if we're returning _x.
+        return (mirror) ? _x : super.x;
+    }
+
+    //----------------------------------
+    //  width
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    override public function set width(value:Number):void
+    {
+        super.width = value;
+        if (mirror)
+            validateTransformMatrix();
+    }

     //----------------------------------
     //  htmlText
@@ -2093,8 +2144,17 @@

         if (!isNaN(explicitHeight) && super.height != explicitHeight)
             super.height = explicitHeight;
-
-          // Set the text format.
+
+        // Update transform.matrix to compensate for layout mirroring
+        if (styleChangedFlag)
+        {
+            const oldMirror:Boolean = mirror;
+            mirror = getStyle("layoutDirection") == "rtl";
+            if (mirror || oldMirror)
+                validateTransformMatrix();
+        }
+
+        // Set the text format.
         if (styleChangedFlag)
         {
             var textFormat:TextFormat = getTextStyles();
@@ -2135,7 +2195,29 @@
         styleChangedFlag = false;
         invalidateDisplayListFlag = false;
     }
-
+    /**
+     *  @private
+     *  Update the transform.matrix based on the mirror flag.  This method must be
+     *  called when x, width, or layoutDirection changes.
+     */
+    private function validateTransformMatrix():void
+    {
+        if (mirror)
+        {
+            const mirrorMatrix:Matrix = this.transform.matrix;
+            mirrorMatrix.a = -1;
+            mirrorMatrix.tx = _x + width;
+            transform.matrix = mirrorMatrix;
+        }
+        else // layoutDirection changed, mirror=false, reset transform.matrix to its default
+        {
+            const defaultMatrix:Matrix = new Matrix();
+            defaultMatrix.tx = _x;
+            defaultMatrix.ty = y;
+            transform.matrix = defaultMatrix;
+        }
+    }
+
     /**
      *  Returns the TextFormat object that represents
      *  character formatting information for this UITextField object.


Moved FP.screen.swap() to just before the render loop, so the buffer during every update() is the last rendered buffer.

--- net/flashpunk/Engine.as
+++ net/flashpunk/Engine.as
@@ -146,20 +146,20 @@
 			if (FP.elapsed > MAX_ELAPSED) FP.elapsed = MAX_ELAPSED;
 			FP.elapsed *= FP.rate;

+			// update loop
+			update();
+
+			// update entity lists
+			FP._world.updateLists();
+
+			// update input
+			Input.update();
+
+			// switch worlds
+			if (FP._goto) switchWorld();
+
 			// swap buffers
 			FP.screen.swap();
-
-			// update loop
-			update();
-
-			// update entity lists
-			FP._world.updateLists();
-
-			// update input
-			Input.update();
-
-			// switch worlds
-			if (FP._goto) switchWorld();

 			// reset drawing target
 			Draw.resetTarget();
@@ -181,9 +181,6 @@

 			// quit if a frame hasn't passed
 			if (_delta < _rate) return;
-
-			// swap buffers
-			FP.screen.swap();

 			// update the game
 			if (_delta > _skip) _delta = _skip;
@@ -211,6 +208,9 @@
 				// switch worlds
 				if (FP._goto) switchWorld();
 			}
+
+			// swap buffers
+			FP.screen.swap();

 			// reset drawing target
 			Draw.resetTarget();


try to fix ImageAndTextButton

try to fix ImageAndTextButton

--- frameworks/projects/HTML/as/src/org/apache/flex/html/ImageAndTextButton.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/ImageAndTextButton.as
@@ -50,6 +50,19 @@
 		}

         /**
+         *  @private
+         */
+        COMPILE::JS
+        override public function set text(value:String):void
+        {
+            ImageAndTextModel(model).text = value;
+            COMPILE::JS
+            {
+                setInnerHTML();
+            }
+        }
+
+        /**
          *  The URL of an icon to use in the button
          *
          *  @langversion 3.0
@@ -68,6 +81,10 @@
         public function set image(value:String):void
         {
             ImageAndTextModel(model).image = value;
+            COMPILE::JS
+            {
+                setInnerHTML();
+            }
         }

         /**
@@ -86,5 +103,17 @@
             return element;
         }

+        /**
+         */
+        COMPILE::JS
+        protected function setInnerHTML():void
+        {
+            var inner:String = '';
+            if (image != null)
+                inner += "<img src='" + image + "'/>";
+            inner += ' ';
+            inner += text;
+            element.innerHTML = inner;
+        };
 	}
 }