Transferred from the Adobe Open Source Subversion Repository

Revision: 19959
Author:   clucier@adobe.com
Date:     2011-01-26T19:33:26.722300Z

Log Message:
-----------
ZoomViewTransition no longer zooms in/out the live views, as this was causing major jittering with device text.  We now transition only bitmap snapshots.

QE notes: None
Doc notes: None
Bugs: SDK-29265
Reviewer: Chiedo
Tests run: Transition Sampler, Manual cyclone
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -13,7 +13,6 @@
 {

 import flash.display.BlendMode;
-import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
 import flash.events.Event;

@@ -24,11 +23,8 @@
 import mx.effects.Parallel;

 import spark.components.Group;
-import spark.effects.Animate;
 import spark.effects.Scale;
-import spark.effects.animation.MotionPath;
-import spark.effects.animation.SimpleMotionPath;
-
+import spark.primitives.BitmapImage;

 use namespace mx_internal;

@@ -87,14 +83,14 @@
      *  Property bag used to save any start view properties that
      *  are then restored after the transition is complete.
      */
-    private var startViewProps:Object = {};
+    private var startViewProps:Object;

     /**
      *  @private
      *  Property bag used to save any end view properties that
      *  are then restored after the transition is complete.
      */
-    private var endViewProps:Object = {};
+    private var endViewProps:Object;

     /**
      *  @private
@@ -109,19 +105,24 @@
     /**
      *  @private
      */
-    private var zoomTarget:UIComponent;
-
-    /**
-     *  @private
-     */
     private var scaleEffect:Scale;

+    /**
+     *  @private
+     */
+    private var targetShapshot:BitmapImage;
+
+    /**
+     *  @private
+     */
+    private var cachedNavigatorGroup:Group;
+
     //--------------------------------------------------------------------------
     //
     //  Properties
     //
     //--------------------------------------------------------------------------
-
+
     //---------------------------------
     // minimumScale
     //---------------------------------
@@ -214,43 +215,81 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
+    override public function captureEndValues():void
+    {
+        super.captureEndValues();
+
+        // Set targetShapshot to the snapshot that we will be
+        // transitioning in or out.
+        if (consolidatedTransition)
+        {
+            targetShapshot = (mode == ZoomViewTransitionMode.OUT) ?
+                cachedNavigator :
+                getSnapshot(targetNavigator.skin, 0);
+        }
+        else
+        {
+            targetShapshot = (mode == ZoomViewTransitionMode.OUT) ?
+                getSnapshot(startView, 0) :
+                getSnapshot(endView, 0);
+        }
+    }
+
+    /**
+     *  @private
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
     override protected function createViewEffect():IEffect
     {
-        // Disable layout for our start view.
+        // Add a group to contain targetSnapshot.
+        transitionGroup = new Group();
+        transitionGroup.includeInLayout = false;
+        addComponentToContainer(transitionGroup, DisplayObjectContainer(navigator) as UIComponent);
+
+        // Disable layout and visibility of our start view as necessary
         if (startView)
         {
-            startViewProps = {includeInLayout:startView.includeInLayout};
+            startViewProps = {includeInLayout:startView.includeInLayout,
+                visible:startView.visible};
             startView.includeInLayout = false;
-        }
-
-        // Disable layout for our end view, and ensure z-order of the views
-        // is appropriate for our transition mode.
+
+            if (mode == ZoomViewTransitionMode.OUT)
+                startView.visible = false;
+        }
+
+        // Disable layout and visibility of our start end as necessary
         if (endView)
         {
-            endViewProps = {includeInLayout:endView.includeInLayout};
+            endViewProps = {includeInLayout:endView.includeInLayout,
+                visible:endView.visible};
             endView.includeInLayout = false;

-            if (mode == ZoomViewTransitionMode.OUT)
-                setComponentChildIndex(endView, navigator, 0);
-        }
-
-        zoomTarget = (mode == ZoomViewTransitionMode.OUT) ? startView : endView;
-
+            if (mode == ZoomViewTransitionMode.IN)
+                endView.visible = false;
+        }
+
+        if (targetShapshot)
+            transitionGroup.addElement(targetShapshot);
+
+        transitionGroup.validateNow();
+
         // Initialize our target's transform center.
-        zoomTarget.transformX = endView.width / 2;
-        zoomTarget.transformY = endView.height / 2;
+        transitionGroup.transformX = endView.width / 2;
+        transitionGroup.transformY = endView.height / 2;

         // Ensure our alpha is initialized to 0 prior to the start
         // of our transition so that the view isn't displayed briefly
         // after validation.
         if (mode == ZoomViewTransitionMode.IN)
-            zoomTarget.alpha = 0;
+            transitionGroup.alpha = 0;

         // Set our blendMode to 'normal' for performance reasons.
-        startViewProps.zoomTargetBlendMode = zoomTarget.blendMode;
-        zoomTarget.blendMode = BlendMode.NORMAL;
-
-        return createZoomEffect(zoomTarget);
+        transitionGroup.blendMode = BlendMode.NORMAL;
+
+        return createZoomEffect(transitionGroup);
     }

     /**
@@ -263,52 +302,58 @@
     override protected function createConsolidatedEffect():IEffect
     {
         // If we have no cachedNavigator then there is not much we can do.
-        if (!cachedNavigator)
+        if (!cachedNavigator && mode == ZoomViewTransitionMode.OUT)
             return null;

-        // Add a group to contain our snapshot view of the navigator while
-        // we animate.
-        transitionGroup = new Group();
-        transitionGroup.includeInLayout = false;
-
+        // Add a group to contain our snapshot view of the original navigator.
+        cachedNavigatorGroup = new Group();
+        cachedNavigatorGroup.includeInLayout = false;
+        cachedNavigatorGroup.addElement(cachedNavigator);
+        cachedNavigator.includeInLayout = false;
+
         // Add our temporary transition group to our target navigator's parent
         // so we can make it and the original navigator siblings.
         if (mode == ZoomViewTransitionMode.OUT)
-            addComponentToContainer(transitionGroup, DisplayObjectContainer(targetNavigator).parent as UIComponent);
+        {
+            addComponentToContainer(cachedNavigatorGroup, DisplayObjectContainer(targetNavigator).parent as UIComponent);
+
+            // We'll be zooming out our cachedNavigatorGroup.
+            transitionGroup = cachedNavigatorGroup;
+        }
         else
-            addComponentToContainerAt(transitionGroup, DisplayObjectContainer(targetNavigator).parent as UIComponent,0);
-
-        // Position our snapshot above endView.
-        cachedNavigator.includeInLayout = false;
-        transitionGroup.addElement(cachedNavigator);
-
-        // Ensure that appropriate surfaces are cached and snapshots rendered.
+        {
+            transitionGroup = new Group();
+            transitionGroup.includeInLayout = false;
+            addComponentToContainer(cachedNavigatorGroup, DisplayObjectContainer(targetNavigator).parent as UIComponent);
+
+            // We'll be zooming in our snapshot of the new navigator. Host our
+            // snapshot and make sure it's rendered.
+            cachedNavigatorGroup.addElement(transitionGroup);
+            transitionGroup.addElement(targetShapshot);
+            cachedNavigatorGroup.validateNow();
+
+            // Hide our real navigator.
+            endViewProps = {visible:targetNavigator.skin.visible}
+            targetNavigator.skin.visible = false;
+        }
+
         transitionGroup.validateNow();
         transitionGroup.x = transitionGroup.y = 0;
-
-        zoomTarget = (mode == ZoomViewTransitionMode.OUT) ? transitionGroup : targetNavigator.skin;
-
+
         // Initialize our target's transform center.
-        zoomTarget.transformX = cachedNavigator.getLayoutBoundsWidth(true) / 2;
-        zoomTarget.transformY = cachedNavigator.getLayoutBoundsHeight(true) / 2;
+        transitionGroup.transformX = cachedNavigator.getLayoutBoundsWidth(true) / 2;
+        transitionGroup.transformY = cachedNavigator.getLayoutBoundsHeight(true) / 2;

         // Ensure our alpha is initialized to 0 prior to the start
         // of our transition so that the view isn't displayed briefly
         // after validation.
         if (mode == ZoomViewTransitionMode.IN)
-            zoomTarget.alpha = 0;
-
-        // Save view properties for restoration later.
-        startViewProps = { targetNavigatorIncludeInLayout:targetNavigator.includeInLayout,
-            zoomTargetBlendMode:zoomTarget.blendMode};
-
-        // Disable layout for our target navigator.
-        targetNavigator.includeInLayout = false;
+            transitionGroup.alpha = 0;

         // Set our blendMode to 'normal' for performance reasons.
-        zoomTarget.blendMode = BlendMode.NORMAL;
-
-        return createZoomEffect(zoomTarget);
+        transitionGroup.blendMode = BlendMode.NORMAL;
+
+        return createZoomEffect(transitionGroup);
     }

     /**
@@ -323,28 +368,34 @@
         if (!consolidatedTransition)
         {
             if (startView)
+            {
                 startView.includeInLayout = startViewProps.includeInLayout;
-
+                startView.visible = startViewProps.visible;
+            }
+
             if (endView)
+            {
                 endView.includeInLayout = endViewProps.includeInLayout;
+                endView.visible = endViewProps.visible;;
+            }
+
+            if (transitionGroup)
+                removeComponentFromContainer(transitionGroup, UIComponent(DisplayObjectContainer(navigator)));
         }
         else
         {
-            if (transitionGroup)
-                removeComponentFromContainer(transitionGroup, UIComponent(DisplayObjectContainer(targetNavigator).parent));
-
-            targetNavigator.includeInLayout = startViewProps.targetNavigatorIncludeInLayout;
-        }
-
-        if (zoomTarget)
-        {
-            zoomTarget.transformX = 0;
-            zoomTarget.transformY = 0;
-            zoomTarget.blendMode = startViewProps.zoomTargetBlendMode;
-        }
-
+            if (cachedNavigatorGroup)
+                removeComponentFromContainer(cachedNavigatorGroup, UIComponent(DisplayObjectContainer(targetNavigator).parent));
+
+            if (endViewProps)
+                targetNavigator.skin.visible = endViewProps.visible;
+        }
+
         transitionGroup = null;
         cachedNavigator = null;
+        cachedNavigatorGroup = null;
+        endViewProps = null;
+        startViewProps = null;

         scaleEffect.removeEventListener("effectUpdate", scaleEffectUpdateHandler);
         scaleEffect = null;
@@ -369,7 +420,7 @@
         // depending on the transition mode (in/out).
         var parallel:Parallel = new Parallel;
         parallel.target = zoomTarget;
-
+
         // Create fade effect to gradually fade our zoom target, we don't fade for the
         // duration of the effect as this degrades overall transition performance, we
         // simply fade near the point of first appearance or disappearance.
@@ -380,7 +431,7 @@
             fadeEffect.startDelay = duration * .4;
         fadeEffect.alphaTo = (mode == ZoomViewTransitionMode.OUT) ? 0 : 1;
         fadeEffect.alphaFrom = (mode == ZoomViewTransitionMode.OUT) ? 1 : 0;
-
+
         // Create scale effect to zoom in/our our target from or to our
         // specified minimum scale.
         scaleEffect = new Scale();
@@ -397,14 +448,14 @@

         return parallel;
     }
-
+
     /**
      *  @private
      *  Ensures transform matrix is updated even if layout is disabled.
      */
     private function scaleEffectUpdateHandler(e:Event):void
     {
-        zoomTarget.validateDisplayList();
+        transitionGroup.validateDisplayList();
     }

 }


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

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

 package spark.globalization.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19605
Author:   smgilson@adobe.com
Date:     2011-01-05T20:16:07.453639Z

Log Message:
-----------
Fix incorrect ASDoc comment

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
@@ -68,7 +68,7 @@
  *

  *

  *           Default skin class
- *           spark.skins.mobile.ViewNavigatorApplicationSkin
+ *           spark.skins.mobile.TabbedViewNavigatorApplicationSkin
  *

  *

  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 3756
Author:   gruehle@adobe.com
Date:     2008-10-20T21:38:18.681299Z

Log Message:
-----------
Adding placeholder icons for the Gumbo components that appear in the FB components panel. Where possible, these are simply copies of the Halo icons. There were some that didn't have a direct Halo counterpart, so the closest match was chosen.

QE Notes: None
Doc Notes: None
Bugs: SDK-17668
Reviewer: -

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.png</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/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.png</path>

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -17,6 +17,8 @@

 import mx.events.FlexEvent;
 import mx.managers.IFocusManagerComponent;
+
+[IconFile("FxNumericStepper.png")]

 /**
  *  The FxNumericStepper control lets you select


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -210,8 +210,7 @@
         }

         // Select all the text.
-        textInput.selectionAnchorPosition = 0;
-        textInput.selectionActivePosition = int.MAX_VALUE;
+        textInput.setSelection();
     }

     //--------------------------------------------------------------------------


SortedIndexColumn now sorts asynchronously.

--- WeaveData/src/weave/data/AttributeColumns/SortedIndexColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/SortedIndexColumn.as
@@ -26,6 +26,7 @@
 	import weave.api.data.IAttributeColumn;
 	import weave.api.data.IPrimitiveColumn;
 	import weave.api.data.IQualifiedKey;
+	import weave.api.newLinkableChild;
 	import weave.data.QKeyManager;
 	import weave.utils.AsyncSort;
 	import weave.utils.VectorUtils;
@@ -37,71 +38,28 @@
 	 */
 	public class SortedIndexColumn extends DynamicColumn implements IAttributeColumn, IPrimitiveColumn
 	{
-		public function SortedIndexColumn()
-		{
-			super();
-			addImmediateCallback(this, invalidateLookup);
-		}
-
-		private function invalidateLookup():void
-		{
-			// invalidate lookup
-			_keyToIndexMap = null;
-			// TODO: set unit?
-		}
-
+		/**
+		 * This is used to store the sorted list of keys.
+		 */
+		private var _keys:Array = [];
 		/**
 		 * This object maps a key to the index of that key in the sorted list of keys.
 		 */
-		private var _keyToIndexMap:Dictionary = null;
+		private var _keyToIndexMap:Dictionary = new Dictionary(true);
+		private var _column:IAttributeColumn = null;
+		private var _triggerCount:uint = 0;
+		private var _asyncSort:AsyncSort = newLinkableChild(this, AsyncSort, handleSorted);

-		/**
-		 * This is used to store the sorted list of keys.
-		 */
-		private var _keys:Array = new Array();
-
-		/**
-		 * This function returns the unique strings of the internal column.
-		 * @return The keys this column defines values for.
-		 */
-		override public function get keys():Array
-		{
-			// validate lookup table if necessary
-			if (_keyToIndexMap == null)
-				createLookupTable();
-			return _keys;
+		private function validate():void
+		{
+			_keys = super.keys.concat();
+			_column = getInternalColumn();
+			_asyncSort.beginSort(_keys, sortByNumericValue);
 		}
-
-		/**
-		 * @param key A key to test.
-		 * @return true if the key exists in this IKeySet.
-		 */
-		override public function containsKey(key:IQualifiedKey):Boolean
-		{
-			return _keyToIndexMap[key] != undefined;
-		}
-
-		/**
-		 * This function will sort the keys and create the keyToIndexMap mapping the keys to their sorted index values.
-		 */
-		private function createLookupTable():void
-		{
-			// get the keys from the internal column
-			var keys:Array = getInternalColumn() ? getInternalColumn().keys : [];
-			// make a copy of the list of keys
-			VectorUtils.copy(keys, _keys);
-			// sort the keys based on the numeric values associated with them
-			AsyncSort.sortImmediately(_keys, sortByNumericValue);
-			// update the lookup table
-			_keyToIndexMap = new Dictionary();
-			var i:int = _keys.length;
-			while (--i > -1)
-			{
-				// since numericCompare sorts NaN at the end, ignoring NaN's won't affect the remaining indices
-				var key:IQualifiedKey = _keys[i] as IQualifiedKey;
-				if (!isNaN(getInternalColumn().getValueFromKey(key, Number)))
-					_keyToIndexMap[_keys[i]] = i;
-			}
+		private function handleSorted():void
+		{
+			_triggerCount++; // account for _asyncSort trigger
+			_keyToIndexMap = VectorUtils.createLookup(_keys);
 		}

 		/**
@@ -111,13 +69,23 @@
 		 * @return The compare result used to sort a list of keys.
 		 */
 		private function sortByNumericValue(key1:IQualifiedKey, key2:IQualifiedKey):int
-		{
-			var val1:Number = getInternalColumn().getValueFromKey(key1, Number);
-			var val2:Number = getInternalColumn().getValueFromKey(key2, Number);
+		{
+			var val1:Number = _column.getValueFromKey(key1, Number);
+			var val2:Number = _column.getValueFromKey(key2, Number);
 			// if numeric values are equal, compare the keys
 			return ObjectUtil.numericCompare(val1, val2)
 				|| QKeyManager.keyCompare(key1, key2);
 		}
+
+		override public function get keys():Array
+		{
+			if (_triggerCount != triggerCounter)
+			{
+				_triggerCount = triggerCounter;
+				validate();
+			}
+			return _keys;
+		}

 		/**
 		 * @param key A key existing in the internal column.
@@ -126,26 +94,16 @@
 		 */
 		override public function getValueFromKey(key:IQualifiedKey, dataType:Class = null):*
 		{
-			var result:*;
-			if (getInternalColumn() != null)
-			{
-				// validate lookup table if necessary
-				if (_keyToIndexMap == null)
-					createLookupTable();
-				// get the list of internal keys from the given stringValue
-				result = Number(_keyToIndexMap[key]);
-			}
-			else
-			{
-				result = NaN;
-			}
-			// cast to other types
+			if (_triggerCount != triggerCounter)
+			{
+				_triggerCount = triggerCounter;
+				validate();
+			}
+
 			if (dataType == String)
-				result = getInternalColumn() ? getInternalColumn().getValueFromKey(key, String) : '';
-			else if (dataType == Boolean)
-				result = !isNaN(result); // true if key exists in lookup table
-
-			return result;
+				return _column ? _column.getValueFromKey(key, String) : '';
+
+			return _column ? Number(_keyToIndexMap[key]) : undefined;
 		}

 		/**
@@ -154,15 +112,16 @@
 		 */
 		public function deriveStringFromNumber(index:Number):String
 		{
-			// validate lookup table if necessary
-			if (_keyToIndexMap == null)
-				createLookupTable();
-			// return the key at the given number as an index
+			if (_triggerCount != triggerCounter)
+			{
+				_triggerCount = triggerCounter;
+				validate();
+			}
+
 			index = Math.round(index);
-			// return '' if there is no key at the given index value
-			if (index < 0 || index >= _keys.length)
+			if (!_column || index < 0 || index >= _keys.length)
 				return '';
-			return getInternalColumn() ? getInternalColumn().getValueFromKey(_keys[index], String) : '';
+			return _column.getValueFromKey(_keys[index], String);
 		}
 	}
 }


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

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

 package spark.components
 {


example

example

--- src/com/kemsky/Stream.as
+++ src/com/kemsky/Stream.as
@@ -424,6 +424,9 @@
          *     var s:Stream = $(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
          *     trace(s.first);
          *     //1
+         *     s.first = -1;
+         *     trace(s.first);
+         *     //-1
          *

          */
         public function get first():*
@@ -921,6 +924,13 @@

         /**
          * Creates a new ArrayCollection from items of current Stream
+         * @example
+         *

+         *     var s:Stream = $(1, 2, 3);
+         *     var c:ArrayCollection = s.collection();
+         *     trace(c);
+         *     //ArrayCollection{1, 2, 3}
+         *

          */
         public function collection():ArrayCollection
         {
@@ -931,6 +941,10 @@
          * Creates a new ArrayList from items of current Stream
          * @example
          *

+         *     var s:Stream = $(1, 2, 3);
+         *     var c:ArrayList = s.list();
+         *     trace(c);
+         *     //ArrayList{1, 2, 3}
          *

          */
         public function list():ArrayList
@@ -942,6 +956,10 @@
          * Creates a new Array from items of current Stream
          * @example
          *

+         *     var s:Stream = $(1, 2, 3);
+         *     var c:Array = s.array();
+         *     trace(c);
+         *     //[1, 2, 3]
          *

          */
         public function array():Array
@@ -1056,6 +1074,9 @@
          * and separated by the specified parameter.
          * @example
          *

+         *     var s:Stream = $(1, 2, 3);
+         *     trace(s.join(";"));
+         *     //1;2;3
          *

          */
         public function join(sep:* = null):String


A add getters/setters on AnimationController.

--- src/aerys/minko/scene/controller/AnimationController.as
+++ src/aerys/minko/scene/controller/AnimationController.as
@@ -56,6 +56,26 @@
 		public function set looping(value : Boolean) : void
 		{
 			_looping = value;
+		}
+
+		public function get isPlaying():Boolean
+		{
+			return _isPlaying;
+		}
+
+		public function set isPlaying(value:Boolean):void
+		{
+			_isPlaying = value;
+		}
+
+		public function get currentTime():int
+		{
+			return _currentTime;
+		}
+
+		public function set currentTime(value:int):void
+		{
+			_currentTime = value;
 		}

 		public function AnimationController(timelines	: Vector.<ITimeline>)


Another fix for potential streaming errors.

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

--- src/as/com/threerings/io/streamers/ByteArrayStreamer.as
+++ src/as/com/threerings/io/streamers/ByteArrayStreamer.as
@@ -54,7 +54,9 @@
     override public function readObject (obj :Object, ins :ObjectInputStream) :void
     {
         var bytes :ByteArray = (obj as ByteArray);
-        ins.readBytes(bytes, 0, bytes.length);
+        if (bytes.length > 0) {
+            ins.readBytes(bytes, 0, bytes.length);
+        }
     }
 }
 }


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

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

 import mx.core.mx_internal;


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.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/framework/src/mx/core/ContainerRawChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/mx/src/mx/core/ContainerRawChildrenList.as
+++ frameworks/projects/mx/src/mx/core/ContainerRawChildrenList.as
@@ -27,201 +27,191 @@
  */
 public class ContainerRawChildrenList implements IChildList
 {
-	include "../core/Version.as";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Notes
-	//
-	//--------------------------------------------------------------------------
-
-	/*
-
-		Although at the level of a Flash DisplayObjectContainer, all
-		children are equal, in a Flex Container some children are "more
-		equal than others". (George Orwell, "Animal Farm")
-
-		In particular, Flex distinguishes between content children and
-		non-content (or "chrome") children. Content children are the kind
-		that can be specified in MXML. If you put several controls
-		into a VBox, those are its content children. Non-content children
-		are the other ones that you get automatically, such as a
-		background/border, scrollbars, the titlebar of a Panel,
-		AccordionHeaders, etc.
-
-		Most application developers are uninterested in non-content children,
-		so Container overrides APIs such as numChildren and getChildAt()
-		to deal only with content children. For example, Container, keeps
-		its own _numChildren counter.
-
-		However, developers of custom containers need to be able to deal
-		with both content and non-content children, so they require similar
-		APIs that operate on all children.
-
-		For the public API, it would be ugly to have double APIs on Container
-		such as getChildAt() and all_getChildAt(). Instead, Container has
-		a public rawChildren property which lets you access APIs which
-		operate on all the children, in the same way that the
-		DisplayObjectContainer APIs do. For example, getChildAt(0) returns
-		the first content child, while rawChildren.getChildAt(0) returns
-		the first child (either content or non-content).
-
-		This ContainerRawChildrenList class implements the rawChildren
-		property. Note that it simply calls a second set of parallel
-		mx_internal APIs in Container. (They're named, for example,
-		_getChildAt() instead of all_getChildAt()).
-
-		Many of the all-children APIs in Container such as _getChildAt()
-		simply call super.getChildAt() in order to get the implementation
-		in DisplayObjectContainer. It would be nice if we could eliminate
-		_getChildAt() in Container and simply implement the all-children
-		version in this class by calling the DisplayObjectContainer method.
-		But once Container overrides getChildAt(), there is no way
-		to call the supermethod through an instance.
-
-	*
-
-	*  @langversion 3.0
-
-	*  @playerversion Flash 9
-
-	*  @playerversion AIR 1.1
-
-	*  @productversion Flex 3
-
-	*/
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Constructor.
-	 */
-	public function ContainerRawChildrenList(owner:Container)
-	{
-		super();
-
-		this.owner = owner;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private var owner:Container;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  numChildren
-	//----------------------------------
-
-	/**
-	 *  @private
-	 */
-	public function get numChildren():int
-	{
-		return owner.mx_internal::$numChildren;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	public function addChild(child:DisplayObject):DisplayObject
-	{
-		return owner.mx_internal::rawChildren_addChild(child);
-	}
-
-	/**
-	 *  @private
-	 */
-	public function addChildAt(child:DisplayObject, index:int):DisplayObject
-	{
-		return owner.mx_internal::rawChildren_addChildAt(child, index);
-	}
-
-	/**
-	 *  @private
-	 */
-	public function removeChild(child:DisplayObject):DisplayObject
-	{
-		return owner.mx_internal::rawChildren_removeChild(child);
-	}
-
-	/**
-	 *  @private
-	 */
-	public function removeChildAt(index:int):DisplayObject
-	{
-		return owner.mx_internal::rawChildren_removeChildAt(index);
-	}
-
-	/**
-	 *  @private
-	 */
-  	public function getChildAt(index:int):DisplayObject
-  	{
-		return owner.mx_internal::rawChildren_getChildAt(index);
-  	}
-
-	/**
-	 *  @private
-	 */
-  	public function getChildByName(name:String):DisplayObject
-  	{
-		return owner.mx_internal::rawChildren_getChildByName(name);
-  	}
-
-	/**
-	 *  @private
-	 */
-  	public function getChildIndex(child:DisplayObject):int
-  	{
-		return owner.mx_internal::rawChildren_getChildIndex(child);
-	}
-
-	/**
-	 *  @private
-	 */
-	public function setChildIndex(child:DisplayObject, newIndex:int):void
-	{
-		owner.mx_internal::rawChildren_setChildIndex(child, newIndex);
-	}
-
-	/**
-	 *  @private
-	 */
-	public function getObjectsUnderPoint(point:Point):Array
-	{
-		return owner.mx_internal::rawChildren_getObjectsUnderPoint(point);
-	}
-
-	/**
-	 *  @private
-	 */
-	public function contains(child:DisplayObject):Boolean
-	{
-		return owner.mx_internal::rawChildren_contains(child);
-	}
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Notes
+    //
+    //--------------------------------------------------------------------------
+
+    /*
+
+        Although at the level of a Flash DisplayObjectContainer, all
+        children are equal, in a Flex Container some children are "more
+        equal than others". (George Orwell, "Animal Farm")
+
+        In particular, Flex distinguishes between content children and
+        non-content (or "chrome") children. Content children are the kind
+        that can be specified in MXML. If you put several controls
+        into a VBox, those are its content children. Non-content children
+        are the other ones that you get automatically, such as a
+        background/border, scrollbars, the titlebar of a Panel,
+        AccordionHeaders, etc.
+
+        Most application developers are uninterested in non-content children,
+        so Container overrides APIs such as numChildren and getChildAt()
+        to deal only with content children. For example, Container, keeps
+        its own _numChildren counter.
+
+        However, developers of custom containers need to be able to deal
+        with both content and non-content children, so they require similar
+        APIs that operate on all children.
+
+        For the public API, it would be ugly to have double APIs on Container
+        such as getChildAt() and all_getChildAt(). Instead, Container has
+        a public rawChildren property which lets you access APIs which
+        operate on all the children, in the same way that the
+        DisplayObjectContainer APIs do. For example, getChildAt(0) returns
+        the first content child, while rawChildren.getChildAt(0) returns
+        the first child (either content or non-content).
+
+        This ContainerRawChildrenList class implements the rawChildren
+        property. Note that it simply calls a second set of parallel
+        mx_internal APIs in Container. (They're named, for example,
+        _getChildAt() instead of all_getChildAt()).
+
+        Many of the all-children APIs in Container such as _getChildAt()
+        simply call super.getChildAt() in order to get the implementation
+        in DisplayObjectContainer. It would be nice if we could eliminate
+        _getChildAt() in Container and simply implement the all-children
+        version in this class by calling the DisplayObjectContainer method.
+        But once Container overrides getChildAt(), there is no way
+        to call the supermethod through an instance.
+
+    */
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Constructor.
+     */
+    public function ContainerRawChildrenList(owner:Container)
+    {
+        super();
+
+        this.owner = owner;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var owner:Container;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  numChildren
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    public function get numChildren():int
+    {
+        return owner.mx_internal::$numChildren;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    public function addChild(child:DisplayObject):DisplayObject
+    {
+        return owner.mx_internal::rawChildren_addChild(child);
+    }
+
+    /**
+     *  @private
+     */
+    public function addChildAt(child:DisplayObject, index:int):DisplayObject
+    {
+        return owner.mx_internal::rawChildren_addChildAt(child, index);
+    }
+
+    /**
+     *  @private
+     */
+    public function removeChild(child:DisplayObject):DisplayObject
+    {
+        return owner.mx_internal::rawChildren_removeChild(child);
+    }
+
+    /**
+     *  @private
+     */
+    public function removeChildAt(index:int):DisplayObject
+    {
+        return owner.mx_internal::rawChildren_removeChildAt(index);
+    }
+
+    /**
+     *  @private
+     */
+    public function getChildAt(index:int):DisplayObject
+    {
+        return owner.mx_internal::rawChildren_getChildAt(index);
+    }
+
+    /**
+     *  @private
+     */
+    public function getChildByName(name:String):DisplayObject
+    {
+        return owner.mx_internal::rawChildren_getChildByName(name);
+    }
+
+    /**
+     *  @private
+     */
+    public function getChildIndex(child:DisplayObject):int
+    {
+        return owner.mx_internal::rawChildren_getChildIndex(child);
+    }
+
+    /**
+     *  @private
+     */
+    public function setChildIndex(child:DisplayObject, newIndex:int):void
+    {
+        owner.mx_internal::rawChildren_setChildIndex(child, newIndex);
+    }
+
+    /**
+     *  @private
+     */
+    public function getObjectsUnderPoint(point:Point):Array
+    {
+        return owner.mx_internal::rawChildren_getObjectsUnderPoint(point);
+    }
+
+    /**
+     *  @private
+     */
+    public function contains(child:DisplayObject):Boolean
+    {
+        return owner.mx_internal::rawChildren_contains(child);
+    }
 }

 }


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

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

 package mx.effects
 {


remove controllers from Mesh variadic constructor and replace them with a name : String optional argument

--- src/aerys/minko/scene/node/Mesh.as
+++ src/aerys/minko/scene/node/Mesh.as
@@ -1,13 +1,12 @@
 package aerys.minko.scene.node
 {
 	import aerys.minko.ns.minko_scene;
-	import aerys.minko.render.Effect;
 	import aerys.minko.render.geometry.Geometry;
 	import aerys.minko.render.material.Material;
 	import aerys.minko.render.material.basic.BasicMaterial;
-	import aerys.minko.render.material.basic.BasicShader;
 	import aerys.minko.scene.controller.AbstractController;
 	import aerys.minko.scene.controller.mesh.MeshVisibilityController;
+	import aerys.minko.scene.controller.mesh.VisibilityController;
 	import aerys.minko.type.Signal;
 	import aerys.minko.type.binding.DataBindings;
 	import aerys.minko.type.binding.DataProvider;
@@ -32,19 +31,19 @@
 	{
 		public static const DEFAULT_MATERIAL	: Material	= new BasicMaterial();

-		private var _geometry			: Geometry					= null;
-		private var _properties			: DataProvider				= null;
-		private var _material			: Material					= null;
-		private var _bindings			: DataBindings				= null;
-
-		private var _visibility			: MeshVisibilityController	= new MeshVisibilityController();
-
-		private var _frame				: uint						= 0;
-
-		private var _cloned				: Signal 					= new Signal('Mesh.clones');
-		private var _materialChanged	: Signal					= new Signal('Mesh.materialChanged');
-		private var _frameChanged		: Signal					= new Signal('Mesh.frameChanged');
-		private var _geometryChanged	: Signal					= new Signal('Mesh.geometryChanged');
+		private var _geometry			: Geometry;
+		private var _properties			: DataProvider;
+		private var _material			: Material;
+		private var _bindings			: DataBindings;
+
+		private var _visibility			: VisibilityController;
+
+		private var _frame				: uint;
+
+		private var _cloned				: Signal;
+		private var _materialChanged	: Signal;
+		private var _frameChanged		: Signal;
+		private var _geometryChanged	: Signal;

 		/**
 		 * A DataProvider object already bound to the Mesh bindings.
@@ -199,32 +198,34 @@

 		public function Mesh(geometry	: Geometry	= null,
 							 material	: Material	= null,
-							 ...controllers)
+							 name		: String	= null)
 		{
 			super();

-			initialize(geometry, material, controllers);
+			initialize(geometry, material, name);
 		}

 		private function initialize(geometry	: Geometry,
 									material	: Material,
-									controllers	: Array) : void
-		{
+									name		: String) : void
+		{
+			if (name)
+				this.name = name;
+
+			_cloned = new Signal('Mesh.clones');
+			_materialChanged = new Signal('Mesh.materialChanged');
+			_frameChanged = new Signal('Mesh.frameChanged');
+			_geometryChanged = new Signal('Mesh.geometryChanged');
+
 			_bindings = new DataBindings(this);
 			this.properties = new DataProvider(properties, 'meshProperties', DataProviderUsage.EXCLUSIVE);

 			_geometry = geometry;
 			this.material = material || DEFAULT_MATERIAL;

+			_visibility = new VisibilityController();
 //			_visibility.frustumCulling = FrustumCulling.BOX ^ FrustumCulling.TOP_BOX;
 			addController(_visibility);
-
-			while (controllers && !(controllers[0] is AbstractController))
-				controllers = controllers[0];
-
-			if (controllers)
-				for each (var ctrl : AbstractController in controllers)
-					addController(ctrl);
 		}

 		public function cast(ray : Ray, maxDistance : Number = Number.POSITIVE_INFINITY) : Number


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

--- frameworks/projects/charts/src/mx/charts/renderers/CrossItemRenderer.as
+++ frameworks/projects/charts/src/mx/charts/renderers/CrossItemRenderer.as
@@ -0,0 +1,236 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.renderers
+{
+
+import flash.display.Graphics;
+import flash.geom.Rectangle;
+import mx.charts.chartClasses.GraphicsUtilities;
+import mx.graphics.IFill;
+import mx.graphics.IStroke;
+import mx.skins.ProgrammaticSkin;
+import mx.core.IDataRenderer;
+import mx.graphics.SolidColor;
+import mx.utils.ColorUtil;
+import mx.charts.ChartItem;
+
+/**
+ *  A simple chart itemRenderer implementation
+ *  that fills a cross in its assigned area.
+ *  This class can be used as an itemRenderer for ColumnSeries, BarSeries, AreaSeries, LineSeries,
+ *  PlotSeries, and BubbleSeries objects.
+ *  It renders its area on screen using the fill and stroke styles
+ *  of its associated series.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class CrossItemRenderer extends ProgrammaticSkin implements IDataRenderer
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var rcFill:Rectangle = new Rectangle();
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function CrossItemRenderer()
+	{
+		super();
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  data
+    //----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the data property.
+	 */
+	private var _data:Object;
+
+	[Inspectable(environment="none")]
+
+	/**
+	 *  The chartItem that this itemRenderer is displaying.
+	 *  This value is assigned by the owning series
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get data():Object
+	{
+		return _data;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set data(value:Object):void
+	{
+		if (_data == value)
+			return;
+		_data = value;
+
+	}
+
+
+    //----------------------------------
+	//  thickness
+    //----------------------------------
+
+	[Inspectable]
+
+	/**
+	 *  The thickness of the cross rendered, in pixels.
+	 *  To create cross renderers of other widths, developers should extend
+	 *  this class and change this value in the derived class' constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var thickness:Number = 3;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function updateDisplayList(unscaledWidth:Number,
+												  unscaledHeight:Number):void
+	{
+		super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+		var fill:IFill
+		var state:String = "";
+
+		if (_data is ChartItem && _data.hasOwnProperty('fill'))
+		{
+		 	fill = _data.fill;
+		 	state = _data.currentState;
+		}
+		else
+		 	fill = GraphicsUtilities.fillFromStyle(getStyle('fill'));
+
+   		var color:uint;
+		var adjustedRadius:Number = 0;
+
+		switch (state)
+		{
+			case ChartItem.FOCUSED:
+			case ChartItem.ROLLOVER:
+				if (styleManager.isValidStyleValue(getStyle('itemRollOverColor')))
+					color = getStyle('itemRollOverColor');
+				else
+					color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),-20);
+				fill = new SolidColor(color);
+				adjustedRadius = getStyle('adjustedRadius');
+				if (!adjustedRadius)
+					adjustedRadius = 0;
+				break;
+			case ChartItem.DISABLED:
+				if (styleManager.isValidStyleValue(getStyle('itemDisabledColor')))
+					color = getStyle('itemDisabledColor');
+				else
+					color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),20);
+				fill = new SolidColor(GraphicsUtilities.colorFromFill(color));
+				break;
+			case ChartItem.FOCUSEDSELECTED:
+			case ChartItem.SELECTED:
+				if (styleManager.isValidStyleValue(getStyle('itemSelectionColor')))
+					color = getStyle('itemSelectionColor');
+				else
+					color = ColorUtil.adjustBrightness2(GraphicsUtilities.colorFromFill(fill),-30);
+				fill = new SolidColor(color);
+				adjustedRadius = getStyle('adjustedRadius');
+				if (!adjustedRadius)
+					adjustedRadius = 0;
+				break;
+		}
+
+		var stroke:IStroke = getStyle("stroke");
+
+		var w:Number = stroke ? stroke.weight / 2 : 0;
+		var w2:Number = 2 * w;
+
+		var t2:Number = thickness / 2 + adjustedRadius / 2;
+
+		var cx:Number = unscaledWidth / 2;
+		var cy:Number = unscaledHeight / 2;
+
+		rcFill.left = rcFill.left - adjustedRadius;
+		rcFill.top = rcFill.top - adjustedRadius;
+		rcFill.right = unscaledWidth;
+		rcFill.bottom = unscaledHeight;
+
+		var g:Graphics = graphics;
+		g.clear();
+		g.moveTo(w, w);
+		if (stroke)
+			stroke.apply(g,null,null);
+		g.moveTo(cx - t2, w - adjustedRadius);
+		if (fill)
+			fill.begin(g, rcFill, null);
+		g.lineTo(cx + t2, w - adjustedRadius);
+		g.lineTo(cx + t2, cy - t2);
+		g.lineTo(unscaledWidth - w + adjustedRadius, cy - t2);
+		g.lineTo(unscaledWidth - w + adjustedRadius, cy + t2);
+		g.lineTo(cx + t2, cy + t2);
+		g.lineTo(cx + t2, unscaledHeight - w + adjustedRadius);
+		g.lineTo(cx - t2, unscaledHeight - w + adjustedRadius);
+		g.lineTo(cx - t2, cy + t2);
+		g.lineTo(w - adjustedRadius, cy + t2);
+		g.lineTo(w - adjustedRadius, cy - t2);
+		g.lineTo(cx - t2, cy - t2);
+		g.lineTo(cx - t2, w - adjustedRadius);
+		if (fill)
+			fill.end(g);
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12062
Author:   smgilson@adobe.com
Date:     2009-11-20T20:27:52.148318Z

Log Message:
-----------
Fix for FLEXDOCS-1033 - hasFocusableChildren and tabChildren properties sound very similar, but only hasFocusableChildren works as expected, tabChildren is ignored

And a localization issue, FLEXDOCS-1119

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/BaseListData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.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/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as
+++ frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as
@@ -30,175 +30,156 @@
  */
 public interface IFocusManagerComponent
 {
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------

-	//----------------------------------
-	//  focusEnabled
-	//----------------------------------
+    //----------------------------------
+    //  focusEnabled
+    //----------------------------------

-	/**
-	 *  A flag that indicates whether the component can receive focus when selected.
-	 *
-	 *
As an optimization, if a child component in your component
-	 *  implements the IFocusManagerComponent interface, and you
-	 *  never want it to receive focus,
-	 *  you can set focusEnabled
-	 *  to false before calling addChild()
-	 *  on the child component.

-	 *
-	 *
This will cause the FocusManager to ignore this component
-	 *  and not monitor it for changes to the tabFocusEnabled,
-	 *  hasFocusableChildren, and mouseFocusEnabled properties.
-	 *  This also means you cannot change this value after
-	 *  addChild() and expect the FocusManager to notice.

-	 *
-	 *
Note: It does not mean that you cannot give this object focus
-	 *  programmatically in your setFocus() method;
-	 *  it just tells the FocusManager to ignore this IFocusManagerComponent
-	 *  component in the Tab and mouse searches.

-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	function get focusEnabled():Boolean;
-
-	/**
-	 *  @private
-	 */
-	function set focusEnabled(value:Boolean):void;
+    /**
+     *  A flag that indicates whether the component can receive focus when selected.
+     *
+     *
As an optimization, if a child component in your component
+     *  implements the IFocusManagerComponent interface, and you
+     *  never want it to receive focus,
+     *  you can set focusEnabled
+     *  to false before calling addChild()
+     *  on the child component.

+     *
+     *
This will cause the FocusManager to ignore this component
+     *  and not monitor it for changes to the tabFocusEnabled,
+     *  hasFocusableChildren, and mouseFocusEnabled properties.
+     *  This also means you cannot change this value after
+     *  addChild() and expect the FocusManager to notice.

+     *
+     *
Note: It does not mean that you cannot give this object focus
+     *  programmatically in your setFocus() method;
+     *  it just tells the FocusManager to ignore this IFocusManagerComponent
+     *  component in the Tab and mouse searches.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get focusEnabled():Boolean;
+
+    /**
+     *  @private
+     */
+    function set focusEnabled(value:Boolean):void;

-	//----------------------------------
-	//  hasFocusableChildren
-	//----------------------------------
+    //----------------------------------
+    //  hasFocusableChildren
+    //----------------------------------

-	/**
-	 *  A flag that indicates whether child objects can receive focus
-	 *
-	 *
This is similar to the tabChildren property
-     *  used by Flash Player.

-	 *
-	 *
This is usually false because most components
-     *  either receive focus themselves or delegate focus to a single
-     *  internal sub-component and appear as if the component has
-     *  received focus.  For example, a TextInput contains a focusable
-     *  child RichEditableText control, but while the RichEditableText
-     *  sub-component actually receives focus, it appears as if the
-     *  TextInput has focus.  TextInput sets hasFocusableChildren
-     *  to false because TextInput is considered the
-     *  component that has focus.  Its internal structure is an
-     *  abstraction.

-     *
-	 *
Usually only navigator components like TabNavigator and
-     *  Accordion have this flag set to true because they
-     *  receive focus on Tab but focus goes to components in the child
-     *  containers on further Tabs.

-	 *
-	 *  @langversion 4.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	function get hasFocusableChildren():Boolean;
-
-	/**
-	 *  @private
-	 */
-	function set hasFocusableChildren(value:Boolean):void;
+    /**
+     *  @copy mx.core.UIComponent#hasFocusableChildren
+     *
+     *  @langversion 4.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function get hasFocusableChildren():Boolean;
+
+    /**
+     *  @private
+     */
+    function set hasFocusableChildren(value:Boolean):void;

-	//----------------------------------
-	//  mouseFocusEnabled
-	//----------------------------------
+    //----------------------------------
+    //  mouseFocusEnabled
+    //----------------------------------

-	/**
-	 *  A flag that indicates whether the component can receive focus
-	 *  when selected with the mouse.
-	 *  If false, focus will be transferred to
-	 *  the first parent that is mouseFocusEnabled.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	function get mouseFocusEnabled():Boolean;
+    /**
+     *  A flag that indicates whether the component can receive focus
+     *  when selected with the mouse.
+     *  If false, focus will be transferred to
+     *  the first parent that is mouseFocusEnabled.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get mouseFocusEnabled():Boolean;

-	//----------------------------------
-	//  tabFocusEnabled
-	//----------------------------------
+    //----------------------------------
+    //  tabFocusEnabled
+    //----------------------------------

-	/**
-	 *  A flag that indicates whether pressing the Tab key eventually
-	 *  moves focus to this component.
-	 *  Even if false, you can still be given focus
-	 *  by being selected with the mouse or via a call to
-	 *  setFocus().  This property replaces
+    /**
+     *  A flag that indicates whether pressing the Tab key eventually
+     *  moves focus to this component.
+     *  Even if false, you can still be given focus
+     *  by being selected with the mouse or via a call to
+     *  setFocus().  This property replaces
      *  InteractiveObject.tabEnabled which must be set to true
      *  in Flex apps.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	function get tabFocusEnabled():Boolean;
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function get tabFocusEnabled():Boolean;

-	//----------------------------------
-	//  tabIndex
-	//----------------------------------
+    //----------------------------------
+    //  tabIndex
+    //----------------------------------

-	/**
-	 *  If tabFocusEnabled, the order in which the component receives focus.
-	 *  If -1, then the component receives focus based on z-order.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	function get tabIndex():int;
+    /**
+     *  If tabFocusEnabled, the order in which the component receives focus.
+     *  If -1, then the component receives focus based on z-order.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get tabIndex():int;

-	/**
-	 *  @private
-	 */
-	function set tabIndex(value:int):void;
+    /**
+     *  @private
+     */
+    function set tabIndex(value:int):void;

-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------

-	/**
-	 *  Called by the FocusManager when the component receives focus.
-	 *  The component may in turn set focus to an internal component.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	function setFocus():void;
+    /**
+     *  Called by the FocusManager when the component receives focus.
+     *  The component may in turn set focus to an internal component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function setFocus():void;

-	/**
-	 *  Called by the FocusManager when the component receives focus.
-	 *  The component should draw or hide a graphic
-	 *  that indicates that the component has focus.
-	 *
-	 *  @param isFocused If true, draw the focus indicator,
-	 *  otherwise hide it.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	function drawFocus(isFocused:Boolean):void;
+    /**
+     *  Called by the FocusManager when the component receives focus.
+     *  The component should draw or hide a graphic
+     *  that indicates that the component has focus.
+     *
+     *  @param isFocused If true, draw the focus indicator,
+     *  otherwise hide it.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function drawFocus(isFocused:Boolean):void;
 }

 }


FIX FLEX-33871 : spark.skins.mobile480.assets:ActionBarBackground not found

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -96,8 +96,8 @@
 				layoutShadowHeight = 9;
 				layoutContentGroupHeight = 130;
 				layoutTitleGroupHorizontalPadding = 40;
-
-				borderClass = spark.skins.mobile240.assets.ActionBarBackground;
+
+				borderClass = spark.skins.mobile480.assets.ActionBarBackground;

 				break;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18115
Author:   gruehle@adobe.com
Date:     2010-10-08T23:37:39.582350Z

Log Message:
-----------
Mobile text bug fixes:
* Add anti-alias style support to MobileTextField
* After truncating text, make sure scrollH is 0
* Make sure text field size is set properly when editing is enabled
* Copied focus skin logic from Skin/SparkSkin into MobileSkin

QE notes: -
Doc notes: -
Bugs: SDK-27987, SDK-27928, SDK-27926, SDK-28041, SDK-27945
Reviewer: Ryan, Jason San Jose
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/HighlightBitmapCaptureSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/IHighlightBitmapCaptureClient.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as
@@ -13,6 +13,7 @@
 {

 import flash.display.DisplayObject;
+import flash.events.Event;
 import flash.text.TextLineMetrics;

 import spark.components.TextInput;
@@ -92,6 +93,7 @@
         textDisplay = MobileTextField(createInFontContext(MobileTextField));
         textDisplay.styleProvider = this;
         textDisplay.editable = true;
+		textDisplay.addEventListener("editableChanged", editableChangedHandler);
         addChild(textDisplay);
     }

@@ -167,5 +169,13 @@
 		else
 			alpha = 0.5;
 	}
+
+	/**
+	 *  @private
+	 */
+	private function editableChangedHandler(event:Event):void
+	{
+		invalidateDisplayList();
+	}
 }
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 12651
Author:   smgilson@adobe.com
Date:     2009-12-08T15:04:12.651288Z

Log Message:
-----------
ASDoc prep for L10N, and add a few new examples

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VideoDisplayExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VideoPlayerExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/mediaClasses/examples/DynamicStreamingVideoSourceExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/MuteButton.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/mediaClasses/examples</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/mediaClasses</path>

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

--- frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as
@@ -23,9 +23,12 @@
 import spark.components.HSlider;

 /**
- *  The VideoScrubBar class is a video scrubbar/timeline that can show the
- *  current playHead, the amount previously played, and the loaded in part
- *  of the video.
+ *  The VideoScrubBar class defines a video timeline that shows the
+ *  current play head location in the video, the amount of the video previously played,
+ *  and the loaded in part of the video.
+ *  The timeline appears at the bottom of the VideoPlayer control.
+ *
+ *  @see spark.components.VideoPlayer
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -197,9 +200,11 @@
     }

     /**
-     *  Sets the size of the loaded range area
+     *  Sets the size of the loaded range area.
+     *  The loaded range area defines the area on the timeline that represents
+     *  the currently loaded portion of the video.
      *
-     *  @param loadedRangeAreaSize The new size of the loaded in range area
+     *  @param loadedRangeAreaSize The new size of the loaded in range area.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -213,9 +218,11 @@
     }

     /**
-     *  Sets the size of the played area
+     *  Sets the size of the played area.
+     *  The played area defines the area on the timeline that represents
+     *  the part of the video that has been played.
      *
-     *  @param playedAreaSize The new size of the played area
+     *  @param playedAreaSize The new size of the played area.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 11651
Author:   jimurphy@adobe.com
Date:     2009-11-11T14:06:01.837600Z

Log Message:
-----------
Merged 3.x revisions 11192,11237,11618 -> trunk

........
  r11192 | rfrishbe@adobe.com | 2009-10-27 15:54:37 -0400 (Tue, 27 Oct 2009) | 8 lines

  In AIR, you can drag'n drop text between text components like TextInput and TextArea.  There's an AIR bug where doing so doesn't result in a TEXT_INPUT or a CHANGE event.  This is a workaround for that bug so that we listen for a nativeDragDrop event.

  QE notes: -
  Doc notes: -
  Bugs: SDK-19816
  Reviewer: Gordon
  Tests run: checkintests, mustella TextInput, TextArea
  Is noteworthy for integration: no
........
  r11237 | smgilson@adobe.com | 2009-10-28 15:23:48 -0400 (Wed, 28 Oct 2009) | 9 lines

  Add ASDoc comment to the class. Please integrate into the 3.4.0 branch

........
  r11618 | aharui@adobe.com | 2009-11-10 13:12:56 -0500 (Tue, 10 Nov 2009) | 11 lines

  Allow extra parameters on itemToLabel so you can use DataGrid as the dropdown in a combobox.

  QE Notes: None
  Doc Notes: While we did change the signature on itemToLabel, I think we shouldn't document the change.  We are allowing extra params so we don't crash and we never use those params so the effective signature is the same
  Bugs: SDK-24027
  Reviewer: Corey
  API Change: No
  Is noteworthy for integration: No
  tests: checkintests mustella/components/ComboBox
........

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/com/adobe/viewsource/ViewSource.as</path>

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

--- frameworks/projects/authoringsupport/src/com/adobe/viewsource/ViewSource.as
+++ frameworks/projects/authoringsupport/src/com/adobe/viewsource/ViewSource.as
@@ -38,48 +38,43 @@
  */
 public class ViewSource
 {
-    /**
-     *  Adds a "View Source" context menu item
-     *  to the context menu of the given object.
-     *  Creates a context menu if none exists.
-     *
-     *  @param obj The object to attach the context menu item to.
-     *
-     *  @param url The URL of the source viewer that the "View Source"
-     *  item should open in the browser.
-     *
-     *  @param hideBuiltIns Optional, defaults to true.
-     *  If true, and no existing context menu is attached
-     *  to the given item, then when we create the context menu,
-     *  we hide all the hideable built-in menu items.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public static function addMenuItem(obj:InteractiveObject, url:String,
-                                       hideBuiltIns:Boolean = true):void
-    {
-        if (obj.contextMenu == null)
-        {
-            obj.contextMenu = new ContextMenu();
-            if (hideBuiltIns)
-                obj.contextMenu.hideBuiltInItems();
-        }
-
-        var item:ContextMenuItem = new ContextMenuItem("View Source");
-
-        item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,
-            function(event:ContextMenuEvent):void
-            {
-                if (event.target == item)
-                    navigateToURL(new URLRequest(url), "_blank");
-            }
-        );
-
-        obj.contextMenu.customItems.push(item);
-    }
+	/**
+	 *  Adds a "View Source" context menu item
+	 *  to the context menu of the given object.
+	 *  Creates a context menu if none exists.
+	 *
+	 *  @param obj The object to attach the context menu item to.
+	 *
+	 *  @param url The URL of the source viewer that the "View Source"
+	 *  item should open in the browser.
+	 *
+	 *  @param hideBuiltIns Optional, defaults to true.
+	 *  If true, and no existing context menu is attached
+	 *  to the given item, then when we create the context menu,
+	 *  we hide all the hideable built-in menu items.
+	 */
+	public static function addMenuItem(obj:InteractiveObject, url:String,
+									   hideBuiltIns:Boolean = true):void
+	{
+		if (obj.contextMenu == null)
+		{
+			obj.contextMenu = new ContextMenu();
+			if (hideBuiltIns)
+				obj.contextMenu.hideBuiltInItems();
+		}
+
+		var item:ContextMenuItem = new ContextMenuItem("View Source");
+
+		item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,
+			function(event:ContextMenuEvent):void
+			{
+				if (event.target == item)
+					navigateToURL(new URLRequest(url), "_blank");
+			}
+		);
+
+		obj.contextMenu.customItems.push(item);
+	}
 }
-
+
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
@@ -0,0 +1,164 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.dataGridClasses
+{
+
+import flash.display.DisplayObject;
+import flash.geom.Point;
+import mx.controls.DataGrid;
+import mx.controls.listClasses.IDropInListItemRenderer;
+import mx.controls.listClasses.IListItemRenderer;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  The DataGridDragProxy class defines the default drag proxy
+ *  used when dragging data from a DataGrid control.
+ */
+public class DataGridDragProxy extends UIComponent
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function DataGridDragProxy()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override protected function createChildren():void
+	{
+        super.createChildren();
+
+		var items:Array /* of unit */ = DataGridBase(owner).selectedItems;
+
+		var n:int = items.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			var src:IListItemRenderer = DataGridBase(owner).itemToItemRenderer(items[i]);
+			if (!src)
+				continue;
+
+			var o:UIComponent;
+
+			var data:Object = items[i];
+
+			o = new UIComponent();
+			addChild(DisplayObject(o));
+
+			var ww:Number = 0;
+			var m:int;
+			var j:int;
+			var col:DataGridColumn;
+			var c:IListItemRenderer;
+			var	rowData:DataGridListData;
+
+			if (DataGridBase(owner).visibleLockedColumns)
+			{
+				m = DataGridBase(owner).visibleLockedColumns.length;
+				for (j = 0; j < m; j++)
+				{
+					col = DataGridBase(owner).visibleLockedColumns[j];
+
+					c = DataGridBase(owner).createColumnItemRenderer(col, false, data);
+
+					rowData = new DataGridListData(
+						col.itemToLabel(data), col.dataField,
+						col.colNum, "", DataGridBase(owner));
+
+					if (c is IDropInListItemRenderer)
+					{
+						IDropInListItemRenderer(c).listData =
+							data ? rowData : null;
+					}
+
+					c.data = data;
+					c.styleName = DataGridBase(owner);
+					c.visible = true;
+
+					o.addChild(DisplayObject(c));
+
+					c.setActualSize(col.width, src.height);
+					c.move(ww, 0);
+
+					ww += col.width;
+				}
+			}
+			m = DataGridBase(owner).visibleColumns.length;
+			for (j = 0; j < m; j++)
+			{
+				col = DataGridBase(owner).visibleColumns[j];
+
+				c = DataGridBase(owner).createColumnItemRenderer(col, false, data);
+
+				rowData = new DataGridListData(
+					col.itemToLabel(data), col.dataField,
+					col.colNum, "", DataGridBase(owner));
+
+				if (c is IDropInListItemRenderer)
+				{
+					IDropInListItemRenderer(c).listData =
+						data ? rowData : null;
+				}
+
+				c.data = data;
+				c.styleName = DataGridBase(owner);
+				c.visible = true;
+
+				o.addChild(DisplayObject(c));
+
+				c.setActualSize(col.width, src.height);
+				c.move(ww, 0);
+
+				ww += col.width;
+			}
+
+
+			o.setActualSize(ww, src.height);
+			var pt:Point = new Point(0, 0);
+			pt = DisplayObject(src).localToGlobal(pt);
+			pt = DataGridBase(owner).globalToLocal(pt);
+			o.y = pt.y;
+
+			measuredHeight = o.y + o.height;
+			measuredWidth = ww;
+		}
+
+		invalidateDisplayList();
+	}
+}
+
+}