Transferred from the Adobe Open Source Subversion Repository

Revision: 3554
Author:   hmuller@adobe.com
Date:     2008-10-09T23:47:11.193434Z

Log Message:
-----------
Bug fixes: 17258, 17146, 17193

Now correctly handle the
HorizontalLayout::horizontalScrollPositionDelta() special case where
there's just one item the scrollRect, and the item is partially
visible and left justified, and the requested scroll unit is RIGHT.
Likewise for right justified and RIGHT and likewise for
VerticalLayout.

The fix is in findLayoutItemBounds() (defined in both Horizontal
and VerticalLayout), which now deals with this case correctly.
This method's responsibilities have changed as part of a larger
refactoring effort that also supports better step/page behavior
for extremely large items.

QE: No
Doc: No
Checkintests: Pass
Reviewer: Evtim
Bugs:
    SDK-17258 - inView method throws an RTE when passing in invalid indexes
    SDK-17146 - Horizontal Scroller only respond to RIGHT/LEFT buttons
    SDK-17193 - Scroll position delta methods loop when scrolling through items larger than the viewport size

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -382,6 +382,9 @@
 		var g:GroupBase = GroupBase(target);
 	    if (!g)
 	        return 0.0;
+
+	    if ((index < 0) || (index >= g.numLayoutItems))
+	       return 0.0;

         var li:ILayoutItem = g.getLayoutItemAt(index);
         if ((li == null) || !li.includeInLayout)
@@ -543,32 +546,62 @@

         setIndexInView(i0, i1);
     }
-
-   /**
-    *  Returns the actual position/size Rectangle of the first non-null
-    *  includeInLayout item, beginning with the item at index i.
-    *
-    *  Returns null if no such item can be found.
-    *
-    *  @private
-    */
-    private static function findLayoutItemBounds(g:GroupBase, i:int, dir:int):Rectangle
-    {
-    	var n:int = g.numLayoutItems;
-    	while((i >= 0) && (i < n))
-    	{
-    	   var item:ILayoutItem = g.getLayoutItemAt(i);
-    	   if (item && item.includeInLayout)
-    	   {
-	           var p:Point = item.actualPosition;
-	           var s:Point = item.actualSize;
-	           return new Rectangle(p.x, p.y, s.x, s.y);
-    	   }
-    	   i += dir;
-    	}
-    	return null;
-    }
-
+
+    /**
+     *  If the item at index i is non-null and includeInLayout,
+     *  then return it's actual bounds, otherwise return null.
+     *
+     *  @private
+     */
+    private static function layoutItemBounds(g:GroupBase, i:int):Rectangle
+    {
+        var item:ILayoutItem = g.getLayoutItemAt(i);
+        if (item && item.includeInLayout)
+        {
+            var p:Point = item.actualPosition;
+            var s:Point = item.actualSize;
+            return new Rectangle(p.x, p.y, s.x, s.y);
+        }
+        return null;
+    }
+
+    /**
+     *  Returns the actual position/size Rectangle of the first partially
+     *  visible or not-visible, non-null includeInLayout item, beginning
+     *  with the item at index i, searching in direction dir (dir must
+     *  be +1 or -1).   The last argument is the GroupBase scrollRect, it's
+     *  guaranteed to be non-null.
+     *
+     *  Returns null if no such item can be found.
+     *
+     *  @private
+     */
+    private function findLayoutItemBounds(g:GroupBase, i:int, dir:int, r:Rectangle):Rectangle
+    {
+        var n:int = g.numLayoutItems;
+
+        if (inView(i) >= 1)
+            i = Math.max(0, Math.min(n - 1, i + dir));
+
+        while((i >= 0) && (i < n))
+        {
+           var itemR:Rectangle = layoutItemBounds(g, i);
+           // Special case: if the scrollRect r _only_ contains
+           // itemR, then if we're searching up (dir == -1),
+           // and itemR's top edge is visible, then try again
+           // with i-1.   Likewise for dir == +1.
+           if (itemR)
+           {
+               var overlapsTop:Boolean = (dir == -1) && (itemR.top == r.top) && (itemR.bottom >= r.bottom);
+               var overlapsBottom:Boolean = (dir == +1) && (itemR.bottom == r.bottom) && (itemR.top <= r.top);
+               if (!(overlapsTop || overlapsBottom))
+                   return itemR;
+           }
+           i += dir;
+        }
+        return null;
+    }
+
     /**
      *  Overrides the default handling of UP/DOWN and
      *  PAGE_UP, PAGE_DOWN.
@@ -610,7 +643,7 @@
         var g:GroupBase = target;
         if (!g)
             return 0;
-
+
         var maxIndex:int = g.numLayoutItems -1;
         if (maxIndex < 0)
             return 0;
@@ -619,90 +652,55 @@
         if (!scrollR)
             return 0;

-        var maxDelta:Number = g.contentHeight - scrollR.height - scrollR.y;
-        var minDelta:Number = -scrollR.y;
         var itemR:Rectangle = null;
-        var firstIndex:int;
-        var lastIndex:int;
-
         switch(unit)
         {
-            // Compute the bounds of the first item that's not
-            // completely visible, is non-null, and is includeInLayout.
-            // If the item whose index is firstIndexInView satisfies
-            // all of the requirements, we'll use that, otherwise we'll
-            // scan "upwards" until we find one.
             case Keyboard.UP:
             case Keyboard.PAGE_UP:
-            {
-                firstIndex = firstIndexInView;
-                if (inView(firstIndex) >= 1)
-                   firstIndex = Math.max(0, firstIndex -1);
-                itemR = findLayoutItemBounds(g, firstIndex, -1);
+                itemR = findLayoutItemBounds(g, firstIndexInView, -1, scrollR);
                 break;
-            }
-
-            // Compute the bounds of the last item that's not
-            // completely visible, is non-null, and is includeInLayout.
-            // If the item whose index is lastIndexInView satisfies
-            // all of the requirements, we'll use that, otherwise we'll
-            // scan "downwards" until we find one.
+
             case Keyboard.DOWN:
             case Keyboard.PAGE_DOWN:
-            {
-                lastIndex = lastIndexInView;
-                if (inView(lastIndex) >= 1)
-                   lastIndex = Math.min(maxIndex, lastIndex + 1);
-                itemR = findLayoutItemBounds(g, lastIndex, +1);
+                itemR = findLayoutItemBounds(g, lastIndexInView, +1, scrollR);
                 break;
-            }
-
+
             default:
-                return super.verticalScrollPositionDelta(unit);
-        }
-
+                return super.verticalScrollPositionDelta(unit);
+        }
+
         if (!itemR)
             return 0;
-
+
+        var delta:Number = 0;
         switch (unit)
         {
-            // Special case: only one item is partially visible.   If it
-            // extends below the scrollR, then bottom justify it
-            case Keyboard.DOWN:
-            case Keyboard.PAGE_DOWN:
-            {
-                if ((itemR.top <= scrollR.top) && (itemR.bottom > scrollR.bottom))
-                   return itemR.bottom - scrollR.bottom;
+            case Keyboard.UP:
+                delta = Math.max(-scrollR.height, itemR.top - scrollR.top);
                 break;
-            }
-
-            // Special case: only one item is partially visible.   If it
-            // extends above the scrollR, then top justify it
-            case Keyboard.UP:
-            case Keyboard.PAGE_UP:
-            {
-                if ((itemR.top < scrollR.top) && (itemR.bottom >= scrollR.bottom))
-                    return itemR.top - scrollR.top;
-                break;
-            }
-        }
-
-        switch (unit)
-        {
-            case Keyboard.UP:
-                return Math.max(minDelta, itemR.top - scrollR.top);

             case Keyboard.DOWN:
-                return Math.min(maxDelta, itemR.bottom - scrollR.bottom);
+                delta = Math.min(scrollR.height, itemR.bottom - scrollR.bottom);
+                break;

             case Keyboard.PAGE_UP:
-                return Math.max(minDelta, itemR.bottom - scrollR.bottom);
-
+                if ((itemR.top < scrollR.top) && (itemR.bottom >= scrollR.bottom))
+                    delta = Math.max(-scrollR.height, itemR.top - scrollR.top);
+                else
+                    delta = itemR.bottom - scrollR.bottom;
+                break;
+
             case Keyboard.PAGE_DOWN:
-                return Math.min(maxDelta, itemR.top - scrollR.top);
-        }
-
-        return 0;
+                if ((itemR.top <= scrollR.top) && (itemR.bottom > scrollR.bottom))
+                    delta = Math.min(scrollR.height, itemR.bottom - scrollR.bottom);
+                else
+                    delta = itemR.top - scrollR.top;
+                break;
+        }
+
+        var maxDelta:Number = g.contentHeight - scrollR.height - scrollR.y;
+        var minDelta:Number = -scrollR.y;
+        return Math.min(maxDelta, Math.max(minDelta, delta));
     }

     private function variableRowHeightMeasure(layoutTarget:GroupBase):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 2724
Author:   egeorgie@adobe.com
Date:     2008-08-04T17:33:18.787713Z

Log Message:
-----------
Add target property to ILayoutItem
Make ILayoutItemUIC work with IUIComponent
Switch Group.GetLayoutItemAt() to return ILayoutItem

Reviewed by Ryan, Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutItemFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutItemFDO.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/intf/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutItemHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutItemUIC.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -107,7 +107,7 @@
         var totalCount:uint = count; // How many items will be laid out
         for (var i:int = 0; i < count; i++)
         {
-            var layoutItem:ILayoutItem = LayoutItemFactory.getLayoutItemFor(layoutTarget.getLayoutItemAt(i));
+            var layoutItem:ILayoutItem = layoutTarget.getLayoutItemAt(i);
             if (!layoutItem || !layoutItem.includeInLayout)
             {
             	totalCount--;
@@ -149,7 +149,7 @@
         var totalCount:uint = count; // How many items will be laid out
         for (var i:int = 0; i < count; i++)
         {
-            var layoutItem:ILayoutItem = LayoutItemFactory.getLayoutItemFor(layoutTarget.getLayoutItemAt(i));
+            var layoutItem:ILayoutItem = layoutTarget.getLayoutItemAt(i);
             if (!layoutItem || !layoutItem.includeInLayout)
             {
             	totalCount--;


Test for calculation of cloneable fields in CompositeCloneableClass.

--- dolly-framework/src/test/actionscript/dolly/CloningOfCompositeCloneableClassTest.as
+++ dolly-framework/src/test/actionscript/dolly/CloningOfCompositeCloneableClassTest.as
@@ -1,9 +1,11 @@
 package dolly {
-
 import dolly.core.dolly_internal;
 import dolly.data.CompositeCloneableClass;

+import org.as3commons.reflect.Field;
 import org.as3commons.reflect.Type;
+import org.flexunit.asserts.assertEquals;
+import org.flexunit.asserts.assertNotNull;

 use namespace dolly_internal;

@@ -24,5 +26,12 @@
 		compositeCloneableClass = null;
 		compositeCloneableClassType = null;
 	}
+
+	[Test]
+	public function findingAllWritableFieldsForType():void {
+		const writableFields:Vector.<Field> = Cloner.findAllWritableFieldsForType(compositeCloneableClassType);
+		assertNotNull(writableFields);
+		assertEquals(4, writableFields.length);
+	}
 }
 }


added neighborSites()

added neighborSites()

--- src/com/nodename/Delaunay/Site.as
+++ src/com/nodename/Delaunay/Site.as
@@ -155,6 +155,38 @@
 		{
 			_edges.sort(Edge.compareSitesDistances);
 			return _edges[0];
+		}
+
+		internal function neighborSites():Vector.<Site>
+		{
+			if (_edges == null || _edges.length == 0)
+			{
+				return new Vector.<Site>();
+			}
+			if (_edgeOrientations == null)
+			{
+				reorderEdges();
+			}
+			var list:Vector.<Site> = new Vector.<Site>();
+			var edge:Edge;
+			for each (edge in _edges)
+			{
+				list.push(neighborSite(edge));
+			}
+			return list;
+		}
+
+		private function neighborSite(edge:Edge):Site
+		{
+			if (this == edge.leftSite)
+			{
+				return edge.rightSite;
+			}
+			if (this == edge.rightSite)
+			{
+				return edge.leftSite;
+			}
+			return null;
 		}

 		internal function region(clippingBounds:Rectangle):Vector.<Point>


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/LegendData.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/LegendData.as
@@ -0,0 +1,129 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.charts.chartClasses
+{
+
+import mx.core.IFlexDisplayObject;
+
+/**
+ *  The LegendData structure is used by charts to describe the items
+ *  that should be displayed in an auto-generated legend.
+ *  A chart's legendData property contains an Array
+ *  of LegendData objects, one for each item in the Legend.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class LegendData
+{
+    include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function LegendData()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  aspectRatio
+	//----------------------------------
+
+	[Inspectable]
+
+	/**
+	 *  Determines
+	 *  the size and placement of the legend marker.
+	 *  If set, the LegendItem ensures that the marker's
+	 *  width and height match this value.
+	 *  If unset (NaN), the legend item chooses an appropriate
+	 *  default width and height.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var aspectRatio:Number;
+
+	//----------------------------------
+	//  element
+	//----------------------------------
+
+	[Inspectable(environment="none")]
+
+	/**
+	 *  The chart item that generated this legend item.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var element:IChartElement;
+
+	//----------------------------------
+	//  label
+	//----------------------------------
+
+	[Inspectable]
+
+	/**
+	 *  The text identifying the series or item displayed in the legend item.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var label:String = "";
+
+	//----------------------------------
+	//  marker
+	//----------------------------------
+
+	[Inspectable]
+
+	/**
+	 *  A visual indicator associating the legend item
+	 *  with the series or item being represented.
+	 *  This DisplayObject is added as a child to the LegendItem.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var marker:IFlexDisplayObject;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 21985
Author:   smgilson@adobe.com
Date:     2011-08-15T19:19:49.325847Z

Log Message:
-----------
Update MXML syntax for GridColumn.as in ASDoc

Update description of useWeakReference in BindingUtils.as and ChangeWatcher.as

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/binding/utils/BindingUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>

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

--- frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as
+++ frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as
@@ -54,6 +54,8 @@
      *  You can use the use the reset() method to change
      *  the value of the host argument after creating
      *  the ChangeWatcher instance.
+     *  The host maintains a list of handlers to invoke
+     *  when prop changes.
      *
      *  @param chain A value specifying the property or chain to be watched.
      *  Legal values are:
@@ -106,8 +108,8 @@
      *  such as modifications in a text field prior to confirmation.
      *
      *  @param useWeakReference (default = false) Determines whether
-     *  the reference to the host is strong or weak. A strong
-     *  reference (the default) prevents the host from being
+     *  the reference to handler is strong or weak. A strong
+     *  reference (the default) prevents handler from being
      *  garbage-collected. A weak reference does not.
      *
      *  @return The ChangeWatcher instance, if at least one property name has
@@ -389,10 +391,13 @@
     //----------------------------------

     /**
-     *  (default = false) Determines whether the reference to the host
-     *  is strong or weak. A strong reference (the default) prevents
-     *  the host from being garbage-collected. A weak reference does
-     *  not.
+     *  Determines whether the reference to handler
+     *  is strong or weak.
+     *  A strong reference (the default) prevents
+     *  handler from being garbage-collected.
+     *  A weak reference does not.
+     *
+     *  @default false
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


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

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

 package mx.rpc.soap.types
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12980
Author:   hhillen@paciellogroup.com
Date:     2009-12-16T01:33:56.528408Z

Log Message:
-----------
Minor fix for SliderBaseAccImpl and SpinnerAccImpl
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as
@@ -227,6 +227,8 @@
      */
     override public function get_accValue(childID:uint):String
     {
+        if (childID > 0)
+            return null;
         return Spinner(master).value.toString();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11270
Author:   eitan@ascender.com
Date:     2009-10-29T18:28:57.798957Z

Log Message:
-----------
Added a NumericStepper AccImpl class
Added actions to SpinnerAccImpl
Add STATECHANGE when buttons are pressed in a ButtonBar

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarAccImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as
@@ -18,6 +18,7 @@
 import mx.accessibility.AccImpl;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
+import mx.events.FlexEvent;

 import spark.components.Spinner;

@@ -229,6 +230,54 @@
         return Spinner(master).value.toString();
     }

+    /**
+     *  @private
+     *  IAccessible method for returning the default action
+     *  of the Spinner and it's children.
+     *
+     *  @param childID uint
+     *
+     *  @return DefaultAction String
+     */
+    override public function get_accDefaultAction(childID:uint):String
+    {
+        return childID == 0 ? "" : "Press";
+    }
+
+    /**
+     *  @private
+     *  IAccessible method for performing the default action
+     *  associated with The Spinner's buttons.
+     *
+     *  @param childID uint
+     */
+
+    override public function accDoDefaultAction(childID:uint):void
+    {
+        var prevValue:Number = Spinner(master).value;
+
+        switch(childID)
+        {
+            case 1:
+            {
+                if (Spinner(master).incrementButton.enabled)
+                    Spinner(master).changeValueByStep(true)
+                break;
+            }
+            case 2:
+            {
+                if (Spinner(master).incrementButton.enabled)
+                    Spinner(master).changeValueByStep(false)
+                break;
+            }
+        }
+
+        if (Spinner(master).value != prevValue) {
+            master.dispatchEvent(new Event(Event.CHANGE));
+            master.dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden event handlers: AccImpl


修正在带有gzip的请求时，导致无法判断flash是否加载完成的错误.

修正在带有gzip的请求时，导致无法判断flash是否加载完成的错误.

--- src/net/manaca/preloaders/PreloaderBase.as
+++ src/net/manaca/preloaders/PreloaderBase.as
@@ -124,7 +124,11 @@
      */
     protected function enterFrameHandler(event:Event):void
     {
-        if (loaderInfo.bytesLoaded == loaderInfo.bytesTotal)
+        var loaded:uint = loaderInfo.bytesLoaded;
+        var total:uint = loaderInfo.bytesTotal;
+        if((loaded >= total && total > 0) || (total == 0 && loaded > 0)
+            || (root is MovieClip && (MovieClip(root).totalFrames > 2) &&
+                (MovieClip(root).framesLoaded >= 2)))
         {
             removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
             initialize();


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

--- frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as
+++ frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as
@@ -28,9 +28,9 @@

 use namespace mx_internal;
 /**
- *  The NumberValidatorBase class contains all the common functionality that is
- *  required by the Spark NumberValidator and
- *  CurrencyValidator classes.
+ *  The NumberValidatorBase class contains all the common functionality that is
+ *  required by the NumberValidator and
+ *  CurrencyValidator classes.
  *
  *  @mxml
  *
@@ -62,7 +62,7 @@
  *    parseError="The input string could not be parsed."
  *  />
  *

- *
+ *
  *  @see spark.formatters.supportClasses.NumberFormatterBase
  *
  *  @langversion 3.0
@@ -146,17 +146,31 @@
      *  Because it can be either type and they don't have common base except
      *  Object, it is defined as Object.
      */
-    protected var g11nWorkingInstance:Object = null;
-
-    /**
-    *  @private
-    *  Basic properies of the actual underlying working instance.
-    *
-    *  It can be flash.globalization.NumberFormatter/CurrencyFormatter OR
-    *  the fallback's propery set.
-    */
-    protected var properties:Object = null;
-
+    private var _g11nWorkingInstance:Object = null;
+
+    /**
+     *  @private
+     *  If the g11nWorkingInstance has not been defined. Call
+     *  ensureStyleSource to ensure that there is a styleParent. If there is
+     *  not a style parent, then this instance will be added as a style client
+     *  to the topLevelApplication. As a side effect of this, the styleChanged
+     *  method will be called and if there is a locale style defined for the
+     *  topLevelApplication, the createWorkingInstance method will be
+     *  executed creating a g11nWorkingInstance.
+     */
+    mx_internal function get g11nWorkingInstance ():Object
+    {
+        if (!_g11nWorkingInstance)
+            ensureStyleSource();
+
+        return _g11nWorkingInstance;
+    }
+
+    mx_internal function set g11nWorkingInstance (sparkFormatter:Object): void
+    {
+        _g11nWorkingInstance = sparkFormatter;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden Properties
@@ -258,11 +272,11 @@
      *  The decimal separator character used for validating numbers that have
      *  a decimal part.
      *
-     *
This property is initially set based on the locale that
-     *  is selected when the validator object
-     *  is constructed.

-     *
-     *
The default value is dependent on the locale and operating system.

+     *
This property is initially set based on the locale style of the
+     *  validator object.

+     *
+     *
The default value is dependent on the locale and operating
+     *  system.

      *
      *  @throws TypeError if this property is assigned a null value.
      *
@@ -303,7 +317,8 @@
      *  The valid values for this property are defined in the
      *  NationalDigitsType class.

      *
-     *  The default value is dependent on the locale and operating system.
+     *
The default value is dependent on the locale and operating
+     *  system.

      *
      *  @see flash.globalization.NationalDigitsType
      *
@@ -351,6 +366,8 @@
      *  NumberValidatorDomainType.INT.

      *
      *  @default "real"
+     *
+     *  @see #NumberValidatorDomainType
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
@@ -398,7 +415,8 @@
      *  The maximum number of digits that can appear after the decimal
      *  separator.
      *
-     *
The default value is dependent on the locale and operating system.

+     *
The default value is dependent on the locale and operating
+     *  system.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
@@ -429,9 +447,10 @@
      *  property is initially set based on the locale that is selected
      *  when the validator object is constructed.

      *
-     *
The default value is dependent on the locale and operating system.

-     *
      *  @throws TypeError if this property is assigned a null value.
+     *
+     *
The default value is dependent on the locale and operating
+     *  system.

      *
      *  @see #validate()
      *  @see #groupingPattern
@@ -549,9 +568,9 @@
      *
      *
This symbol is used when validating a negative number.
      *  This is read-only property as not all operating systems allow
-     *  customizing of this property.

-     *
-     *
 This property is set to a default value specified by the locale.

+     *  customizing of this property.

+     *
+     *
This property is set to a default value specified by the locale.

      *
      *  @see #negativeNumberFormat
      *  @see #validate()
@@ -733,7 +752,7 @@
     /**
      *  Error message when the value contains invalid characters.
      *
-     *  @default The input contains invalid characters."
+     *  @default "The input contains invalid characters."
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
@@ -1089,7 +1108,7 @@
      *  This method has the common code that is needed by both currency and
      *  number validator object's createWorkingInstance().
      *
-     *
 Create locale specific formatter object using localeStyle property.
+     *
Create locale specific formatter object using localeStyle property.
      *  If localeStyle is null, this method sets fallbackLastOperationStatus to
      *  LOCALE_UNDEFINED_ERROR and returns.
      *  If localeStyle is specified and fallback is enforced, then fallback
@@ -1136,9 +1155,9 @@
      *  @private
      *  Return the actual locale id name.
      *
-     *
 This method gets the actual locale id name from the internal
+     *
This method gets the actual locale id name from the internal
      *  formatter object. If the formatter object is not available, returns
-     *  "en-US" as the ultimate fallback locale id name.

+     *  "en-US" as the ultimate fallback locale id name.

      *
      *  @param validatorType  int having the validator type: currency or number
      *  @returns String Actual locale id name
@@ -1154,8 +1173,8 @@
                 : (g11nWorkingInstance
                     as spark.formatters.CurrencyFormatter).actualLocaleIDName;
         }
-            // Flex binding allows a situation of getting actual locale id name even
-            // before createWorkingInstance() is called.
+            // Flex binding allows a situation of getting actual locale id name
+            // even before createWorkingInstance() is called.
         else
         {
             fallbackLastOperationStatus =
@@ -1427,7 +1446,7 @@
      *  @private
      *  Validate the number string portion after the decimal point.
      *
-     *
 Checks that there are no errors in the number string after the
+     *
Checks that there are no errors in the number string after the
      *  decimal. Example errors could be having a grouping separator or using an
      *  invalid character like non-numeral after the decimal. If
      *  there are any such errors, this method reports "invalidCharError" and
@@ -1505,7 +1524,7 @@
      *  @private
      *  Check if a number has correct number of fraction digits.
      *
-     *
 This method validates if a decimal number has correct number of
+     *
This method validates if a decimal number has correct number of
      *  fraction digits as specified by the fractionalDigits
      *  property. It also checks if a number is supposed to be integer, based
      *  on the domain property. For fraction digits error, it
@@ -1513,7 +1532,7 @@
      *  validator resources bundle. For integer error it reports the
      *  "integerError" message. If there is an error,
      *  this method returns false. Otherwise returns
-     *  true.

+     *  true.

      *
      *  @param      input        Input Number string to be checked.
      *  @param      baseField    The field name of the Object being validated.
@@ -1612,12 +1631,12 @@
      *  @private
      *  Check if a number string contains invalid characters.
      *
-     *
 This method validates if a number string has any characters other
+     *
This method validates if a number string has any characters other
      *  than the caller specified valid characters. Valid characters for numbers
      *  and currency comprise of digits, decimal separator, grouping separator,
      *  negative format characters, currency ISO code, currency symbol and white
      *  space. If any other character is found, then this method returns
-     *  false. Otherwise returns true.

+     *  false. Otherwise returns true.

      *
      *  @param      input     String representation of number to be validated.
      *  @param      len       int specifying the length of input
@@ -1633,6 +1652,8 @@

     // detect if invalid characters are present in input. Caller supplies the
     // valid characters.
+    // TODO: The code to check for valid surrogates is repeated in many methods.
+    // See if this can be optimized.
     mx_internal function validateInputCharacters(input:String,
                                                  len:int,
                                                  validChars:String):Boolean
@@ -1665,10 +1686,10 @@
      *  @private
      *  Check if input number string has any format or negative symbol errors.
      *
-     *
 This method validates if an input number string has right format
+     *
This method validates if an input number string has right format
      *  and does not have multiple negative symbols.
      *  If there is an error, this method returns false. Otherwise
-     *  returns true.

+     *  returns true.

      *
      *  @param      input        Input Number string to be checked.
      *  @param      baseField    The field name of the Object being validated.
@@ -1742,10 +1763,10 @@
      *  Check if input number can be negative depending on allowNegative
      *  property.
      *
-     *
 Checks if input number can be negative based on the
+     *
Checks if input number can be negative based on the
      *  allowNegative property. If allowNegative is
      *  false and number is negative, this method reports "negativeError" and
-     *  returns false. Otherwise, returns true.

+     *  returns false. Otherwise, returns true.

      *
      *  @param      inputNum     Input Number string to be checked.
      *  @param      baseField    The field name of the Object being validated.
@@ -1779,7 +1800,7 @@
      *  @private
      *  Check if a number is in a range specified by the user.
      *
-     *
 This method validates if a number is in the range specified by the
+     *
This method validates if a number is in the range specified by the
      *  user. The minValue and maxValue properties define the range. If the
      *  number is not in the range, then this method reports either
      *  "lowerThanMinError" or "exceedsMaxError". If there is a range error,


minor trace message change

minor trace message change

--- flexEditor/src/org/arisgames/editor/services/AppServices.as
+++ flexEditor/src/org/arisgames/editor/services/AppServices.as
@@ -136,7 +136,7 @@
         }
         else
         {
-            trace("This NPC has an Id (" + npc.npcId + "), so call update NPC.  BTW, the game number is = '" + gid + "'; name = '" + npc.name + "'");
+            trace("This NPC has an Id (" + npc.npcId + "), so call update NPC. gameid:" + gid + " name:" + npc.name + "greeting:" + npc.greeting);
             r = AppDAO.getInstance().getNPCServer().updateNpc(gid, npc.npcId, npc.name, npc.description, npc.greeting, npc.mediaId, npc.iconMediaId);
         }
         r.addResponder(resp);


Fix for older version of AIR (including Linux)

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -1774,7 +1774,8 @@
         init.type = _type;
         init.systemChrome = _systemChrome;
         init.transparent = _transparent;
-        init.renderMode = _renderMode;
+		if (init.hasOwnProperty("renderMode"))
+       		init["renderMode"] = _renderMode;
         return init;
     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -31,7 +31,6 @@
 import mx.controls.FlexNativeMenu;
 import mx.core.ContainerCreationPolicy;
 import mx.core.FlexGlobals;
-import mx.core.FlexVersion;
 import mx.core.IVisualElement;
 import mx.core.IWindow;
 import mx.core.mx_internal;
@@ -1932,22 +1931,6 @@
         }
     }

-    /**
-     *  @private
-     *  Applications set estimated sizes for their children
-     */
-    override public function setActualSize(w:Number, h:Number):void
-    {
-        if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
-        {
-            setEstimatedSize(w, h, false);
-            invalidateEstimatedSizesOfChildren();
-            validateEstimatedSizesOfChildren();
-        }
-
-        super.setActualSize(w, h);
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Overridden methods: SkinnableContainer


Transferred from the Adobe Open Source Subversion Repository

Revision: 5190
Author:   hmuller@adobe.com
Date:     2009-03-06T14:55:28.277220Z

Log Message:
-----------
Initial support for mirroring: added mirror and dir properties to IVisualElement, mirroring logic to UIComponent, GraphicElement, UIMovieClip.  Mirroring in mx.core.SpriteVisualElement is just a stub.  Support for the mirror bit and the mirror transform is in mx.core.AdvancedLayoutFeatures.

QE Notes: Mustella tests pass
Doc Notes: None
Bugs:
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.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/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/IVisualElement.as
+++ frameworks/projects/framework/src/mx/core/IVisualElement.as
@@ -138,6 +138,38 @@
      *  @private
      */
     function set visible(value:Boolean):void;
+
+    /**
+     *  Specifies the desired layout direction, one of "ltr" (left to right), "rtl"
+     *  (right to left) or null.
+     *
+     *  If this element has no ancestor with a non-null dir, if the dir is "rtl"
+     *  the mirror property will be set true.
+     *
+     *  If this element's dir doesn't match its nearest ancestor's non-null dir
+     *  property, the the mirror property will be set to true.
+     *
+     *  @default null
+     */
+    function get dir():String;
+    function set dir(value:String):void;
+
+
+    /**
+     *  If true, the X axis is scaled by -1 and the x coordinate of the origin
+     *  is translated by the element's width.
+     *
+     *  The net effect of this "mirror" transform is to reverse the direction
+     *  that the X axis increases without changing the element's
+     *  location relative to the parent's origin.
+     *
+     *  This property is set by the implementation of the dir property, it is
+     *  not intended to be set directly.
+     *
+     *  @default false
+     */
+    function get mirror():Boolean;
+    function set mirror(value:Boolean):void;

 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11649
Author:   smgilson@adobe.com
Date:     2009-11-11T13:53:47.962161Z

Log Message:
-----------
Fix default value in ASDoc comment

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateBase.as

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

--- frameworks/projects/framework/src/mx/formatters/DateBase.as
+++ frameworks/projects/framework/src/mx/formatters/DateBase.as
@@ -41,567 +41,567 @@
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Class variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private static var initialized:Boolean = false;
-
-	/**
-	 *  @private
-	 *  Storage for the resourceManager getter.
-	 *  This gets initialized on first access,
-	 *  not at static initialization time, in order to ensure
-	 *  that the Singleton registry has already been initialized.
-	 */
-	private static var _resourceManager:IResourceManager;
-
-	/**
-	 *  @private
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var initialized:Boolean = false;
+
+    /**
+     *  @private
+     *  Storage for the resourceManager getter.
+     *  This gets initialized on first access,
+     *  not at static initialization time, in order to ensure
+     *  that the Singleton registry has already been initialized.
+     */
+    private static var _resourceManager:IResourceManager;
+
+    /**
+     *  @private
      *  A reference to the object which manages
      *  all of the application's localized resources.
      *  This is a singleton instance which implements
      *  the IResourceManager interface.
-	 */
-	private static function get resourceManager():IResourceManager
-	{
-		if (!_resourceManager)
-			_resourceManager = ResourceManager.getInstance();
-
-		return _resourceManager;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  dayNamesLong
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the dayNamesLong property.
-	 */
-	private static var _dayNamesLong:Array; /* of String */
-
-    /**
-	 *  @private
-	 */
-	private static var dayNamesLongOverride:Array; /* of String */
-
-	/**
-	 *  Long format of day names.
-	 *
-	 *  @default [Sunday", "Monday", "Tuesday", "Wednesday",
-	 *  "Thursday", "Friday", "Saturday"]
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get dayNamesLong():Array /* of String */
-	{
-		initialize();
-
-		return _dayNamesLong;
-	}
-
-	/**
-	 *  @private
-	 */
-	public static function set dayNamesLong(value:Array /* of String*/):void
-	{
-		dayNamesLongOverride = value;
-
-		_dayNamesLong = value != null ?
-						value :
-						resourceManager.getStringArray(
-						    "SharedResources", "dayNames");
-	}
-
-	//----------------------------------
-	//  dayNamesShort
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the dayNamesShort property.
-	 */
-	private static var _dayNamesShort:Array; /* of String */
-
-    /**
-	 *  @private
-	 */
-	private static var dayNamesShortOverride:Array; /* of String */
-
-	/**
-	 *  Short format of day names.
-	 *
-	 *  @default ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get dayNamesShort():Array /* of String */
-	{
-		initialize();
-
-		return _dayNamesShort;
-	}
-
-	/**
-	 *  @private
-	 */
-	public static function set dayNamesShort(value:Array /* of String*/):void
-	{
-		dayNamesShortOverride = value;
-
-		_dayNamesShort = value != null ?
-						 value :
-						 resourceManager.getStringArray(
-						     "formatters", "dayNamesShort");
-	}
-
-	//----------------------------------
-	//  defaultStringKey
-	//----------------------------------
-
-	/**
-	 *  @private
-	 */
-	mx_internal static function get defaultStringKey():Array /* of String */
-	{
-		initialize();
-
-		return monthNamesLong.concat(timeOfDay);
-	}
-
-	//----------------------------------
-	//  monthNamesLong
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the monthNamesLong property.
-	 */
-	private static var _monthNamesLong:Array; /* of String */
-
-    /**
-	 *  @private
-	 */
-	private static var monthNamesLongOverride:Array; /* of String */
-
-	/**
-	 *  Long format of month names.
-	 *
-	 *  @default ["January", "February", "March", "April", "May", "June",
-	 *  "July", "August", "September", "October", "November", "December"].
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get monthNamesLong():Array /* of String */
-	{
-		initialize();
-
-		return _monthNamesLong;
-	}
-
-	/**
-	 *  @private
-	 */
-	public static function set monthNamesLong(value:Array /* of String*/):void
-	{
-		monthNamesLongOverride = value;
-
-		_monthNamesLong = value != null ?
-						  value :
-						  resourceManager.getStringArray(
-						      "SharedResources", "monthNames");
-
-		if (value == null)
-		{
-			// Currently there is no way to get a null
-			// string from resourceBundles using getString
-			// Hence monthSymbol is a space in English, but
-			// we actually want it to be a null string.
-			var monthSymbol:String = resourceManager.getString(
-				"SharedResources", "monthSymbol");
-			if (monthSymbol != " ")
-			{
-				// _monthNamesLong will be null if there are no resources.
-				var n:int = _monthNamesLong ? _monthNamesLong.length : 0;
-				for (var i:int = 0; i < n; i++)
-				{
-					_monthNamesLong[i] += monthSymbol;
-				}
-			}
-		}
-	}
-
-	//----------------------------------
-	//  monthNamesShort
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the monthNamesShort property.
-	 */
-	private static var _monthNamesShort:Array; /* of String */
-
-    /**
-	 *  @private
-	 */
-	private static var monthNamesShortOverride:Array; /* of String */
-
-	/**
-	 *  Short format of month names.
-	 *
-	 *  @default ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
-	 *  "Jul", "Aug", "Sep", "Oct","Nov", "Dec"]
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get monthNamesShort():Array /* of String */
-	{
-		initialize();
-
-		return _monthNamesShort;
-	}
-
-	/**
-	 *  @private
-	 */
-	public static function set monthNamesShort(value:Array /* of String*/):void
-	{
-		monthNamesShortOverride = value;
-
-		_monthNamesShort = value != null ?
-						   value :
-						   resourceManager.getStringArray(
-						       "formatters", "monthNamesShort");
-		if (value == null)
-		{
-			// Currently there is no way to get a null
-			// string from resourceBundles using getString
-			// Hence monthSymbol is a space in English, but
-			// we actually want it to be a null string.
-			var monthSymbol:String = resourceManager.getString(
-				"SharedResources", "monthSymbol");
-			if (monthSymbol != " ")
-			{
-				// _monthNamesShort will be null if there are no resources.
-				var n:int = _monthNamesShort ? _monthNamesShort.length : 0;
-				for (var i:int = 0; i < n; i++)
-				{
-					_monthNamesShort[i] += monthSymbol;
-				}
-			}
-		}
-	}
-
-	//----------------------------------
-	//  timeOfDay
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the timeOfDay property.
-	 */
-	private static var _timeOfDay:Array; /* of String */
-
-    /**
-	 *  @private
-	 */
-	private static var timeOfDayOverride:Array; /* of String */
-
-	/**
-	 *  Time of day names.
-	 *
-	 *  @default ["AM", "PM"]
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get timeOfDay():Array /* of String */
-	{
-		initialize();
-
-		return _timeOfDay;
-	}
-
-    /**
-	 *  @private
-     */
-	public static function set timeOfDay(value:Array /* of String */):void
-	{
-		timeOfDayOverride = value;
-
-		var am:String = resourceManager.getString("formatters", "am");
-		var pm:String = resourceManager.getString("formatters", "pm");
-
-		_timeOfDay = value != null ? value : [ am, pm ];
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private
-     */
-	private static function initialize():void
-	{
-		if (!initialized)
-		{
-			// Register as a weak listener for "change" events
-			// from ResourceManager.
-			resourceManager.addEventListener(
-				Event.CHANGE, static_resourceManager_changeHandler,
-				false, 0, true);
-
-			static_resourcesChanged();
-
-			initialized = true;
-		}
-	}
-
-    /**
-	 *  @private
-     */
-	private static function static_resourcesChanged():void
-	{
-		dayNamesLong = dayNamesLongOverride;
-		dayNamesShort = dayNamesShortOverride;
-		monthNamesLong = monthNamesLongOverride;
-		monthNamesShort = monthNamesShortOverride;
-		timeOfDay = timeOfDayOverride;
-	}
-
-	/**
-	 *  @private
-	 *  Parses token objects and renders the elements of the formatted String.
-	 *  For details about token objects, see StringFormatter.
-	 *
-	 *  @param date Date object.
-	 *
-	 *  @param tokenInfo Array object that contains token object descriptions.
-	 *
-	 *  @return Formatted string.
-	 */
-	mx_internal static function extractTokenDate(date:Date,
-											tokenInfo:Object):String
-	{
-		initialize();
-
-		var result:String = "";
-
-		var key:int = int(tokenInfo.end) - int(tokenInfo.begin);
-
-		var day:int;
-		var hours:int;
-
-		switch (tokenInfo.token)
-		{
-			case "Y":
-			{
-				// year
-				var year:String = date.getFullYear().toString();
-				if (key < 3)
-					return year.substr(2);
-				else if (key > 4)
-					return setValue(Number(year), key);
-				else
-					return year;
-			}
-
-			case "M":
-			{
-				// month in year
-				var month:int = int(date.getMonth());
-				if (key < 3)
-				{
-					month++; // zero based
-					result += setValue(month, key);
-					return result;
-				}
-				else if (key == 3)
-				{
-					return monthNamesShort[month];
-				}
-				else
-				{
-					return monthNamesLong[month];
-				}
-			}
-
-			case "D":
-			{
-				// day in month
-				day = int(date.getDate());
-				result += setValue(day, key);
-				return result;
-			}
-
-			case "E":
-			{
-				// day in the week
-				day = int(date.getDay());
-				if (key < 3)
-				{
-					result += setValue(day, key);
-					return result;
-				}
-				else if (key == 3)
-				{
-					return dayNamesShort[day];
-				}
-				else
-				{
-					return dayNamesLong[day];
-				}
-			}
-
-			case "A":
-			{
-				// am/pm marker
-				hours = int(date.getHours());
-				if (hours < 12)
-					return timeOfDay[0];
-				else
-					return timeOfDay[1];
-			}
-
-			case "H":
-			{
-				// hour in day (1-24)
-				hours = int(date.getHours());
-				if (hours == 0)
-					hours = 24;
-				result += setValue(hours, key);
-				return result;
-			}
-
-			case "J":
-			{
-				// hour in day (0-23)
-				hours = int(date.getHours());
-				result += setValue(hours, key);
-				return result;
-			}
-
-			case "K":
-			{
-				// hour in am/pm (0-11)
-				hours = int(date.getHours());
-				if (hours >= 12)
-					hours = hours - 12;
-				result += setValue(hours, key);
-				return result;
-			}
-
-			case "L":
-			{
-				// hour in am/pm (1-12)
-				hours = int(date.getHours());
-				if (hours == 0)
-					hours = 12;
-				else if (hours > 12)
-					hours = hours - 12;
-				result += setValue(hours, key);
-				return result;
-			}
-
-			case "N":
-			{
-				// minutes in hour
-				var mins:int = int(date.getMinutes());
-				result += setValue(mins, key);
-				return result;
-			}
-
-			case "S":
-			{
-				// seconds in minute
-				var sec:int = int(date.getSeconds());
-				result += setValue(sec, key);
-				return result;
-			}
-
-			case "Q":
-			{
-				// milliseconds in second
-				var ms:int = int(date.getMilliseconds());
-				result += setValue(ms, key);
-				return result;
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 *  @private
-	 *  Makes a given length of digits longer by padding with zeroes.
-	 *
-	 *  @param value Value to pad.
-	 *
-	 *  @param key Length of the string to pad.
-	 *
-	 *  @return Formatted string.
-	 */
-	private static function setValue(value:Object, key:int):String
-	{
-		var result:String = "";
-
-		var vLen:int = value.toString().length;
-		if (vLen < key)
-		{
-			var n:int = key - vLen;
-			for (var i:int = 0; i < n; i++)
-			{
-				result += "0"
-			}
-		}
-
-		result += value.toString();
-
-		return result;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class event handlers
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private static function static_resourceManager_changeHandler(event:Event):void
-	{
-		static_resourcesChanged();
-	}
+     */
+    private static function get resourceManager():IResourceManager
+    {
+        if (!_resourceManager)
+            _resourceManager = ResourceManager.getInstance();
+
+        return _resourceManager;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  dayNamesLong
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the dayNamesLong property.
+     */
+    private static var _dayNamesLong:Array; /* of String */
+
+    /**
+     *  @private
+     */
+    private static var dayNamesLongOverride:Array; /* of String */
+
+    /**
+     *  Long format of day names.
+     *
+     *  @default ["Sunday", "Monday", "Tuesday", "Wednesday",
+     *  "Thursday", "Friday", "Saturday"]
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static function get dayNamesLong():Array /* of String */
+    {
+        initialize();
+
+        return _dayNamesLong;
+    }
+
+    /**
+     *  @private
+     */
+    public static function set dayNamesLong(value:Array /* of String*/):void
+    {
+        dayNamesLongOverride = value;
+
+        _dayNamesLong = value != null ?
+                        value :
+                        resourceManager.getStringArray(
+                            "SharedResources", "dayNames");
+    }
+
+    //----------------------------------
+    //  dayNamesShort
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the dayNamesShort property.
+     */
+    private static var _dayNamesShort:Array; /* of String */
+
+    /**
+     *  @private
+     */
+    private static var dayNamesShortOverride:Array; /* of String */
+
+    /**
+     *  Short format of day names.
+     *
+     *  @default ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static function get dayNamesShort():Array /* of String */
+    {
+        initialize();
+
+        return _dayNamesShort;
+    }
+
+    /**
+     *  @private
+     */
+    public static function set dayNamesShort(value:Array /* of String*/):void
+    {
+        dayNamesShortOverride = value;
+
+        _dayNamesShort = value != null ?
+                         value :
+                         resourceManager.getStringArray(
+                             "formatters", "dayNamesShort");
+    }
+
+    //----------------------------------
+    //  defaultStringKey
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    mx_internal static function get defaultStringKey():Array /* of String */
+    {
+        initialize();
+
+        return monthNamesLong.concat(timeOfDay);
+    }
+
+    //----------------------------------
+    //  monthNamesLong
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the monthNamesLong property.
+     */
+    private static var _monthNamesLong:Array; /* of String */
+
+    /**
+     *  @private
+     */
+    private static var monthNamesLongOverride:Array; /* of String */
+
+    /**
+     *  Long format of month names.
+     *
+     *  @default ["January", "February", "March", "April", "May", "June",
+     *  "July", "August", "September", "October", "November", "December"].
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static function get monthNamesLong():Array /* of String */
+    {
+        initialize();
+
+        return _monthNamesLong;
+    }
+
+    /**
+     *  @private
+     */
+    public static function set monthNamesLong(value:Array /* of String*/):void
+    {
+        monthNamesLongOverride = value;
+
+        _monthNamesLong = value != null ?
+                          value :
+                          resourceManager.getStringArray(
+                              "SharedResources", "monthNames");
+
+        if (value == null)
+        {
+            // Currently there is no way to get a null
+            // string from resourceBundles using getString
+            // Hence monthSymbol is a space in English, but
+            // we actually want it to be a null string.
+            var monthSymbol:String = resourceManager.getString(
+                "SharedResources", "monthSymbol");
+            if (monthSymbol != " ")
+            {
+                // _monthNamesLong will be null if there are no resources.
+                var n:int = _monthNamesLong ? _monthNamesLong.length : 0;
+                for (var i:int = 0; i < n; i++)
+                {
+                    _monthNamesLong[i] += monthSymbol;
+                }
+            }
+        }
+    }
+
+    //----------------------------------
+    //  monthNamesShort
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the monthNamesShort property.
+     */
+    private static var _monthNamesShort:Array; /* of String */
+
+    /**
+     *  @private
+     */
+    private static var monthNamesShortOverride:Array; /* of String */
+
+    /**
+     *  Short format of month names.
+     *
+     *  @default ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
+     *  "Jul", "Aug", "Sep", "Oct","Nov", "Dec"]
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static function get monthNamesShort():Array /* of String */
+    {
+        initialize();
+
+        return _monthNamesShort;
+    }
+
+    /**
+     *  @private
+     */
+    public static function set monthNamesShort(value:Array /* of String*/):void
+    {
+        monthNamesShortOverride = value;
+
+        _monthNamesShort = value != null ?
+                           value :
+                           resourceManager.getStringArray(
+                               "formatters", "monthNamesShort");
+        if (value == null)
+        {
+            // Currently there is no way to get a null
+            // string from resourceBundles using getString
+            // Hence monthSymbol is a space in English, but
+            // we actually want it to be a null string.
+            var monthSymbol:String = resourceManager.getString(
+                "SharedResources", "monthSymbol");
+            if (monthSymbol != " ")
+            {
+                // _monthNamesShort will be null if there are no resources.
+                var n:int = _monthNamesShort ? _monthNamesShort.length : 0;
+                for (var i:int = 0; i < n; i++)
+                {
+                    _monthNamesShort[i] += monthSymbol;
+                }
+            }
+        }
+    }
+
+    //----------------------------------
+    //  timeOfDay
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the timeOfDay property.
+     */
+    private static var _timeOfDay:Array; /* of String */
+
+    /**
+     *  @private
+     */
+    private static var timeOfDayOverride:Array; /* of String */
+
+    /**
+     *  Time of day names.
+     *
+     *  @default ["AM", "PM"]
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static function get timeOfDay():Array /* of String */
+    {
+        initialize();
+
+        return _timeOfDay;
+    }
+
+    /**
+     *  @private
+     */
+    public static function set timeOfDay(value:Array /* of String */):void
+    {
+        timeOfDayOverride = value;
+
+        var am:String = resourceManager.getString("formatters", "am");
+        var pm:String = resourceManager.getString("formatters", "pm");
+
+        _timeOfDay = value != null ? value : [ am, pm ];
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static function initialize():void
+    {
+        if (!initialized)
+        {
+            // Register as a weak listener for "change" events
+            // from ResourceManager.
+            resourceManager.addEventListener(
+                Event.CHANGE, static_resourceManager_changeHandler,
+                false, 0, true);
+
+            static_resourcesChanged();
+
+            initialized = true;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    private static function static_resourcesChanged():void
+    {
+        dayNamesLong = dayNamesLongOverride;
+        dayNamesShort = dayNamesShortOverride;
+        monthNamesLong = monthNamesLongOverride;
+        monthNamesShort = monthNamesShortOverride;
+        timeOfDay = timeOfDayOverride;
+    }
+
+    /**
+     *  @private
+     *  Parses token objects and renders the elements of the formatted String.
+     *  For details about token objects, see StringFormatter.
+     *
+     *  @param date Date object.
+     *
+     *  @param tokenInfo Array object that contains token object descriptions.
+     *
+     *  @return Formatted string.
+     */
+    mx_internal static function extractTokenDate(date:Date,
+                                            tokenInfo:Object):String
+    {
+        initialize();
+
+        var result:String = "";
+
+        var key:int = int(tokenInfo.end) - int(tokenInfo.begin);
+
+        var day:int;
+        var hours:int;
+
+        switch (tokenInfo.token)
+        {
+            case "Y":
+            {
+                // year
+                var year:String = date.getFullYear().toString();
+                if (key < 3)
+                    return year.substr(2);
+                else if (key > 4)
+                    return setValue(Number(year), key);
+                else
+                    return year;
+            }
+
+            case "M":
+            {
+                // month in year
+                var month:int = int(date.getMonth());
+                if (key < 3)
+                {
+                    month++; // zero based
+                    result += setValue(month, key);
+                    return result;
+                }
+                else if (key == 3)
+                {
+                    return monthNamesShort[month];
+                }
+                else
+                {
+                    return monthNamesLong[month];
+                }
+            }
+
+            case "D":
+            {
+                // day in month
+                day = int(date.getDate());
+                result += setValue(day, key);
+                return result;
+            }
+
+            case "E":
+            {
+                // day in the week
+                day = int(date.getDay());
+                if (key < 3)
+                {
+                    result += setValue(day, key);
+                    return result;
+                }
+                else if (key == 3)
+                {
+                    return dayNamesShort[day];
+                }
+                else
+                {
+                    return dayNamesLong[day];
+                }
+            }
+
+            case "A":
+            {
+                // am/pm marker
+                hours = int(date.getHours());
+                if (hours < 12)
+                    return timeOfDay[0];
+                else
+                    return timeOfDay[1];
+            }
+
+            case "H":
+            {
+                // hour in day (1-24)
+                hours = int(date.getHours());
+                if (hours == 0)
+                    hours = 24;
+                result += setValue(hours, key);
+                return result;
+            }
+
+            case "J":
+            {
+                // hour in day (0-23)
+                hours = int(date.getHours());
+                result += setValue(hours, key);
+                return result;
+            }
+
+            case "K":
+            {
+                // hour in am/pm (0-11)
+                hours = int(date.getHours());
+                if (hours >= 12)
+                    hours = hours - 12;
+                result += setValue(hours, key);
+                return result;
+            }
+
+            case "L":
+            {
+                // hour in am/pm (1-12)
+                hours = int(date.getHours());
+                if (hours == 0)
+                    hours = 12;
+                else if (hours > 12)
+                    hours = hours - 12;
+                result += setValue(hours, key);
+                return result;
+            }
+
+            case "N":
+            {
+                // minutes in hour
+                var mins:int = int(date.getMinutes());
+                result += setValue(mins, key);
+                return result;
+            }
+
+            case "S":
+            {
+                // seconds in minute
+                var sec:int = int(date.getSeconds());
+                result += setValue(sec, key);
+                return result;
+            }
+
+            case "Q":
+            {
+                // milliseconds in second
+                var ms:int = int(date.getMilliseconds());
+                result += setValue(ms, key);
+                return result;
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     *  @private
+     *  Makes a given length of digits longer by padding with zeroes.
+     *
+     *  @param value Value to pad.
+     *
+     *  @param key Length of the string to pad.
+     *
+     *  @return Formatted string.
+     */
+    private static function setValue(value:Object, key:int):String
+    {
+        var result:String = "";
+
+        var vLen:int = value.toString().length;
+        if (vLen < key)
+        {
+            var n:int = key - vLen;
+            for (var i:int = 0; i < n; i++)
+            {
+                result += "0"
+            }
+        }
+
+        result += value.toString();
+
+        return result;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static function static_resourceManager_changeHandler(event:Event):void
+    {
+        static_resourcesChanged();
+    }
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 13378
Author:   jimurphy@adobe.com
Date:     2010-01-08T17:35:29.541557Z

Log Message:
-----------
merge 3.x revs 13285,13345,13349,13374

QE notes:
Doc notes:
Bugs: SDK-24847,sdk-24796,SDK-24775
Reviewer:
Tests run: checkintests - (although it failed while looking at Ryans mug (I can't say that I blame Mustella) but the next time around was fine)
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as
+++ frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as
@@ -23,6 +23,7 @@
 import mx.resources.ResourceManager;
 import mx.rpc.AbstractService;
 import mx.rpc.events.FaultEvent;
+import mx.rpc.mxml.Concurrency;
 import mx.utils.URLUtil;

 use namespace mx_internal;
@@ -141,6 +142,8 @@
         _log = Log.getLogger("mx.rpc.http.HTTPMultiService");

         this.baseURL = baseURL;
+
+        concurrency = Concurrency.MULTIPLE;
     }

     //--------------------------------------------------------------------------
@@ -165,6 +168,16 @@
      *  @private
      */
     private var resourceManager:IResourceManager = ResourceManager.getInstance();
+
+    /**
+     *  @private
+     */
+    private var _showBusyCursor:Boolean = false;
+
+    /**
+     *  @private
+     */
+    private var _concurrency:String;

     //--------------------------------------------------------------------------
     //
@@ -182,13 +195,45 @@
      *  The default is application/x-www-form-urlencoded which sends requests
      *  like a normal HTTP POST with name-value pairs. application/xml send
      *  requests as XML.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     public var contentType:String = AbstractOperation.CONTENT_TYPE_FORM;
+
+    //----------------------------------
+    //  concurrency
+    //----------------------------------
+
+    [Inspectable(enumeration="multiple,single,last", defaultValue="multiple", category="General")]
+    /**
+     * Value that indicates how to handle multiple calls to the same operation within the service.
+     * The concurrency setting set here will be used for operations that do not specify concurrecny.
+     * Individual operations that have the concurrency setting set directly will ignore the value set here.
+     * The default value is multiple. The following values are permitted:
+     *

+     *
multiple Existing requests are not cancelled, and the developer is
+     * responsible for ensuring the consistency of returned data by carefully
+     * managing the event stream. This is the default value.

+     *
single Only a single request at a time is allowed on the operation;
+     * multiple requests generate a fault.

+     *
last Making a request cancels any existing request.

+     *

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get concurrency():String
+    {
+        return _concurrency;
+    }
+    public function set concurrency(c:String):void
+    {
+        _concurrency = c;
+    }
+
+    //----------------------------------
+    //  showBusyCursor
+    //----------------------------------

     [Inspectable(defaultValue="false", category="General")]
     /**
@@ -200,7 +245,15 @@
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
-    public var showBusyCursor:Boolean = false;
+    public function get showBusyCursor():Boolean
+    {
+        return _showBusyCursor;
+    }
+
+    public function set showBusyCursor(sbc:Boolean):void
+    {
+        _showBusyCursor = sbc;
+    }

     //----------------------------------
     //  headers


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.filters {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2011 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package spark.skins.mobile.supportClasses
 {


now using ^$ in numberRegex for guessDataType()

--- WeaveData/src/weave/utils/DataSourceUtils.as
+++ WeaveData/src/weave/utils/DataSourceUtils.as
@@ -26,10 +26,9 @@
 	import weave.data.AttributeColumns.StringColumn;
 	import weave.data.QKeyManager;

-
 	public class DataSourceUtils
 	{
-		private static const numberRegex:RegExp = /(0|0?\\.[0-9]+|[1-9][0-9]*(\\.[0-9]+)?)([eE][-+]?[0-9]+)?/;
+		private static const numberRegex:RegExp = /^(0|0?\\.[0-9]+|[1-9][0-9]*(\\.[0-9]+)?)([eE][-+]?[0-9]+)?$/;

 		public static function guessDataType(data:Array):String
 		{


compiles again in IntelliJ

compiles again in IntelliJ

--- crossUserMicrophone/src/main/flex/Main.as
+++ crossUserMicrophone/src/main/flex/Main.as
@@ -37,6 +37,7 @@
         /*
         Works for flexmojo, but not IntelliJ
         */
+        /*
         [Embed( source = "../resources/SourceSansPro-Regular.otf",
                 mimeType = "application/x-font-opentype",
                 fontFamily = "recorderFont",
@@ -44,6 +45,7 @@
                 fontStyle = "Regular",
                 embedAsCFF = "true")]
         private var recorderFontOTFEmbed:Class;
+        */

         public function Main() {
             Console.log("Flash Microphone build timestamp:" + BUILD::timestamp);


fixed error in import statement

fixed error in import statement

Change-Id: I9db183865932a297a82ec94aef474975b562b675

--- WeaveClient/src/weave/VisApplication.as
+++ WeaveClient/src/weave/VisApplication.as
@@ -98,7 +98,7 @@
 	import weave.ui.ProbeToolTipEditor;
 	import weave.ui.RTextEditor;
 	import weave.ui.SelectionManager;
-	import weave.ui.SessionHistorySlider;
+	import weave.editors.SessionHistorySlider;
 	import weave.ui.SessionStateEditor;
 	import weave.ui.SubsetManager;
 	import weave.ui.WizardPanel;


removed unnecessary sorting of spatial query result.

Change-Id: Id65bf1c4ce33be2f497d97201ecbd9382d190dbb

--- WeaveUI/src/weave/utils/SpatialIndex.as
+++ WeaveUI/src/weave/utils/SpatialIndex.as
@@ -308,7 +308,8 @@
 			maxKDKey[XMIN_INDEX] = bounds.getXNumericMax(); // enforce result.XMIN <= query.xNumericMax
 			maxKDKey[YMIN_INDEX] = bounds.getYNumericMax(); // enforce result.YMIN <= query.yNumericMax

-			return _kdTree.queryRange(minKDKey, maxKDKey, true, IMPORTANCE_INDEX, KDTree.DESCENDING);
+			//return _kdTree.queryRange(minKDKey, maxKDKey, true, IMPORTANCE_INDEX, KDTree.DESCENDING);
+			return _kdTree.queryRange(minKDKey, maxKDKey);
 		}

 		/**


added backwards compatibility for javascript api setting idFields override

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -84,7 +84,27 @@
 		/**
 		 * This is an Array of public metadata field names that should be used to uniquely identify columns when querying the server.
 		 */
-		private const idFields:LinkableVariable = registerLinkableChild(this, new LinkableVariable(Array, verifyStringArray));
+		private const _idFields:LinkableVariable = registerLinkableChild(this, new LinkableVariable(Array, verifyStringArray));
+
+		// for backwards compatibility to override server idFields setting
+		private var _overrideIdFields:LinkableVariable;
+
+		/**
+		 * Provided for backwards compatibility - setting this will override the server setting.
+		 */
+		[Deprecated] public function get idFields():LinkableVariable
+		{
+			if (!_overrideIdFields)
+				_overrideIdFields = registerLinkableChild(_idFields, new LinkableVariable(Array, verifyStringArray), handleDeprecatedIdFields);
+			return _overrideIdFields;
+		}
+		private function handleDeprecatedIdFields():void
+		{
+			// if session state is set to some array, use it as an override for the server setting. otherwise, ignore it.
+			var state:Array = _overrideIdFields.getSessionState() as Array;
+			if (state)
+				_idFields.setSessionState(state);
+		}

 		public function get entityCache():EntityCache
 		{
@@ -221,8 +241,11 @@

 		private function setIdFields():void
 		{
+			// if deprecated idFields state has been set to an array, ignore server setting
+			if (_overrideIdFields && _overrideIdFields.getSessionState())
+				return;
 			var info:Object = _service.getServerInfo();
-			idFields.setSessionState(info ? info['idFields'] as Array : null);
+			_idFields.setSessionState(info ? info['idFields'] as Array : null);
 		}

 		/**
@@ -464,11 +487,11 @@
 			const SQLPARAMS:String = 'sqlParams';
 			var params:Object = getMetadata(proxyColumn, [ENTITY_ID, ColumnMetadata.MIN, ColumnMetadata.MAX, SQLPARAMS], false);
 			var query:AsyncToken;
-			var _idFields:Array = idFields.getSessionState() as Array;
-
-			if (_idFields || params[ENTITY_ID])
-			{
-				var id:Object = _idFields ? getMetadata(proxyColumn, _idFields, true) : StandardLib.asNumber(params[ENTITY_ID]);
+			var idFieldsArray:Array = _idFields.getSessionState() as Array;
+
+			if (idFieldsArray || params[ENTITY_ID])
+			{
+				var id:Object = idFieldsArray ? getMetadata(proxyColumn, idFieldsArray, true) : StandardLib.asNumber(params[ENTITY_ID]);
 				var sqlParams:Array = WeaveAPI.CSVParser.parseCSVRow(params[SQLPARAMS]);
 				query = _service.getColumn(id, params[ColumnMetadata.MIN], params[ColumnMetadata.MAX], sqlParams);
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11994
Author:   doug.lee@ssbbartgroup.com
Date:     2009-11-19T18:44:21.248180Z

Log Message:
-----------
Added STATE_SYSTEM_HASPOPUP constant, defined as of MSAA 2.0, so the
MenuBar AccImpl can use it. Also reflected the new bit in the value of
STATE_SYSTEM_VALID.

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

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

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

--- frameworks/projects/framework/src/mx/accessibility/AccConst.as
+++ frameworks/projects/framework/src/mx/accessibility/AccConst.as
@@ -746,9 +746,15 @@
 	public static const STATE_SYSTEM_PROTECTED:uint = 0x20000000;

 	/**
+	 *  An MSAA state flag indicating that the object
+	 *  has a pop-up menu (MSAA 2.0).
+	 */
+	public static const STATE_SYSTEM_HASPOPUP:uint = 0x40000000;
+
+	/**
 	 *  A bitmask representing all valid MSAA state flags.
 	 */
-	public static const STATE_SYSTEM_VALID:uint = 0x3fffffff;
+	public static const STATE_SYSTEM_VALID:uint = 0x7fffffff;

 	//--------------------------------------
 	//  MSAA system events


Transferred from the Adobe Open Source Subversion Repository

Revision: 47
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-20T00:50:23.145712Z

Log Message:
-----------
Perforce Change 191577 by jszeto@JSZETO-XP on 2007/12/19 19:49:08 Flex SDK Bug Fix SDK-13983 - Flex B3 DragManager Changed SystemManager.docFrameHandler from private to mx_internal. This will allow developers to subclass SystemManager and register the DragManagerImpl instead of the NativeDragManagerImpl. Bugs: SDK-13983 QA: No Doc: No

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

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -2258,7 +2258,7 @@
 	 *  When this function is called, we know that the application
 	 *  class has been defined and read in by the Player.
 	 */
-	private function docFrameHandler(event:Event = null):void
+	mx_internal function docFrameHandler(event:Event = null):void
 	{
 		// The ResourceManager has already been registered
 		// by initialize() in frame 1.