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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/LabelAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/LabelAutomationImpl.as
@@ -0,0 +1,169 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.delegates.controls
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import mx.automation.Automation;
+	import mx.automation.IAutomationObjectHelper;
+	import mx.automation.delegates.TextFieldAutomationHelper;
+	import mx.automation.delegates.core.UIComponentAutomationImpl;
+	import mx.core.mx_internal;
+	import mx.core.IUITextField;
+	import mx.controls.Label;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  Label control.
+	 *
+	 *  @see mx.controls.Label
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class LabelAutomationImpl extends UIComponentAutomationImpl
+	{
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(Label, LabelAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 * @param obj Label object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function LabelAutomationImpl(obj:Label)
+		{
+			super(obj);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Variables
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		protected function get label():Label
+		{
+			return uiComponent as Label;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden properties
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 *  Generic record/replay logic for textfields.
+		 */
+		private var automationHelper:TextFieldAutomationHelper;
+
+		//----------------------------------
+		//  automationName
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationName():String
+		{
+			return label.text || super.automationName;
+		}
+
+		//----------------------------------
+		//  automationValue
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationValue():Array
+		{
+			return [ label.text ];
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function replayAutomatableEvent(interaction:Event):Boolean
+		{
+			return ((automationHelper &&
+				automationHelper.replayAutomatableEvent(interaction)) ||
+				super.replayAutomatableEvent(interaction));
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Event handlers
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override protected function componentInitialized():void
+		{
+			super.componentInitialized();
+			var textField:IUITextField = label.getTextField();
+			automationHelper = new TextFieldAutomationHelper(uiComponent, uiAutomationObject, textField);
+		}
+
+	}
+}


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

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

 package mx.automation.delegates.controls
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -225,6 +225,8 @@
     public function TextView()
     {
         super();
+
+        dir = "ltr";

         _content = textFlow = createEmptyTextFlow();


Transferred from the Adobe Open Source Subversion Repository

Revision: 7836
Author:   chaase@adobe.com
Date:     2009-06-15T14:37:21.379918Z

Log Message:
-----------
PARB changes for effects. This includes various property renames, a couple of class renames, moving 3 classes to a sub-package, and various doc cleanups. This also includes changing a handful of Array properties to typed Vectors.

QE: This breaks Mustella due to the renames
Doc: Docs will need to be updated to reflect the changes as well
Bugs: None
Reviewer: Jason
Tests: checkintests, Thermo's transitionbug test

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.pbk</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -10,26 +10,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.animation
 {
-import __AS3__.vec.Vector;
-
 import flash.events.TimerEvent;
 import flash.utils.Dictionary;
 import flash.utils.Timer;
-import flash.utils.getTimer;

 import mx.core.mx_internal;
 import mx.events.EffectEvent;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;

-import spark.effects.KeyFrame;
-import spark.effects.SimpleMotionPath;
 import spark.effects.easing.IEaser;
 import spark.effects.easing.Linear;
 import spark.effects.easing.Sine;
-import spark.effects.interpolation.ArrayInterpolator;
 import spark.effects.interpolation.IInterpolator;
-import spark.effects.interpolation.NumberInterpolator;

 use namespace mx_internal;

@@ -107,7 +100,7 @@
      *  Constructor.
      *  The optional property, startValue, and
      *  endValue parameters define a simple
-     *  animation with a single MotionPath object with two KeyFrames.
+     *  animation with a single MotionPath object with two Keyframes.
      *  If either value is non-null,
      *  startValue becomes the value of the
      *  first keyframe, at time=0, and
@@ -132,7 +125,10 @@
     {
         this.duration = duration;
         if (property != null && (startValue !== null || endValue !== null))
-            motionPaths = [new SimpleMotionPath(property, startValue, endValue, duration)];
+        {
+            motionPaths = new <MotionPath>[
+                new SimpleMotionPath(property, startValue, endValue, duration)];
+        }
     }

@@ -155,6 +151,12 @@
     private static var activeAnimations:Array = [];
     private static var timer:Timer = null;

+    /**
+     * @private
+     * Default easer used if easer is set to null
+     */
+    private static var linearEaser:IEaser;
+
     private var arrayMode:Boolean;
     // TODO: more efficient way to store/remove these than in an array?
     // Dictionary, perhaps (although that may be unordered and less
@@ -196,7 +198,8 @@
     //--------------------------------------------------------------------------

     /**
-     *  An Array of the values as of the current frame of the Animation.
+     *  An Object containing the calculated values as of the current frame
+     *  of the Animation.
      *  The values are stored as map values, using property names as the key.
      *
      *  @langversion 3.0
@@ -217,7 +220,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public var motionPaths:Array;
+    public var motionPaths:Vector.<MotionPath>;

     //----------------------------------
     //  animationTarget
@@ -469,7 +472,6 @@

     private var _cycleTime:Number = 0;
     /**
-     *  @private
      *  The current millisecond position in the current cycle animation.
      *  This value is between 0 and duration.
      *  An animation 'cycle' is defined as a single repetition of the animation,
@@ -489,7 +491,6 @@

     private var _cycleFraction:Number;
     /**
-     *  @private
      *  The current fraction elapsed in the animation, after easing
      *  has been applied. This value is between 0 and 1.
      *  An animation 'cycle' is defined as a single repetition of the animation,
@@ -538,7 +539,9 @@
     {
         if (!value)
         {
-            value = Linear.getInstance();
+            if (!linearEaser)
+                linearEaser = new Linear();
+            value = linearEaser;
         }
         _easer = value;
     }
@@ -863,8 +866,8 @@
     }

     /**
-     *  Interrupt the animation, jumps immediately to the end of the animation,
-     *  and invokes the event handler for the effectEnd event on the target.
+     *  Interrupts the animation, jumps immediately to the end of the animation,
+     *  and calls the animationEnd() function on the animationTarget.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -941,13 +944,13 @@
         var j:int;
         for (i = 0; i < motionPaths.length; ++i)
         {
-            var keyframes:Array = motionPaths[i].keyframes;
+            var keyframes:Vector.<Keyframe> = motionPaths[i].keyframes;
             if (isNaN(keyframes[0].time))
                 keyframes[0].time = 0;
             // Create an initial (time==0) value if necessary
             else if (keyframes[0].time > 0)
             {
-                keyframes.splice(0, 0, new KeyFrame(0, null));
+                keyframes.splice(0, 0, new Keyframe(0, null));
                 keyframes[0].timeFraction = 0;
             }
             for (j = 1; j < keyframes.length; ++j)
@@ -1136,10 +1139,9 @@
         }
     }
     /**
-     *  Stops the animation, ending it without dispatching an
-     *  EFFECT_END event or calling the end() method.
-     *  The EFFECT_STOP event will be sent to the
-     *  animationTarget.
+     *  Stops the animation, ending it without calling the end()
+     *  method. The animationStop() function on the animationTarget
+     *  will be called.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
 package spark.effects.animation
 {
 import flash.events.TimerEvent;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7774
Author:   jszeto@adobe.com
Date:     2009-06-12T00:38:51.011501Z

Log Message:
-----------
GradientGlowFilter bug fix for default type

http://bugs.adobe.com/jira/browse/SDK-21734 - GradientGlowFilter type should default to “outer”

The constructor was calling the super constructor at the end, which caused the class variables to get reset to the parent class backing variable default values. In the process, I also noticed that the filter classes weren’t calling super() in their constructors, so I fixed that issue as well.

QE Notes: None
Doc Notes: None
Bugs: SDK-21734
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/filters/GradientBevelFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
@@ -114,6 +114,8 @@
 									    quality:int = 1, type:String = "inner",
 									    knockout:Boolean = false)
 	{
+		super(colors, alphas, ratios);
+
 		this.distance = distance;
 		this.angle = angle;
 		this.blurX =blurX ;
@@ -122,8 +124,6 @@
 		this.quality = quality;
 		this.type = type;
 		this.knockout = knockout;
-
-		super(colors, alphas, ratios);
 	}

 	/**


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/formatters/NumberBaseRoundType.as
+++ frameworks/projects/framework/src/mx/formatters/NumberBaseRoundType.as
@@ -19,6 +19,11 @@
  *
  *  @see mx.formatters.NumberFormatter
  *  @see mx.formatters.NumberBase
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public final class NumberBaseRoundType
 {
@@ -33,22 +38,42 @@
 	/**
 	 *  Rounds a number down to an integer that is both closest to,
 	 *  and less than or equal to, the input number.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const DOWN:String = "down";

 	/**
 	 *  Rounds a number up or down to the nearest integer.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const NEAREST:String = "nearest";

 	/**
 	 *  Perform no rounding.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const NONE:String = "none";

 	/**
 	 *  Rounds a number up to an integer value that is both closest to,
 	 *  and greater than or equal to, the input number.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const UP:String = "up";
 }


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

--- frameworks/projects/framework/src/mx/validators/CreditCardValidator.as
+++ frameworks/projects/framework/src/mx/validators/CreditCardValidator.as
@@ -0,0 +1,1065 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.validators
+{
+
+import mx.managers.ISystemManager;
+import mx.managers.SystemManager;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+import mx.utils.StringUtil;
+import mx.validators.IValidatorListener;
+
+[ResourceBundle("validators")]
+
+/**
+ *  The CreditCardValidator class validates that a credit card number
+ *  is the correct length, has the correct prefix, and passes
+ *  the Luhn mod10 algorithm for the specified card type.
+ *  This validator does not check whether the credit card
+ *  is an actual active credit card account.
+ *
+ *
You can specify the input to the CreditCardValidator in two ways:

+ *

+ *
Use the cardNumberSource and
+ *    cardNumberProperty properties to specify
+ *    the location of the credit card number, and the
+ *    cardTypeSource and cardTypeProperty properties
+ *    to specify the location of the credit card type to validate.

+ *
Use the source and
+ *    property properties to specify a single Object.
+ *    The Object should contain the following fields:
+ *

+ *
cardType - Specifies the type
+ *        of credit card being validated.
+ *
In MXML, use the values: "American Express",
+ *            "Diners Club", "Discover",
+ *            "MasterCard", or "Visa".

+ *
In ActionScript, use the static constants
+ *            CreditCardValidatorCardType.MASTER_CARD,
+ *            CreditCardValidatorCardType.VISA, or
+ *            CreditCardValidatorCardType.AMERICAN_EXPRESS
+ *            CreditCardValidatorCardType.DISCOVER, or
+ *            CreditCardValidatorCardType.DINERS_CLUB.

+ *

+ *
cardNumber - Specifies the number of the card
+ *       being validated.

+ *

+ *

+ *

+ *
+ *
To perform the validation, it uses the following guidelines:

+ *
Length:

+ *

+ *
Visa: 13 or 16 digits

+ *
MasterCard: 16 digits

+ *
Discover: 16 digits

+ *
American Express: 15 digits

+ *
Diners Club: 14 digits or 16 digits if it also functions as MasterCard

+ *

+ *  Prefix:
+ *

+ *
Visa: 4

+ *
MasterCard: 51 to 55

+ *
Discover: 6011

+ *
American Express: 34 or 37

+ *
Diners Club: 300 to 305, 36 or 38, 51 to 55

+ *

+ *
+ *  @mxml
+ *
+ *
The <mx:CreditCardValidator> tag
+ *  inherits all of the tag attributes of its superclass,
+ *  and adds the following tag attributes:

+ *
+ *

+ *  <mx:CreditCardValidator
+ *    allowedFormatChars=" -"
+ *    cardNumberListener="Object specified by cardNumberSource"
+ *    cardNumberProperty="No default"
+ *    cardNumberSource="No default"
+ *    cardTypeListener="Object specified by cardTypeSource"
+ *    cardTypeProperty="No default"
+ *    cardTypeSource="No default"
+ *    invalidCharError= "Invalid characters in your credit card number. (Enter numbers only.)"
+ *    invalidNumberError="The credit card number is invalid."
+ *    noNumError="No credit card number is specified."
+ *    noTypeError="No credit card type is specified or the type is not valid."
+ *    wrongLengthError="Your credit card number contains the wrong number of digits."
+ *    wrongTypeError="Incorrect card type is specified."
+ *  />
+ *

+ *
+ *  @see mx.validators.CreditCardValidatorCardType
+ *
+ *  @includeExample examples/CreditCardValidatorExample.mxml
+ */
+public class CreditCardValidator extends Validator
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Convenience method for calling a validator.
+	 *  Each of the standard Flex validators has a similar convenience method.
+	 *
+	 *  @param validator The CreditCardValidator instance.
+	 *
+	 *  @param value A field to validate, which must contain
+	 *  the following fields:
+	 *

+	 *
cardType - Specifies the type of credit card being validated.
+	 *    Use the static constants
+	 *    CreditCardValidatorCardType.MASTER_CARD,
+	 *    CreditCardValidatorCardType.VISA,
+	 *    CreditCardValidatorCardType.AMERICAN_EXPRESS,
+	 *    CreditCardValidatorCardType.DISCOVER, or
+	 *    CreditCardValidatorCardType.DINERS_CLUB.

+	 *
cardNumber - Specifies the number of the card
+	 *    being validated.

+	 *
+	 *  @param baseField Text representation of the subfield
+	 *  specified in the value parameter.
+	 *  For example, if the value parameter
+	 *  specifies value.date, the baseField value is "date".
+	 *
+	 *  @return An Array of ValidationResult objects, with one ValidationResult
+	 *  object for each field examined by the validator.
+	 *
+	 *  @see mx.validators.ValidationResult
+	 */
+	public static function validateCreditCard(validator:CreditCardValidator,
+											  value:Object,
+											  baseField:String):Array
+	{
+		var results:Array = [];
+
+		// Resource-backed properties of the validator.
+		var allowedFormatChars:String = validator.allowedFormatChars;
+
+		var resourceManager:IResourceManager = ResourceManager.getInstance();
+
+	    var baseFieldDot:String = baseField ? baseField + "." : "";
+
+		var valid:String = DECIMAL_DIGITS + allowedFormatChars;
+		var cardType:String = null;
+		var cardNum:String = null;
+		var digitsOnlyCardNum:String = "";
+		var message:String;
+
+		var n:int;
+		var i:int;
+
+		try
+		{
+			cardType = String(value.cardType);
+		}
+		catch(e:Error)
+		{
+			// Use the default value and move on
+			message = resourceManager.getString(
+				"validators", "missingCardType");
+			throw new Error(message);
+		}
+
+		try
+		{
+			cardNum = value.cardNumber;
+		}
+		catch(f:Error)
+		{
+			// Use the default value and move on
+			message = resourceManager.getString(
+				"validators", "missingCardNumber");
+			throw new Error(message);
+		}
+
+        if (validator.required)
+        {
+            if (cardType.length == 0)
+            {
+				results.push(new ValidationResult(
+					true, baseFieldDot + "cardType",
+					"requiredField", validator.requiredFieldError));
+            }
+
+            if (!cardNum)
+            {
+                results.push(new ValidationResult(
+					true, baseFieldDot + "cardNumber",
+					"requiredField", validator.requiredFieldError));
+            }
+        }
+
+		n = allowedFormatChars.length;
+		for (i = 0; i < n; i++)
+		{
+			if (DECIMAL_DIGITS.indexOf(allowedFormatChars.charAt(i)) != -1)
+			{
+				message = resourceManager.getString(
+					"validators", "invalidFormatChars");
+				throw new Error(message);
+			}
+		}
+
+		if (!cardType)
+		{
+			results.push(new ValidationResult(
+				true, baseFieldDot + "cardType",
+				"noType", validator.noTypeError));
+		}
+		else if (cardType != CreditCardValidatorCardType.MASTER_CARD &&
+				 cardType != CreditCardValidatorCardType.VISA &&
+				 cardType != CreditCardValidatorCardType.AMERICAN_EXPRESS &&
+				 cardType != CreditCardValidatorCardType.DISCOVER &&
+				 cardType != CreditCardValidatorCardType.DINERS_CLUB)
+		{
+			results.push(new ValidationResult(
+				true, baseFieldDot + "cardType",
+				"wrongType", validator.wrongTypeError));
+		}
+
+		if (!cardNum)
+		{
+			results.push(new ValidationResult(
+				true, baseFieldDot + "cardNumber",
+				"noNum", validator.noNumError));
+		}
+
+		if (cardNum)
+		{
+			n = cardNum.length;
+			for (i = 0; i < n; i++)
+			{
+				var temp:String = "" + cardNum.substring(i, i + 1);
+				if (valid.indexOf(temp) == -1)
+				{
+					results.push(new ValidationResult(
+						true, baseFieldDot + "cardNumber",
+						"invalidChar", validator.invalidCharError));
+				}
+				if (DECIMAL_DIGITS.indexOf(temp) != -1)
+					digitsOnlyCardNum += temp;
+			}
+		}
+
+		if (results.length > 0)
+			return results;
+
+		var cardNumLen:int = digitsOnlyCardNum.toString().length;
+		var correctLen:Number = -1;
+		var correctLen2:Number = -1;
+		var correctPrefixArray:Array = [];
+
+		// diner club cards with a beginning digit of 5 need to be treated as
+		// master cards. Go to the following link for more info.
+		// http://www.globalpaymentsinc.com/myglobal/industry_initiatives/mc-dc-canada.html
+		if (cardType == CreditCardValidatorCardType.DINERS_CLUB &&
+			digitsOnlyCardNum.charAt(0) == "5")
+		{
+			cardType = CreditCardValidatorCardType.MASTER_CARD;
+		}
+
+		switch (cardType)
+		{
+			case CreditCardValidatorCardType.MASTER_CARD:
+			{
+				correctLen = 16;
+				correctPrefixArray.push("51");
+				correctPrefixArray.push("52");
+				correctPrefixArray.push("53");
+				correctPrefixArray.push("54");
+				correctPrefixArray.push("55");
+				break;
+			}
+
+			case CreditCardValidatorCardType.VISA:
+			{
+				correctLen = 13;
+				correctLen2 = 16;
+				correctPrefixArray.push("4");
+				break;
+			}
+
+			case CreditCardValidatorCardType.AMERICAN_EXPRESS:
+			{
+				correctLen = 15;
+				correctPrefixArray.push("34");
+				correctPrefixArray.push("37");
+				break;
+			}
+
+			case CreditCardValidatorCardType.DISCOVER:
+			{
+				correctLen = 16;
+				correctPrefixArray.push("6011");
+				break;
+			}
+
+			case CreditCardValidatorCardType.DINERS_CLUB:
+			{
+				correctLen = 14;
+				correctPrefixArray.push("300");
+				correctPrefixArray.push("301");
+				correctPrefixArray.push("302");
+				correctPrefixArray.push("303");
+				correctPrefixArray.push("304");
+				correctPrefixArray.push("305");
+				correctPrefixArray.push("36");
+				correctPrefixArray.push("38");
+				break;
+			}
+
+			default:
+			{
+				results.push(new ValidationResult(
+					true, baseFieldDot + "cardType",
+					"wrongType", validator.wrongTypeError));
+				return results;
+			}
+		}
+
+		if ((cardNumLen != correctLen) && (cardNumLen != correctLen2))
+		{
+			results.push(new ValidationResult(
+				true, baseFieldDot + "cardNumber",
+				"wrongLength", validator.wrongLengthError));
+			return results;
+		}
+
+		// Validate the prefix
+		var foundPrefix:Boolean = false;
+		for (i = correctPrefixArray.length - 1; i >= 0; i--)
+		{
+			if (digitsOnlyCardNum.indexOf(correctPrefixArray[i]) == 0)
+			{
+				foundPrefix = true;
+				break;
+			}
+		}
+
+		if (!foundPrefix)
+		{
+			results.push(new ValidationResult(
+				true, baseFieldDot + "cardNumber",
+				"invalidNumber", validator.invalidNumberError));
+			return results;
+		}
+
+		// Implement Luhn formula testing of this.cardNumber
+		var doubledigit:Boolean = false;
+		var checkdigit:int = 0;
+		var tempdigit:int;
+		for (i = cardNumLen - 1; i >= 0; i--)
+		{
+			tempdigit = Number(digitsOnlyCardNum.charAt(i));
+			if (doubledigit)
+			{
+				tempdigit *= 2;
+				checkdigit += (tempdigit % 10);
+				if ((tempdigit / 10) >= 1.0)
+					checkdigit++;
+				doubledigit = false;
+			}
+			else
+			{
+				checkdigit = checkdigit + tempdigit;
+				doubledigit = true;
+			}
+		}
+
+		if ((checkdigit % 10) != 0)
+		{
+			results.push(new ValidationResult(
+				true, baseFieldDot + "cardNumber",
+				"invalidNumber", validator.invalidNumberError));
+			return results;
+		}
+
+		return results;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function CreditCardValidator()
+	{
+		super();
+
+		subFields = [ "cardNumber", "cardType" ];
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  actualListeners
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Returns either the listener or the source
+	 *  for the cardType and cardNumber subfields.
+	 */
+	override protected function get actualListeners():Array
+	{
+		var results:Array = [];
+
+		var typeResult:Object;
+		if (_cardTypeListener)
+			typeResult = _cardTypeListener;
+		else if (_cardTypeSource)
+			typeResult = _cardTypeSource;
+
+		results.push(typeResult);
+		if (typeResult is IValidatorListener)
+			IValidatorListener(typeResult).validationSubField = "cardType";
+
+		var numResult:Object;
+		if (_cardNumberListener)
+			numResult = _cardNumberListener;
+		else if (_cardNumberSource)
+			numResult = _cardNumberSource;
+
+		results.push(numResult);
+		if (numResult is IValidatorListener)
+			IValidatorListener(numResult).validationSubField = "cardNumber";
+
+		if (results.length > 0 && listener)
+			results.push(listener);
+
+		return results;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  allowedFormatChars
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the allowedFormatChars property.
+	 */
+	private var _allowedFormatChars:String;
+
+    /**
+	 *  @private
+	 */
+	private var allowedFormatCharsOverride:String;
+
+	[Inspectable(category="General", defaultValue="null")]
+
+	/**
+	 *  The set of formatting characters allowed in the
+	 *  cardNumber field.
+	 *
+	 *  @default " -" (space and dash)
+	 */
+	public function get allowedFormatChars():String
+	{
+		return _allowedFormatChars;
+	}
+
+    /**
+	 *  @private
+	 */
+	public function set allowedFormatChars(value:String):void
+	{
+		if (value != null)
+		{
+			var n:int = value.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				if (DECIMAL_DIGITS.indexOf(value.charAt(i)) != -1)
+				{
+					var message:String = resourceManager.getString(
+						"validators", "invalidFormatChars");
+					throw new Error(message);
+				}
+			}
+		}
+
+		allowedFormatCharsOverride = value;
+
+		_allowedFormatChars = value != null ?
+							  value :
+							  resourceManager.getString(
+								  "validators",
+								  "creditCardValidatorAllowedFormatChars");
+	}
+
+	//----------------------------------
+	//  cardNumberListener
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the cardNumberListener property.
+	 */
+	private var _cardNumberListener:IValidatorListener;
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  The component that listens for the validation result
+	 *  for the card number subfield.
+	 *  If none is specified, use the value specified
+	 *  to the cardNumberSource property.
+	 */
+	public function get cardNumberListener():IValidatorListener
+	{
+		return _cardNumberListener;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set cardNumberListener(value:IValidatorListener):void
+	{
+		if (_cardNumberListener == value)
+			return;
+
+		removeListenerHandler();
+
+		_cardNumberListener = value;
+
+		addListenerHandler();
+	}
+
+	//----------------------------------
+	//  cardNumberProperty
+	//----------------------------------
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Name of the card number property to validate.
+	 *  This attribute is optional, but if you specify
+	 *  the cardNumberSource property,
+	 *  you should also set this property.
+	 */
+	public var cardNumberProperty:String;
+
+	//----------------------------------
+	//  cardNumberSource
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the cardNumberSource property.
+	 */
+	private var _cardNumberSource:Object;
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Object that contains the value of the card number field.
+	 *  If you specify a value for this property, you must also specify
+	 *  a value for the cardNumberProperty property.
+	 *  Do not use this property if you set the source
+	 *  and property properties.
+	 */
+	public function get cardNumberSource():Object
+	{
+		return _cardNumberSource;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set cardNumberSource(value:Object):void
+	{
+		if (_cardNumberSource == value)
+			return;
+
+		if (value is String)
+		{
+			var message:String = resourceManager.getString(
+				"validators", "CNSAttribute", [ value ]);
+			throw new Error(message);
+		}
+
+		removeListenerHandler();
+
+		_cardNumberSource = value;
+
+		addListenerHandler();
+	}
+
+	//----------------------------------
+	//  cardTypeListener
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the cardTypeListener property.
+	 */
+	private var _cardTypeListener:IValidatorListener;
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  The component that listens for the validation result
+	 *  for the card type subfield.
+	 *  If none is specified, then use the value
+	 *  specified to the cardTypeSource property.
+	 */
+	public function get cardTypeListener():IValidatorListener
+	{
+		return _cardTypeListener;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set cardTypeListener(value:IValidatorListener):void
+	{
+		if (_cardTypeListener == value)
+			return;
+
+		removeListenerHandler();
+
+		_cardTypeListener = value;
+
+		addListenerHandler();
+	}
+
+	//----------------------------------
+	//  cardTypeProperty
+	//----------------------------------
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Name of the card type property to validate.
+	 *  This attribute is optional, but if you specify the
+	 *  cardTypeSource property,
+	 *  you should also set this property.
+	 *
+     *
In MXML, valid values are:

+     *

+     *
"American Express"

+     *
"Diners Club"

+     *
"Discover"

+     *
"MasterCard"

+     *
"Visa"

+     *

+	 *
+	 *
In ActionScript, you can use the following constants to set this property:

+	 *
CreditCardValidatorCardType.AMERICAN_EXPRESS,
+	 *  CreditCardValidatorCardType.DINERS_CLUB,
+	 *  CreditCardValidatorCardType.DISCOVER,
+	 *  CreditCardValidatorCardType.MASTER_CARD, and
+	 *  CreditCardValidatorCardType.VISA.

+	 *
+	 *  @see mx.validators.CreditCardValidatorCardType
+	 */
+	public var cardTypeProperty:String;
+
+	//----------------------------------
+	//  cardTypeSource
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the cardTypeSource property.
+	 */
+	private var _cardTypeSource:Object;
+
+    [Inspectable(category="General")]
+
+	/**
+	 *  Object that contains the value of the card type field.
+	 *  If you specify a value for this property, you must also specify
+	 *  a value for the cardTypeProperty property.
+	 *  Do not use this property if you set the source
+	 *  and property properties.
+	 */
+	public function get cardTypeSource():Object
+	{
+		return _cardTypeSource;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set cardTypeSource(value:Object):void
+	{
+		if (_cardTypeSource == value)
+			return;
+
+		if (value is String)
+		{
+			var message:String = resourceManager.getString(
+				"validators", "CTSAttribute", [ value ]);
+			throw new Error(message);
+		}
+
+		removeListenerHandler();
+
+		_cardTypeSource = value;
+
+		addListenerHandler();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties: Errors
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  invalidCharError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the invalidCharError property.
+	 */
+	private var _invalidCharError:String;
+
+    /**
+	 *  @private
+	 */
+	private var invalidCharErrorOverride:String;
+
+	[Inspectable(category="Errors", defaultValue="null")]
+
+	/**
+	 *  Error message when the cardNumber field contains invalid characters.
+	 *
+	 *  @default "Invalid characters in your credit card number. (Enter numbers only.)"
+	 */
+	public function get invalidCharError():String
+	{
+		return _invalidCharError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set invalidCharError(value:String):void
+	{
+		invalidCharErrorOverride = value;
+
+		_invalidCharError = value != null ?
+							value :
+							resourceManager.getString(
+								"validators", "invalidCharErrorCCV");
+	}
+
+	//----------------------------------
+	//  invalidNumberError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the invalidNumberError property.
+	 */
+	private var _invalidNumberError:String;
+
+    /**
+	 *  @private
+	 */
+	private var invalidNumberErrorOverride:String;
+
+	[Inspectable(category="Errors", defaultValue="null")]
+
+	/**
+	 *  Error message when the credit card number is invalid.
+	 *
+	 *  @default "The credit card number is invalid."
+	 */
+	public function get invalidNumberError():String
+	{
+		return _invalidNumberError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set invalidNumberError(value:String):void
+	{
+		invalidNumberErrorOverride = value;
+
+		_invalidNumberError = value != null ?
+							  value :
+							  resourceManager.getString(
+							      "validators", "invalidNumberError");
+	}
+
+	//----------------------------------
+	//  noNumError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the noNumError property.
+	 */
+	private var _noNumError:String;
+
+    /**
+	 *  @private
+	 */
+	private var noNumErrorOverride:String;
+
+	[Inspectable(category="Errors", defaultValue="null")]
+
+	/**
+	 *  Error message when the cardNumber field is empty.
+	 *
+	 *  @default "No credit card number is specified."
+	 */
+	public function get noNumError():String
+	{
+		return _noNumError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set noNumError(value:String):void
+	{
+		noNumErrorOverride = value;
+
+		_noNumError = value != null ?
+					  value :
+					  resourceManager.getString(
+					      "validators", "noNumError");
+	}
+
+	//----------------------------------
+	//  noTypeError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the noTypeError property.
+	 */
+	private var _noTypeError:String;
+
+    /**
+	 *  @private
+	 */
+	private var noTypeErrorOverride:String;
+
+	[Inspectable(category="Errors", defaultValue="null")]
+
+	/**
+	 *  Error message when the cardType field is blank.
+	 *
+	 *  @default "No credit card type is specified or the type is not valid."
+	 */
+	public function get noTypeError():String
+	{
+		return _noTypeError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set noTypeError(value:String):void
+	{
+		noTypeErrorOverride = value;
+
+		_noTypeError = value != null ?
+					   value :
+					   resourceManager.getString(
+					       "validators", "noTypeError");
+	}
+
+	//----------------------------------
+	//  wrongLengthError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the wrongLengthError property.
+	 */
+	private var _wrongLengthError:String;
+
+    /**
+	 *  @private
+	 */
+	private var wrongLengthErrorOverride:String;
+
+	[Inspectable(category="Errors", defaultValue="null")]
+
+	/**
+	 *  Error message when the cardNumber field contains the wrong
+	 *  number of digits for the specified credit card type.
+	 *
+	 *  @default "Your credit card number contains the wrong number of digits."
+	 */
+	public function get wrongLengthError():String
+	{
+		return _wrongLengthError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set wrongLengthError(value:String):void
+	{
+		wrongLengthErrorOverride = value;
+
+		_wrongLengthError = value != null ?
+							value :
+							resourceManager.getString(
+								"validators", "wrongLengthErrorCCV");
+	}
+
+	//----------------------------------
+	//  wrongTypeError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the wrongTypeError property.
+	 */
+	private var _wrongTypeError:String;
+
+    /**
+	 *  @private
+	 */
+	private var wrongTypeErrorOverride:String;
+
+	[Inspectable(category="Errors", defaultValue="null")]
+
+	/**
+	 *  Error message the cardType field contains an invalid credit card type.
+	 *  You should use the predefined constants for the cardType field:
+	 *  CreditCardValidatorCardType.MASTER_CARD,
+	 *  CreditCardValidatorCardType.VISA,
+	 *  CreditCardValidatorCardType.AMERICAN_EXPRESS,
+	 *  CreditCardValidatorCardType.DISCOVER, or
+	 *  CreditCardValidatorCardType.DINERS_CLUB.
+	 *
+	 *  @default "Incorrect card type is specified."
+	 */
+	public function get wrongTypeError():String
+	{
+		return _wrongTypeError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set wrongTypeError(value:String):void
+	{
+		wrongTypeErrorOverride = value;
+
+		_wrongTypeError = value != null ?
+						  value :
+						  resourceManager.getString(
+						      "validators", "wrongTypeError");
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+     */
+	override protected function resourcesChanged():void
+	{
+		super.resourcesChanged();
+
+		allowedFormatChars = allowedFormatCharsOverride;
+
+		invalidCharError = invalidCharErrorOverride;
+		invalidNumberError = invalidNumberErrorOverride;
+		noNumError = noNumErrorOverride;
+		noTypeError = noTypeErrorOverride;
+		wrongLengthError = wrongLengthErrorOverride;
+		wrongTypeError = wrongTypeErrorOverride;
+	}
+
+	/**
+     *  Override of the base class doValidation() method
+	 *  to validate a credit card number.
+	 *
+	 *
You do not call this method directly;
+	 *  Flex calls it as part of performing a validation.
+	 *  If you create a custom Validator class, you must implement this method.

+	 *
+	 *  @param value an Object to validate.
+     *
+	 *  @return An Array of ValidationResult objects, with one ValidationResult
+	 *  object for each field examined by the validator.
+	 */
+	override protected function doValidation(value:Object):Array
+    {
+		var results:Array = super.doValidation(value);
+
+		// Return if there are errors
+		// or if the required property is set to false and length is 0.
+		var val:String = value ? String(value) : "";
+		if (results.length > 0 || ((val.length == 0) && !required))
+			return results;
+		else
+		    return CreditCardValidator.validateCreditCard(this, value, null);
+    }
+
+	/**
+	 *  @private
+	 *  Grabs the data for the validator from two different sources
+	 */
+	override protected function getValueFromSource():Object
+	{
+		var useValue:Boolean = false;
+
+		var value:Object = {};
+
+		if (cardTypeSource && cardTypeProperty)
+		{
+			value.cardType = cardTypeSource[cardTypeProperty];
+			useValue = true;
+		}
+
+		if (cardNumberSource && cardNumberProperty)
+		{
+			value.cardNumber = cardNumberSource[cardNumberProperty];
+			useValue = true;
+		}
+
+		if (useValue)
+			return value;
+		else
+			return super.getValueFromSource();
+	}
+}
+
+}
+


Transferred from the Adobe Open Source Subversion Repository

Revision: 20684
Author:   rfrishbe@adobe.com
Date:     2011-03-08T19:14:07.872274Z

Log Message:
-----------
ASDoc changes: some cleanups and clarifying mobile vs. spark where appropriate

QE notes: -
Doc notes:
Bugs: SDK-29845
Reviewer: Carol F
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
@@ -76,8 +76,6 @@
 /**
  *  @copy spark.components.supportClasses.GroupBase#style:contentBackgroundColor
  *
- *  @default 0xFFFFFF
- *
  *  @langversion 3.0
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5


Transferred from the Adobe Open Source Subversion Repository

Revision: 19402
Author:   mhorn@adobe.com
Date:     2010-12-15T20:52:49.446395Z

Log Message:
-----------
Temporary ASDoc updates for bug fix SDK-28907

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridSortItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/CursorManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/DragManager.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -369,7 +369,8 @@

 /**
  *  The class to use as the skin for a column that is being resized.
- *  @default mx.skins.halo.DataGridColumnResizeSkin
+ *
+ *  @default mx.skins.halo.DataGridColumnResizeSkin (for both Halo and Spark themes)
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -382,7 +383,10 @@
 /**
  *  The class to use as the skin that defines the appearance of the
  *  background of the column headers in a AdvancedDataGrid control.
- *  @default mx.skins.halo.DataGridHeaderSeparator
+ *
+ *
The default skin class is based on the theme. For example, with the Halo theme,
+ *  the default skin class is mx.skins.halo.DataGridHeaderBackgroundSkin. For the Spark theme, the default skin
+ *  class is mx.skins.spark.DataGridHeaderBackgroundSkin.

  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -394,8 +398,11 @@
 /**
  *  The class to use as the skin that defines the appearance of the
  *  separator between column headers in a AdvancedDataGrid control.
- *  @default mx.skins.halo.DataGridHeaderSeparator
  *
+  *
The default skin class is based on the theme. For example, with the Halo theme,
+ *  the default skin class is mx.skins.halo.DataGridHeaderSeparator. For the Spark theme, the default skin
+ *  class is mx.skins.spark.DataGridHeaderSeparatorSkin.

+*
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
@@ -406,7 +413,7 @@
 /**
  *  The class to use as the skin that defines the appearance of the
  *  separator between a column group and its children columns/column group headers
- *  in a AdvancedDataGrid control.
+ *  in an AdvancedDataGrid control.
  *  @default mx.skins.halo.AdvancedDataGridHeaderHorizontalSeparator
  *
  *  @langversion 3.0
@@ -496,7 +503,7 @@
  *  The class to use as the skin that indicates that
  *  a column can be dropped in the current location.
  *
- *  @default mx.skins.halo.DataGridColumnDropIndicator
+ *  @default mx.skins.halo.DataGridColumnDropIndicator (for both Halo and Spark themes)
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -1013,11 +1020,11 @@
             var bold:Boolean = (fontWeight == "bold");
             var italic:Boolean = (fontStyle == "italic");
             var flexModuleFactory:IFlexModuleFactory = getFontContext(fontName, bold, italic);
-
-			var c:Class = getStyle("defaultDataGridItemRenderer");
-			if (!c)
-				c = AdvancedDataGridItemRenderer;
-
+
+            var c:Class = getStyle("defaultDataGridItemRenderer");
+            if (!c)
+                c = AdvancedDataGridItemRenderer;
+
             super.itemRenderer = new ContextualClassFactory(c, flexModuleFactory);

         }
@@ -1188,7 +1195,7 @@
         super.focusPane = value;

         if (value)
-			value.scrollRect = listSubContent ? listSubContent.scrollRect : null;
+            value.scrollRect = listSubContent ? listSubContent.scrollRect : null;

         if (!value && _focusPane)
             _focusPane.mask = null;
@@ -1231,7 +1238,7 @@
         {
             for (i = super.lockedColumnCount; i < value ;i++)
             {
-            	m = listItems.length;
+                m = listItems.length;
                 for(j = 0; j < m; j++)
                 {
                     if (listItems[j] && listItems[j][i])
@@ -1243,7 +1250,7 @@
         {
             for (i = value; i < super.lockedColumnCount ;i++)
             {
-            	m = listItems.length;
+                m = listItems.length;
                 for(j = 0; j < m; j++)
                 {
                     if (listItems[j] && listItems[j][i])
@@ -1399,27 +1406,27 @@
     {
         _draggableColumns = value;
     }
-
-	//----------------------------------
-	//  enableIME
-	//----------------------------------
-
-	/**
-	 *  A flag that indicates whether the IME should
-	 *  be enabled when the component receives focus.
-	 *
-	 *  If the editor is up, it will set enableIME
-	 *  accordingly.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
-	public function get enableIME():Boolean
-	{
-		return false;
-	}
+
+    //----------------------------------
+    //  enableIME
+    //----------------------------------
+
+    /**
+     *  A flag that indicates whether the IME should
+     *  be enabled when the component receives focus.
+     *
+     *  If the editor is up, it will set enableIME
+     *  accordingly.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get enableIME():Boolean
+    {
+        return false;
+    }

     //----------------------------------
     //  imeMode
@@ -2655,14 +2662,14 @@
                                   shiftKey:Boolean, ctrlKey:Boolean,
                                   transition:Boolean = true):Boolean
      {
-     	var val:Boolean = super.selectItem(item, shiftKey, ctrlKey, transition);
-
-     	// if item.data is AdvancedDataGridColumn, it means that a header is selected
+        var val:Boolean = super.selectItem(item, shiftKey, ctrlKey, transition);
+
+        // if item.data is AdvancedDataGridColumn, it means that a header is selected
         // selectedItem should be null
         if (item.data is AdvancedDataGridColumn)
-        	_selectedItem = null;
-
-       	return val;
+            _selectedItem = null;
+
+        return val;
      }

      /**
@@ -2671,11 +2678,11 @@
      */
      override mx_internal function addSelectionData(uid:String, selectionData:ListBaseSelectionData):void
      {
-     	// if data is AdvancedDataGridColumn, it means that a header is selected
+        // if data is AdvancedDataGridColumn, it means that a header is selected
         // it should not be added into the list
-    	if (selectionData.data is AdvancedDataGridColumn)
-    		return ;
-    	super.addSelectionData(uid, selectionData);
+        if (selectionData.data is AdvancedDataGridColumn)
+            return ;
+        super.addSelectionData(uid, selectionData);
      }

      /**
@@ -4288,7 +4295,7 @@

             if (getStyle("horizontalGridLines"))
             {
-            	var n:int = listItems.length;
+                var n:int = listItems.length;
                 for (var i:int = 0; i < n; i++)
                 {
                     drawHorizontalSeparator(lockedLinesBody, i, lineCol, rowInfo[i].y + rowInfo[i].height);
@@ -4829,7 +4836,7 @@
         var colIndex:int = coord.columnIndex;
         if (displayableColumns.length != _columns.length)
         {
-        	var n:int = displayableColumns.length;
+            var n:int = displayableColumns.length;
             for (var i:int = 0; i < n; i++)
             {
                 if (displayableColumns[i].colNum >= colIndex)
@@ -5003,7 +5010,7 @@
     {
         if (displayableColumns.length != _columns.length)
         {
-        	var n:int = displayableColumns.length;
+            var n:int = displayableColumns.length;
             for (var i:int = 0; i < n; i++)
             {
                 if (displayableColumns[i].colNum >= colIndex)
@@ -5044,28 +5051,28 @@
             if (!itemEditorInstance)
             {
                 var itemEditor:IFactory = col.itemEditor;
-				if (itemEditor == AdvancedDataGridColumn.defaultItemEditorFactory)
-				{
-					// if it is the default factory, see if someone
-					// overrode it with this style
-					var c:Class = getStyle("defaultDataGridItemEditor");
-					if (c)
-					{
-						var fontName:String =
-							StringUtil.trimArrayElements(col.getStyle("fontFamily"), ",");
-						var fontWeight:String = col.getStyle("fontWeight");
-						var fontStyle:String = col.getStyle("fontStyle");
-						var bold:Boolean = (fontWeight == "bold");
-						var italic:Boolean = (fontStyle == "italic");
-
-						var flexModuleFactory:IFlexModuleFactory =
-							getFontContext(fontName, bold, italic);
-
-						itemEditor = col.itemEditor = new ContextualClassFactory(
-							c, flexModuleFactory);
-					}
-				}
-
+                if (itemEditor == AdvancedDataGridColumn.defaultItemEditorFactory)
+                {
+                    // if it is the default factory, see if someone
+                    // overrode it with this style
+                    var c:Class = getStyle("defaultDataGridItemEditor");
+                    if (c)
+                    {
+                        var fontName:String =
+                            StringUtil.trimArrayElements(col.getStyle("fontFamily"), ",");
+                        var fontWeight:String = col.getStyle("fontWeight");
+                        var fontStyle:String = col.getStyle("fontStyle");
+                        var bold:Boolean = (fontWeight == "bold");
+                        var italic:Boolean = (fontStyle == "italic");
+
+                        var flexModuleFactory:IFlexModuleFactory =
+                            getFontContext(fontName, bold, italic);
+
+                        itemEditor = col.itemEditor = new ContextualClassFactory(
+                            c, flexModuleFactory);
+                    }
+                }
+
                 dx = col.editorXOffset;
                 dy = col.editorYOffset;
                 dw = col.editorWidthOffset;
@@ -5360,7 +5367,7 @@
         }
         if(freeItemRenderersTable[c])
         {
-        	// remove item renderers
+            // remove item renderers
             var freeRenderers:Array = freeItemRenderersTable[c][c.itemRenderer] as Array;
             if (freeRenderers)
             {
@@ -5525,15 +5532,15 @@
             return;
         }

-		// Global coordinates.
+        // Global coordinates.
         var deltaX:Number = event.stageX - startX;

-		// If the mouse pointer over the right (layoutDirection=”ltr”) or
-		// left (layoutDirection=”rtl”) half of the column, the drop indicator
-		// should be shown before the next column.
-		var deltaXInLocalCoordinates:Number =
-			(layoutDirection == LayoutDirection.LTR ? +deltaX : -deltaX);
-
+        // If the mouse pointer over the right (layoutDirection=”ltr”) or
+        // left (layoutDirection=”rtl”) half of the column, the drop indicator
+        // should be shown before the next column.
+        var deltaXInLocalCoordinates:Number =
+            (layoutDirection == LayoutDirection.LTR ? +deltaX : -deltaX);
+
         // Move header selection.
         s = Sprite(selectionLayer.getChildByName("headerSelection"));
         if (s)
@@ -5587,7 +5594,7 @@
                 isHeaderDragOutside = false;

                 // If the mouse pointer over the right (ltr) or left (rtl) half
-				// of the column, the drop indicator should be shown before the next column.
+                // of the column, the drop indicator should be shown before the next column.
                 if (pt.x > (columnXPos + headerInfo.column.width/2) ||
                     //Column groups which are partially visible should
                     //show drag indicator at the right end only
@@ -5894,7 +5901,7 @@
         dispatchEvent(advancedDataGridEvent);
     }

-	/**
+    /**
      *  Returns the column index corresponding to the field name of a sortable field.
      *
      *  @param name The name of a sortable field of the data provider, as defined by
@@ -5911,7 +5918,7 @@
     {
         if (collection && collection.sort)
         {
-        	var n:int = collection.sort.fields.length;
+            var n:int = collection.sort.fields.length;
             for (var i:int = 0; i < n; i++)
             {
                 if (collection.sort.fields[i]["name"] == name)
@@ -6369,9 +6376,9 @@
      */
     protected function isHeaderItemRenderer(item:IListItemRenderer):Boolean
     {
-    	// data is set to AdvancedDataGridColumn for header items
+        // data is set to AdvancedDataGridColumn for header items
         if (item != null && item.data is AdvancedDataGridColumn)
-        	return true;
+            return true;

         return false;
     }
@@ -6696,7 +6703,7 @@
         else if (getOptimumColumns() == displayableColumns)
             return absoluteToDisplayColumnIndex(colNum);
         else
-        	return -1;
+            return -1;
     }

     /**
@@ -6721,7 +6728,7 @@
         else if (getOptimumColumns() == displayableColumns)
             return displayToAbsoluteColumnIndex(columnIndex);
         else
-        	return -1;
+            return -1;
     }

     //--------------------------------------------------------------------------
@@ -7498,19 +7505,19 @@
         lastPt = new Point(event.stageX, event.stageY);
         lastPt = listContent.globalToLocal(lastPt);

-		/*      var n:int = separators.length;
-		    for (var i:int = 0; i < n; i++)
-		    {
-		    if (separators[i] == event.target)
-		    {
-		    resizingColumn = optimumColumns[i];
-		    break;
-		    }
-		    }
-
-		    if (!resizingColumn)
-		    return;
-		*/
+        /*      var n:int = separators.length;
+            for (var i:int = 0; i < n; i++)
+            {
+            if (separators[i] == event.target)
+            {
+            resizingColumn = optimumColumns[i];
+            break;
+            }
+            }
+
+            if (!resizingColumn)
+            return;
+        */

         resizingColumn = optimumColumns[index];
         var headerItem:IListItemRenderer = getHeaderInfo(optimumColumns[index]).headerItem;
@@ -8060,11 +8067,11 @@
         if (headerIndex == -1)
             return;

-		// If rtl layout, need to swap LEFT and RIGHT so correct action
-		// is done.
-		var keyCode:uint = mapKeycodeForLayoutDirection(event);
-
-		var newColumnIndex:int;
+        // If rtl layout, need to swap LEFT and RIGHT so correct action
+        // is done.
+        var keyCode:uint = mapKeycodeForLayoutDirection(event);
+
+        var newColumnIndex:int;

         if (keyCode == Keyboard.DOWN)
         {
@@ -8098,20 +8105,20 @@
         {
             if (sortableColumns && columns[headerIndex].sortable)
             {
-	            isKeyPressed = true;
-	            selectedHeaderInfo = getHeaderInfo(columns[headerIndex]);
-	            selectColumnHeader(headerIndex);
-
-	            var advancedDataGridEvent:AdvancedDataGridEvent =
-	                new AdvancedDataGridEvent(AdvancedDataGridEvent.SORT, false, true);
-
-	            advancedDataGridEvent.columnIndex     = headerIndex;
-	            advancedDataGridEvent.dataField       = columns[headerIndex].dataField;
-	            advancedDataGridEvent.multiColumnSort      = event.ctrlKey;
-	            advancedDataGridEvent.removeColumnFromSort = event.shiftKey;
-
-	            dispatchEvent(advancedDataGridEvent);
-        	}
+                isKeyPressed = true;
+                selectedHeaderInfo = getHeaderInfo(columns[headerIndex]);
+                selectColumnHeader(headerIndex);
+
+                var advancedDataGridEvent:AdvancedDataGridEvent =
+                    new AdvancedDataGridEvent(AdvancedDataGridEvent.SORT, false, true);
+
+                advancedDataGridEvent.columnIndex     = headerIndex;
+                advancedDataGridEvent.dataField       = columns[headerIndex].dataField;
+                advancedDataGridEvent.multiColumnSort      = event.ctrlKey;
+                advancedDataGridEvent.removeColumnFromSort = event.shiftKey;
+
+                dispatchEvent(advancedDataGridEvent);
+            }
         }
         // horizontal scrolling when focus is on header
         else if ( event.shiftKey


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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridDragProxy.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
 {


Added demonstration for click detection

Added demonstration for click detection

git-svn-id: f772d44cbf86d9968f12179c1556189f5afcea6e@654 e0ac87d7-b42b-0410-9034-8248a05cb448

--- braineditor/Core.as
+++ braineditor/Core.as
@@ -21,6 +21,17 @@
         brain = new Brain();
         modetogglebutton=new ModeToggleButton(mc,new Point(0,40), new Point(100,70),"DRAWMODE");
         makelobebutton=new MakeLobeButton(mc,new Point(0,80), new Point(100,110),modetogglebutton);
+
+        var keyListener = {};
+        keyListener.onKeyDown = function()
+        {
+            var k = Key.getCode();
+            if(k == Key.DELETEKEY){
+                Brain.makenewlobe();
+            }
+        };
+
+Key.addListener( keyListener );
     }

     // entry point==============================================================


Added some security stuff

Added some security stuff

git-svn-id: 27326a786375daad9d33dc990c6f272e4c8f567c@855 fda5f131-174c-0410-8613-e0905860106b

--- org.openwms/trunk/source/org.openwms.common.domain.as/src/main/flex/org/openwms/common/domain/system/usermanagement/Role.as
+++ org.openwms/trunk/source/org.openwms.common.domain.as/src/main/flex/org/openwms/common/domain/system/usermanagement/Role.as
@@ -4,7 +4,7 @@
  * This file is part of openwms.org.
  *
  * openwms.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
+ * it under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation, either version 3 of the
  * License, or (at your option) any later version.
  *
@@ -23,10 +23,10 @@
     [Bindable]
     [RemoteClass(alias="org.openwms.common.domain.system.usermanagement.Role")]
     public class Role extends RoleBase {
-
-    	public function Role(name:String = null, description:String = null) {
-    		this._name = name;
-    		this._description = description;
-    	}
+
+        public function Role(name : String=null, description : String=null) {
+            this._name = name;
+            this._description = description;
+        }
     }
 }


qnd: support in "allowCookies" flashvar

qnd: support in "allowCookies" flashvar

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@85787 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- plugins/bitrateDetectionPlugin/src/com/kaltura/kdpfl/plugin/component/BitrateDetectionMediator.as
+++ plugins/bitrateDetectionPlugin/src/com/kaltura/kdpfl/plugin/component/BitrateDetectionMediator.as
@@ -58,6 +58,8 @@
 		 */
 		private var _playedPlayed:Boolean = false;

+		private var _configProxy:ConfigProxy;
+
 		private var _prevTime:Number;
 		private var _prevBytesLoaded:int;
 		private var _forceBitrate:int;
@@ -112,7 +114,7 @@
 						((mediaProxy.vo.entry is KalturaMediaEntry) && (int(mediaProxy.vo.entry.mediaType)==KalturaMediaType.IMAGE)))
 						break;
 					trace("bitrate detection:", notification.getName());
-					var configProxy:ConfigProxy = facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy;
+					_configProxy = facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy;
 					if ((viewComponent as bitrateDetectionPluginCode).useFlavorCookie)
 					{
 						var flavorCookie : SharedObject;
@@ -160,14 +162,13 @@
 			trace ("bitrate detection: start download");
 			if (!(viewComponent as bitrateDetectionPluginCode).downloadUrl)
 				return;
-
-			var configProxy:ConfigProxy = facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy;
+
 			var mediaProxy:MediaProxy = facade.retrieveProxy(MediaProxy.NAME) as MediaProxy;
 			//disable autoPlay - will change it back once the bitrate detection will finish
-			if (configProxy.vo.flashvars.autoPlay == "true")
+			if (_configProxy.vo.flashvars.autoPlay == "true")
 			{
 				trace ("bitrate detection: was auto play");
-				configProxy.vo.flashvars.autoPlay = "false";
+				_configProxy.vo.flashvars.autoPlay = "false";
 				_wasAutoPlay = true;
 			}
 			if (mediaProxy.vo.singleAutoPlay)
@@ -238,28 +239,29 @@

 			}

-
-
-
 			sendNotification(NotificationType.CHANGE_PREFERRED_BITRATE, {bitrate: bitrateVal});

 			_bandwidth = bitrateVal;

 			//write to cookie
-			var flavorCookie : SharedObject;
-			try
-			{
-				flavorCookie = SharedObject.getLocal("kaltura");
-			}
-			catch (e : Error)
-			{
-				trace("No access to user's file system");
-			}
-			if (flavorCookie && flavorCookie.data)
-			{
-				flavorCookie.data.preferedFlavorBR = bitrateVal;
-				flavorCookie.flush();
-			}
+			if (_configProxy.vo.flashvars.allowCookies=="true")
+			{
+				var flavorCookie : SharedObject;
+				try
+				{
+					flavorCookie = SharedObject.getLocal("kaltura");
+				}
+				catch (e : Error)
+				{
+					trace("No access to user's file system");
+				}
+				if (flavorCookie && flavorCookie.data)
+				{
+					flavorCookie.data.preferedFlavorBR = bitrateVal;
+					flavorCookie.flush();
+				}
+			}
+

 			finishDownloadProcess();
 		}
@@ -300,8 +302,7 @@
 				var sequenceProxy:SequenceProxy = facade.retrieveProxy(SequenceProxy.NAME) as SequenceProxy;
 				if (_wasAutoPlay)
 				{
-					var configProxy:ConfigProxy = facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy;
-					configProxy.vo.flashvars.autoPlay = "true";
+					_configProxy.vo.flashvars.autoPlay = "true";
 				}
 				else
 				{


Transferred from the Adobe Open Source Subversion Repository

Revision: 18871
Author:   smgilson@adobe.com
Date:     2010-11-30T20:10:44.561987Z

Log Message:
-----------
Fix ASDoc version tags

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultComplexItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkScrollBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SprakTextAreaAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkVolumeBarAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SprakSkinnableTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as
@@ -10,138 +10,138 @@
 ////////////////////////////////////////////////////////////////////////////////
 package spark.automation.delegates.skins.spark
 {
-	import flash.display.DisplayObject;
-
-	import mx.automation.Automation;
-	import mx.automation.IAutomationObject;
-	import mx.core.UIComponent;
-	import mx.core.mx_internal;
-
-	import spark.automation.delegates.components.SparkGroupAutomationImpl;
-	import spark.automation.delegates.components.gridClasses.SparkGridItemRendererAutomationImpl;
-	import spark.skins.spark.DefaultGridHeaderRenderer;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  ItemRenderer class for spark.
-	 *
-	 *  @see spark.skins.spark.DefaultItemRenderer
-	 *
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 4
-	 */
-	public class SparkDefaultGridHeaderRendererAutomationImpl extends SparkGridItemRendererAutomationImpl
-	{
-		include "../../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.skins.spark.DefaultGridHeaderRenderer, SparkDefaultGridHeaderRendererAutomationImpl);
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Constructor
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Constructor.
-		 * @param obj DefaultGridHeaderRenderer object to be automated.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.0
-		 *  @productversion Flex 4.5
-		 */
-		public function SparkDefaultGridHeaderRendererAutomationImpl(obj:DefaultGridHeaderRenderer)
-		{
-			super(obj);
-			recordClick = false;
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Variables
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  @private
-		 *  storage for the owner component
-		 */
-		protected function get gridItem():spark.skins.spark.DefaultGridHeaderRenderer
-		{
-			return uiComponent as spark.skins.spark.DefaultGridHeaderRenderer;
-		}
-
-
-		//--------------------------------------------------------------------------
-		//
-		//  Overridden properties
-		//
-		//--------------------------------------------------------------------------
-
-		//----------------------------------
-		//  automationName
-		//----------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function get automationName():String
-		{
-			return gridItem.label|| super.automationName;
-		}
-
-		//----------------------------------
-		//  automationValue
-		//----------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function get automationValue():Array
-		{
-			return [automationName];
-		}
-
-		override public function getAutomationChildAt(index:int):IAutomationObject
-		{
-			return null;
-		}
-
-		override public function get numAutomationChildren():int
-		{
-			return 0;
-		}
-
-		override public function getAutomationChildren():Array
-		{
-			return [];
-		}
-	}
+    import flash.display.DisplayObject;
+
+    import mx.automation.Automation;
+    import mx.automation.IAutomationObject;
+    import mx.core.UIComponent;
+    import mx.core.mx_internal;
+
+    import spark.automation.delegates.components.SparkGroupAutomationImpl;
+    import spark.automation.delegates.components.gridClasses.SparkGridItemRendererAutomationImpl;
+    import spark.skins.spark.DefaultGridHeaderRenderer;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  ItemRenderer class for spark.
+     *
+     *  @see spark.skins.spark.DefaultItemRenderer
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public class SparkDefaultGridHeaderRendererAutomationImpl extends SparkGridItemRendererAutomationImpl
+    {
+        include "../../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.skins.spark.DefaultGridHeaderRenderer, SparkDefaultGridHeaderRendererAutomationImpl);
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Constructor.
+         * @param obj DefaultGridHeaderRenderer object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public function SparkDefaultGridHeaderRendererAutomationImpl(obj:DefaultGridHeaderRenderer)
+        {
+            super(obj);
+            recordClick = false;
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Variables
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  @private
+         *  storage for the owner component
+         */
+        protected function get gridItem():spark.skins.spark.DefaultGridHeaderRenderer
+        {
+            return uiComponent as spark.skins.spark.DefaultGridHeaderRenderer;
+        }
+
+
+        //--------------------------------------------------------------------------
+        //
+        //  Overridden properties
+        //
+        //--------------------------------------------------------------------------
+
+        //----------------------------------
+        //  automationName
+        //----------------------------------
+
+        /**
+         *  @private
+         */
+        override public function get automationName():String
+        {
+            return gridItem.label|| super.automationName;
+        }
+
+        //----------------------------------
+        //  automationValue
+        //----------------------------------
+
+        /**
+         *  @private
+         */
+        override public function get automationValue():Array
+        {
+            return [automationName];
+        }
+
+        override public function getAutomationChildAt(index:int):IAutomationObject
+        {
+            return null;
+        }
+
+        override public function get numAutomationChildren():int
+        {
+            return 0;
+        }
+
+        override public function getAutomationChildren():Array
+        {
+            return [];
+        }
+    }
 }


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

--- frameworks/projects/automation/src/mx/automation/tabularData/AdvancedDataGridTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/AdvancedDataGridTabularData.as
@@ -0,0 +1,142 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.tabularData
+{
+
+	import mx.automation.Automation;
+	import mx.automation.tabularData.AdvancedListBaseTabularData;
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationTabularData;
+	import mx.controls.AdvancedDataGrid;
+	import mx.controls.listClasses.IListItemRenderer;
+	import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
+	import mx.core.mx_internal;
+
+	use namespace mx_internal;
+
+	/**
+	 * @private
+	 */
+	public class AdvancedDataGridTabularData extends AdvancedListBaseTabularData
+	{
+		/**
+		 *  Constructor
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function AdvancedDataGridTabularData(dg:AdvancedDataGrid)
+		{
+
+			super(dg);
+			this.dg = dg;
+		}
+
+		/**
+		 *  @private
+		 */
+		private var dg:AdvancedDataGrid;
+
+		/**
+		 *  @private
+		 */
+		override public function get numColumns():int
+		{
+			return dg.columnCount;
+		}
+
+
+		/**
+		 *  @private
+		 */
+		override public function get columnNames():Array
+		{
+			//override to provide the column names
+			var result:Array = [];
+			var n:int = dg.columnCount;
+			var columns:Array = dg.columns;
+			for (var i:int = 0; i < n; ++i)
+			{
+				result.push(columns[i].dataField);
+			}
+			return result;
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function get firstVisibleRow():int
+		{
+			var listItems:Array = dg.rendererArray;
+
+			if (!dg.headerVisible)
+				return super.firstVisibleRow;
+			else
+				return (listItems[0][0]
+					? dg.itemRendererToIndex(listItems[0][0])
+					: 0);
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function getAutomationValueForData(data:Object):Array
+		{
+			var ret:Array = [];
+			var n:int = dg.columnCount;
+
+			//   var listItems:Array = dg.rendererArray;
+			for (var i:int = 0; i < n; i++)
+			{
+				//since visibleData data is only keyed per row
+				//and doesn't include renderers for each column
+				//we can't optimize by using it
+				//var item:IListItemRenderer = visibleData[itemToUID(data)];
+				var item:IListItemRenderer;
+
+				//if (item == null)
+				//{
+				var c:AdvancedDataGridColumn = dg.columns[i];
+				//   item = dg.listItems[colNo];
+				item = dg.getMeasuringRenderer(c, false,c.dataField);
+				dg.setupRendererFromData(c, item, data);
+				//}
+				if(item is IAutomationObject)
+					ret.push(IAutomationObject(item).automationValue.join(" | "));
+			}
+
+			return ret;
+		}
+
+
+		/**
+		 *  @inheritDoc
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		override public function get numRows():int
+		{
+			if (dg.dataProvider)
+				return dg.dataProvider.length;
+
+			return super.numRows;
+		}
+
+
+
+	}
+}


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

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

 package mx.charts.series.renderData
 {