Transferred from the Adobe Open Source Subversion Repository

Revision: 17193
Author:   chiedozi@adobe.com
Date:     2010-08-04T23:30:00.595161Z

Log Message:
-----------
Changed the interaction model behind focus and ViewNavigator.  When a view is activated, if the stage has no focus or the focused item is no longer on the display list, the focus is set to the active view.  In all other instances, the stage focus remains as is.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -1,5 +1,6 @@
 package spark.components
 {
+import flash.display.Stage;
 import flash.events.Event;
 import flash.geom.Rectangle;

@@ -1521,10 +1522,6 @@
             removeElement(currentView);
             currentView.returnedObject = null;

-            // FIXME (chiedozi): Figure out how to use focus manager to manage focus
-            // when a component in the current view has focus.
-			stage.focus = null;
-
             // Grab the data from the old view and persist it
             if (lastAction == PUSH_ACTION || lastAction == CHANGE_SECTION_ACTION)
             {
@@ -1554,6 +1551,18 @@
         tabBarVisibilityInvalidated = false;

         clearActionBarInvalidationFlags();
+
+        // If there is no focus or the item that had focus isn't
+        // on the display list anymore, update the focus to be
+        // the active view or the view navigator
+        var stage:Stage = systemManager.stage;
+        if (!stage.focus || !stage.focus.stage || stage.focus == this)
+        {
+            if (activeView)
+                stage.focus = activeView;
+            else
+                stage.focus = this;
+        }

         if (currentViewData)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6220
Author:   smgilson@adobe.com
Date:     2009-04-23T19:19:23.764222Z

Log Message:
-----------
More ASDoc work on effects

QE Notes: None
Doc Notes: None
Bugs: -
checkintests: passed

Modified Paths:
--------------
<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/supportClasses/RotateInstance.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/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateFilterInstance.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/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as
@@ -12,10 +12,33 @@
 {
 import spark.effects.SimpleMotionPath;

+/**
+ *  The MoveInstance class implements the instance class
+ *  for the Move effect.
+ *  Flex creates an instance of this class when it plays a Move
+ *  effect; you do not create one yourself.
+ *
+ *  @see spark.effects.Move
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
 public class MoveInstance extends AnimateInstance
 {
     include "../../core/Version.as";

+    /**
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function MoveInstance(target:Object)
     {
         super(target);
@@ -39,8 +62,7 @@
     //----------------------------------

     /**
-     *  Number of pixels by which to modify the y of the component.
-     *  Values may be negative.
+     *  @copy spark.effects.Move#yBy
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -54,7 +76,7 @@
     //----------------------------------

     /**
-     *  Initial y. If omitted, Flex uses the current size.
+     *  @copy spark.effects.Move#yFrom
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -69,7 +91,7 @@

     /**
-     *  Final y, in pixels.
+     *  @copy spark.effects.Move#yTo
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -83,8 +105,7 @@
     //----------------------------------

     /**
-     *  Number of pixels by which to modify the width of the component.
-     *  Values may be negative.
+     *  @copy spark.effects.Move#xBy
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -98,7 +119,7 @@
     //----------------------------------

     /**
-     *  Initial x. If omitted, Flex uses the current size.
+     *  @copy spark.effects.Move#xFrom
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -112,7 +133,7 @@
     //----------------------------------

     /**
-     *  Final x, in pixels.
+     *  @copy spark.effects.Move#xTo
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 17826
Author:   chiedozi@adobe.com
Date:     2010-09-23T22:18:56.585572Z

Log Message:
-----------
Altered TabbedViewNavigator's skin so that the TabBar appears at the bottom of the component instead of the top.

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as
@@ -124,7 +124,7 @@
         {
             tabBarHeight = Math.min(tabBar.getPreferredBoundsHeight(), unscaledHeight);
             tabBar.setLayoutBoundsSize(unscaledWidth, tabBarHeight);
-            tabBar.setLayoutBoundsPosition(0, 0);
+            tabBar.setLayoutBoundsPosition(0, unscaledHeight - tabBarHeight);
             tabBarHeight = tabBar.getLayoutBoundsHeight();
         }

@@ -147,7 +147,7 @@
                 var contentGroupHeight:Number = Math.max(unscaledHeight - tabBarHeight, 0);

                 contentGroup.setLayoutBoundsSize(unscaledWidth, contentGroupHeight);
-                contentGroup.setLayoutBoundsPosition(0, tabBarHeight);
+                contentGroup.setLayoutBoundsPosition(0, 0);
             }
         }
     }


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

--- frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as
@@ -17,6 +17,11 @@
  *
The default value for the ComboBox control is 5.

  *
The default value for the Form container is 16.

  *
The default value for the Tree control is 2.

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

@@ -27,5 +32,10 @@
  *
The default value for a Button control is 10.

  *
The default value for the ComboBox control is 5.

  *
The default value for the Form container is 16.

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


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

--- frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.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.messaging.channels.amfx
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 1098
Author:   jimurphy@adobe.com
Date:     2008-04-03T21:50:39.896200Z

Log Message:
-----------
Merge 3.0.x -- 362:394, 427:429, 603:608, 644:645, 651:663, 672:676, 755:756, 763:766, 785:790, 812:814, 854:861, 862:866, 866:933,971:1009, 1050:1056 --> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/DefaultDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IRepeaterClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/Locale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/SOAPMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IBrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ComponentDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IViewCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/IMenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ILayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Spacer.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/rpc/src/mx/rpc/Fault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/XMLListCollection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SliderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncToken.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ScrollEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/CuePointManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/NumericStepperEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/events/ChannelFaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/CursorBookmark.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/WSDLLoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/LoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/FlexClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/LogLogger.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build_framework.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/HeaderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/ITreeDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>

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

--- frameworks/projects/framework/src/mx/utils/ObjectProxy.as
+++ frameworks/projects/framework/src/mx/utils/ObjectProxy.as
@@ -586,7 +586,8 @@
      *  After an event is dispatched, its target property cannot be changed, so you
      *  must create a new copy of the event for redispatching to work.
      *
-     *  @return true if the event was successfully dispatched. A value
+     *  @return Returns true if the event was successfully dispatched.
+     *  A value
      *  of false indicates failure or that preventDefault()
      *  was called on the event.
      *
@@ -607,7 +608,7 @@
      *
      *  @param type The type of event
      *
-     *  @return true if a listener of the specified type is
+     *  @return Returns true if a listener of the specified type is
      *  registered; false otherwise.
      *
      *  @see flash.events.EventDispatcher#hasEventListener()
@@ -627,7 +628,7 @@
      *
      *  @param type The type of event.
      *
-     *  @return A value of true if a listener of the specified type will
+     *  @return Returns true if a listener of the specified type will
      *  be triggered; false otherwise.
      *
      *  @see flash.events.EventDispatcher#willTrigger()


Transferred from the Adobe Open Source Subversion Repository

Revision: 22414
Author:   cframpto@adobe.com
Date:     2011-09-06T21:29:47.983707Z

Log Message:
-----------
Fix doc which had incorrectly said prompt was not supported for mobile.

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -263,7 +263,7 @@
  *    editable="true"
  *    imeMode="null"  [Spark theme only]
  *    maxChars="0"
- *    prompt="null"  [Spark theme only]
+ *    prompt="null"
  *    restrict="null"
  *    returnLabelKey="default"  [Mobile theme only]
  *    selectable="true"
@@ -796,8 +796,6 @@
      *

      *

      *
-     *
For the Mobile theme, this is not supported.

-     *
      *  @default null
      *
      *  @langversion 3.0


Transferred from the Adobe Open Source Subversion Repository

Revision: 6220
Author:   smgilson@adobe.com
Date:     2009-04-23T19:19:23.764222Z

Log Message:
-----------
More ASDoc work on effects

QE Notes: None
Doc Notes: None
Bugs: -
checkintests: passed

Modified Paths:
--------------
<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/supportClasses/RotateInstance.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/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateFilterInstance.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/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateColorInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateColorInstance.as
@@ -16,8 +16,13 @@
 import mx.styles.StyleManager;

 /**
- * The instance of the AnimateColor effect, which animates a change in
- * color by interpolating the from/to values per color channel
+ *  The AnimateColorInstance class is the instance class of
+ *  the AnimateColor effect, which animates a change in
+ *  color by interpolating the from/to values per color channel.
+ *  Flex creates an instance of this class when
+ *  it plays a AnimateFilter effect; you do not create one yourself.
+ *
+ *  @see spark.effects.AnimateColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -27,7 +32,7 @@
 public class AnimateColorInstance extends AnimateInstance
 {
     /**
-     * copy mx.effects.AnimateColor#colorFrom
+     *  @copy spark.effects.AnimateColor#colorFrom
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -37,7 +42,7 @@
     public var colorFrom:uint;

     /**
-     * copy mx.effects.AnimateColor#colorTo
+     *  @copy spark.effects.AnimateColor#colorTo
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -47,7 +52,7 @@
     public var colorTo:uint;

     /**
-     * copy mx.effects.AnimateColor#colorPropertyName
+     *  @copy spark.effects.AnimateColor#colorPropertyName
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -56,6 +61,16 @@
      */
     public var colorPropertyName:String;

+    /**
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function AnimateColorInstance(target:Object)
     {
         super(target);


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

--- frameworks/projects/automation/src/mx/automation/events/ChartSelectionChangeEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/ChartSelectionChangeEvent.as
@@ -0,0 +1,250 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
+{
+
+	import flash.events.Event;
+	import mx.controls.listClasses.IListItemRenderer;
+
+	/**
+	 *  The ListItemSelectEvent class represents event objects that are dispatched
+	 *  when an item in a list-based control such as a Menu,
+	 *  DataGrid, or Tree control is selected or deselected.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class ChartSelectionChangeEvent extends Event
+	{
+		include "../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class constants
+		//
+		//--------------------------------------------------------------------------
+
+
+		/**
+		 *  The AdvancedDataGridEvent.HEADER_RELEASE constant defines the value of the
+		 *  type property of the event object for a
+		 *  headerRelease event, which indicates that the
+		 *  user pressed and released the mouse on a column header.
+		 *
+		 *
The properties of the event object have the following values:

+		 *

+		 *
Property	Value

+		 *
bubbles	false

+		 *
cancelable	true

+		 *
columnIndex	 The zero-based index of the
+		 *       item's column in the AdvancedDataGrid object's columns array.

+		 *
currentTarget	The Object that defines the
+		 *       event listener that handles the event. For example, if you use
+		 *       myButton.addEventListener() to register an event listener,
+		 *       myButton is the value of the currentTarget.

+		 *
dataField	The name of the field or property in the
+		 *       data associated with the column.

+		 *
itemRenderer	The header renderer that is
+		 *       being released.

+		 *
localX	NaN

+		 *
reason	null

+		 *
rowIndex	null

+		 *
target	The Object that dispatched the event;
+		 *       it is not always the Object listening for the event.
+		 *       Use the currentTarget property to always access the
+		 *       Object listening for the event.

+		 *
type	AdvancedDataGridEvent.HEADER_RELEASE

+		 *

+		 *
+		 *  @eventType headerRelease
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static const CHANGE:String = "change";
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 *  Normally called by the Flex control and not used in application code.
+		 *
+		 *  @param type The event type; indicates the action that caused the event.
+		 *
+		 *  @param bubbles Specifies whether the event can bubble
+		 *  up the display list hierarchy.
+		 *
+		 *  @param cancelable Specifies whether the behavior
+		 *  associated with the event can be prevented.
+		 *
+		 *  @param itemRenderer The item renderer object for the item.
+		 *
+		 *  @param triggerEvent The event, such as a mouse or keyboard event, that
+		 *              triggered the selection action.
+		 *
+		 *  @param altKey Whether the Alt key was pressed at the time of the event.
+		 *
+		 *  @param ctrlKey Whether the Ctrl key was pressed at the time of the event.
+		 *
+		 *  @param shiftKey Whether the Shift key was pressed at the time of the event.
+		 *
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function ChartSelectionChangeEvent(type:String,
+												  selectionInfo:Array=null ,bubbles:Boolean = false,
+												  cancelable:Boolean = false,
+												  triggerEvent:Event = null,
+												  ctrlKey:Boolean = false,
+												  altKey:Boolean = false,
+												  shiftKey:Boolean = false)
+		{
+			super(type, bubbles, cancelable);
+
+			this.selectionInfo = selectionInfo;
+			//this.chartItemIndex = chartItemIndex;
+			this.triggerEvent = triggerEvent;
+			this.ctrlKey = ctrlKey;
+			this.altKey = altKey;
+			this.shiftKey = shiftKey;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+
+		//----------------------------------
+		//  altKey
+		//----------------------------------
+
+		/**
+		 *  Indicates whether the Alt key was pressed at the time of the event, true,
+		 *  or not, false.
+		 *
+		 *  @default false
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var altKey:Boolean;
+
+		//----------------------------------
+		//  ctrlKey
+		//----------------------------------
+
+		/**
+		 *  Indicates whether the Ctrl key was pressed at the time of the event, true,
+		 *  or not, false.
+		 *
+		 *  @default false
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var ctrlKey:Boolean;
+
+		//----------------------------------
+		//  triggerEvent
+		//----------------------------------
+
+		/**
+		 *  Event that triggered the item selection event,
+		 *  such as a keyboard or mouse event.
+		 *
+		 *  @default null
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var triggerEvent:Event;
+
+		//----------------------------------
+		//  seriesIndex
+		//----------------------------------
+
+		//----------------------------------
+		//  shiftKey
+		//----------------------------------
+
+
+		public var selectionInfo:Array;
+		/**
+		 *  Indicates whether the Shift key was pressed at the time of the event, true,
+		 *  or not, false.
+		 *
+		 *  @default false
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var shiftKey:Boolean;
+
+
+		/**
+		 *  The automationValue string of the item to be selected.
+		 *  This is used when the item to be selected is not visible in the control.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var itemAutomationValue:String;
+
+
+		/**
+		 *  The data provider index of the item to be selected.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods: Event
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function clone():Event
+		{
+			return new ChartSelectionChangeEvent(type, selectionInfo, bubbles, cancelable,
+				triggerEvent,
+				ctrlKey, altKey, shiftKey);
+		}
+	}
+
+}


Image, Flash: Do not scale if image is smaller and doesn't require crop or header stripping.

--- src/flash/src/com/Image.as
+++ src/flash/src/com/Image.as
@@ -200,16 +200,15 @@
 			var self:Image = this, scale:Number, orientation:uint = 1, selector:Function, output:BitmapData,

 				// when scaled directly, Flash produces low quality result, so we do it here gradually
-				downScale:Function = function(tmpWidth:Number, tmpHeight:Number) : void {
-					_prepareBitmapData(tmpWidth, tmpHeight, function(bd:BitmapData) : void { // modifies output internally
+				downScale:Function = function(tmpWidth:Number, tmpHeight:Number) : void
+				{
+					// modifies output internally
+					_prepareBitmapData(tmpWidth, tmpHeight, function(bd:BitmapData) : void
+					{
 						var matrix:Matrix, imgWidth:Number, imgHeight:Number;

 						scale = selector(tmpWidth / output.width, tmpHeight / output.height);
-						if (scale > 1 && (!crop || preserveHeaders)) { // if we do not crop or strip off headers
-							dispatchEvent(new ImageEvent(ImageEvent.RESIZE));
-							return;
-						}
-
+
 						matrix = new Matrix;
 						matrix.scale(scale, scale);

@@ -274,6 +273,14 @@
 				// retain proportions
 				selector = Math.min;
 				scale = selector(width / output.width, height / output.height);
+
+				// if image is smaller and we do not crop or strip off headers, there's nothing to do
+				if (scale > 1 && preserveHeaders) {
+					dispatchEvent(new ImageEvent(ImageEvent.RESIZE));
+					return;
+				}
+
+				// calculate scaled dimensions
 				width = Math.round(output.width * scale);
 				height = Math.round(output.height * scale);
 			} else {


update

update

--- source/com/kemsky/Iterator.as
+++ source/com/kemsky/Iterator.as
@@ -14,7 +14,7 @@
     use namespace flash_proxy;

     /**
-     * @private
+     * An iterator over a stream.
      */
     public class Iterator extends Proxy
     {
@@ -35,23 +35,20 @@
         }

         /**
-         * @private
+         * Current item index.
          */
         private function get nextIndex():int
         {
             return _next;
         }

-        /**
-         * @inheritDoc
-         */
         public function get index():int
         {
             return _current;
         }

         /**
-         * @inheritDoc
+         * Current item.
          */
         public function get item():*
         {
@@ -59,7 +56,7 @@
         }

         /**
-         * @inheritDoc
+         * Restart iterator.
          */
         public function reset():void
         {
@@ -68,7 +65,7 @@
         }

         /**
-         * @inheritDoc
+         * Stop iterator.
          */
         public function stop():void
         {
@@ -76,7 +73,8 @@
         }

         /**
-         * @inheritDoc
+         * Removes from the underlying stream the last item returned
+         * by this iterator.
          */
         public function remove():void
         {
@@ -95,7 +93,7 @@
         }

         /**
-         * @inheritDoc
+         * Returns true if iteration has more items.
          */
         public function get hasNext():Boolean
         {
@@ -103,7 +101,8 @@
         }

         /**
-         * @inheritDoc
+         * Returns the next item in the iteration.
+         * @return next item
          */
         public function next():*
         {
@@ -119,7 +118,8 @@
         }

         /**
-         * @inheritDoc
+         * Set current item.
+         * @param value new item
          */
         public function set item(value:*):void
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19678
Author:   chiedozi@adobe.com
Date:     2011-01-10T22:45:03.607947Z

Log Message:
-----------
Resolved some FIXMEs

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
@@ -55,12 +55,14 @@
     //
     //--------------------------------------------------------------------------

-    // FIXME (chiedozi): ASDOC propeties
-
-    // Responsible for storing the views
+    /**
+     *  @copy spark.components.SkinnableContainer#contentGroup
+     */
     public var contentGroup:Group;

-    // The action bar to use for the navigator
+    /**
+     *  @copy spark.components.ViewNavigator#actionBar
+     */
     public var actionBar:ActionBar;

     //--------------------------------------------------------------------------
@@ -68,7 +70,7 @@
     //  Overridden properties
     //
     //--------------------------------------------------------------------------
-    // TODO (chiedozi): ASDOC
+
     /**
      *  @copy spark.skins.spark.ApplicationSkin#hostComponent
      */
@@ -119,6 +121,9 @@
         }
     }

+    /**
+     *  @private
+     */
     override protected function commitCurrentState():void
     {
         super.commitCurrentState();


Transferred from the Adobe Open Source Subversion Repository

Revision: 8486
Author:   smgilson@adobe.com
Date:     2009-07-09T18:42:45.734868Z

Log Message:
-----------
Third checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -138,7 +138,7 @@
  *
  *  @mxml
  *
- *
The <ButtonBase> tag inherits all of the tag
+ *
The <s:ButtonBase> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:

  *
  *


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

--- frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as
+++ frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as
@@ -40,6 +40,11 @@
      *
      *
One instance of LoaderConfig is created by the SystemManager.
      *  You should not need to construct your own.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function LoaderConfig()
     {
@@ -65,6 +70,11 @@
     /**
      *  If the LoaderConfig has been initialized, this
      *  should represent the top-level MovieClip's parameters.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get parameters():Object
     {
@@ -84,6 +94,11 @@
     /**
      *  If the LoaderConfig has been initialized, this
      *  should represent the top-level MovieClip's URL.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get url():String
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21536
Author:   jasonsj@adobe.com
Date:     2011-07-11T23:14:34.905781Z

Log Message:
-----------
Initial checkin for Callout/CalloutButton and mobile check-in tests.

* Refactored pop up transformations from PopUpAnchor.applyPopUpTransform() to mx.utils.PopUpUtil.applyPopUpTransform()
* CalloutPosition.AUTO not yet implemented
* Visuals are not the final XD design.

QE notes:
Doc notes:
Bugs:
Reviewer: chiedozi
Tests run: checkintests, checkintests-mobile
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.flexLibProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/utils/PopUpUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-app.xml</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as
@@ -0,0 +1,329 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.skins.mobile
+{
+import flash.display.GradientType;
+import flash.display.GraphicsPathCommand;
+
+import mx.core.mx_internal;
+import mx.events.FlexEvent;
+import mx.utils.ColorUtil;
+
+import spark.components.ArrowDirection;
+import spark.components.Callout;
+import spark.components.Group;
+import spark.core.SpriteVisualElement;
+import spark.skins.mobile.supportClasses.MobileSkin;
+
+use namespace mx_internal;
+
+/**
+ *  The default skin class for the Spark Callout component in mobile
+ *  applications.
+ *
+ *  @see spark.components.Callout
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+public class CalloutSkin extends MobileSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function CalloutSkin()
+    {
+        super();
+
+        // TODO (jasonsj): DPI-specific arrow size, padding
+        padding = 9;
+        cornerRadius = 9;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
+    public var hostComponent:Callout;
+
+    private var padding:uint;
+
+    private var cornerRadius:uint;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin parts
+    //
+    //--------------------------------------------------------------------------
+
+    public var contentGroup:Group;
+
+    public var arrow:SpriteVisualElement;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        contentGroup = new Group();
+        contentGroup.id = "contentGroup";
+        addChild(contentGroup);
+
+        // TODO (jasonsj): FXG
+        arrow = new SpriteVisualElement();
+        arrow.id = "arrow";
+        addChild(arrow);
+
+        // TODO (jasonsj): RectangularDropShadow
+    }
+
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        // TODO (jasonsj): FXG
+        if (isArrowHorizontal)
+        {
+            arrow.width = 26;
+            arrow.height = 52 + (cornerRadius * 2);
+        }
+        else if (isArrowVertical)
+        {
+            arrow.width = 52 + (cornerRadius * 2);
+            arrow.height = 26;
+        }
+
+        invalidateSize();
+        invalidateDisplayList();
+    }
+
+    override protected function measure():void
+    {
+        super.measure();
+
+        var backgroundWidth:Number = contentGroup.getPreferredBoundsWidth() + (padding * 4);
+        var backgroundHeight:Number = contentGroup.getPreferredBoundsHeight() + (padding * 4);
+        var arrowWidth:Number = arrow.getPreferredBoundsWidth();
+        var arrowHeight:Number = arrow.getPreferredBoundsHeight();
+
+        measuredMinWidth = arrowWidth;
+        measuredMinHeight = arrowHeight;
+        measuredWidth = backgroundWidth;
+        measuredHeight = backgroundHeight;
+
+        if (isArrowHorizontal)
+        {
+            measuredWidth += arrowWidth;
+        }
+        else if (isArrowVertical)
+        {
+            measuredHeight += arrowHeight;
+        }
+    }
+
+    override protected function commitCurrentState():void
+    {
+        super.commitCurrentState();
+
+        // FIXME (jasonsj): SkinnablePopUpContainer relies on state changes
+        //                  for open and close
+        dispatchEvent(new FlexEvent(FlexEvent.STATE_CHANGE_COMPLETE));
+    }
+
+    override protected function drawBackground(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        var ellipseSize:Number = cornerRadius * 2;
+        var contentPadding:Number = padding * 2;
+        var backgroundColor:Number = getStyle("backgroundColor");
+        var backgroundColorTop:Number = ColorUtil.adjustBrightness2(backgroundColor, 20);
+
+        // FIXME (jasonsj): fixed gradient height?
+        colorMatrix.createGradientBox(unscaledWidth, 40, Math.PI / 2, 0, 0);
+
+        var backgroundX:Number = Math.floor(contentGroup.getLayoutBoundsX() - contentPadding);
+        var backgroundY:Number = Math.floor(contentGroup.getLayoutBoundsY() - contentPadding);
+
+        // TODO (jasonsj): FXG
+        graphics.beginGradientFill(GradientType.LINEAR,
+            [backgroundColorTop, backgroundColor],
+            [1, 1],
+            [0, 255],
+            colorMatrix);
+        graphics.drawRoundRect(backgroundX,
+            backgroundY,
+            contentGroup.getLayoutBoundsWidth() + (contentPadding * 2),
+            contentGroup.getLayoutBoundsHeight() + (contentPadding * 2),
+            ellipseSize,
+            ellipseSize);
+        graphics.endFill();
+
+        graphics.beginFill(getStyle("contentBackgroundColor"), getStyle("contentBackgroundAlpha"));
+        graphics.drawRoundRect(contentGroup.getLayoutBoundsX() - padding,
+            contentGroup.getLayoutBoundsY() - padding,
+            contentGroup.getLayoutBoundsWidth() + contentPadding,
+            contentGroup.getLayoutBoundsHeight() + contentPadding,
+            ellipseSize,
+            ellipseSize);
+        graphics.endFill();
+
+        arrow.graphics.clear();
+
+        if (isArrowHorizontal || isArrowVertical)
+        {
+            // when drawing the arrow, compensate for cornerRadius
+            var arrowWidth:Number = getElementPreferredWidth(arrow);
+            var arrowHeight:Number = getElementPreferredHeight(arrow);
+            var arrowX:Number = 0;
+            var arrowY:Number = 0;
+            var arrowTipX:Number = 0;
+            var arrowTipY:Number = 0;
+            var arrowEndX:Number = 0;
+            var arrowEndY:Number = 0;
+
+            if (isArrowHorizontal)
+            {
+                arrowY = cornerRadius;
+                arrowHeight = arrowHeight - (cornerRadius * 2);
+
+                arrowTipX = arrowWidth;
+                arrowTipY = arrowY + (arrowHeight / 2);
+
+                arrowEndX = arrowX;
+                arrowEndY = arrowY + arrowHeight;
+
+                // flip coordinates to point left
+                if (hostComponent.arrowDirection == ArrowDirection.LEFT)
+                {
+                    arrowX = arrowWidth - arrowX;
+                    arrowTipX = arrowWidth - arrowTipX;
+                    arrowEndX = arrowWidth - arrowEndX;
+                }
+            }
+            else if (isArrowVertical)
+            {
+                arrowX = cornerRadius;
+                arrowWidth = arrowWidth - (cornerRadius * 2);
+
+                arrowTipX = arrowX + (arrowWidth / 2);
+                arrowTipY = arrowHeight;
+
+                arrowEndX = arrowX + arrowWidth;
+                arrowEndY = arrowY;
+
+                // flip coordinates to point up
+                if (hostComponent.arrowDirection == ArrowDirection.UP)
+                {
+                    arrowY = arrowHeight - arrowY;
+                    arrowTipY = arrowHeight - arrowTipY;
+                    arrowEndY = arrowHeight - arrowEndY;
+                }
+            }
+
+            // TODO (jasonsj): swap FXG for each arrow direction? mask for gradient fill?
+            var commands:Vector.<int> = new Vector.<int>(3, true);
+            commands[0] = GraphicsPathCommand.MOVE_TO;
+            commands[1] = GraphicsPathCommand.LINE_TO;
+            commands[2] = GraphicsPathCommand.LINE_TO;
+
+            var coords:Vector.<Number> = new Vector.<Number>(6, true);
+            coords[0] = arrowX;
+            coords[1] = arrowY;
+            coords[2] = arrowTipX
+            coords[3] = arrowTipY;
+            coords[4] = arrowEndX
+            coords[5] = arrowEndY;
+
+            colorMatrix.createGradientBox(unscaledWidth, 40, Math.PI / 2, 0, -arrow.getLayoutBoundsY());
+
+            arrow.graphics.beginGradientFill(GradientType.LINEAR,
+                [backgroundColorTop, backgroundColor],
+                [1, 1],
+                [0, 255],
+                colorMatrix);
+            arrow.graphics.drawPath(commands, coords);
+            arrow.graphics.endFill();
+        }
+    }
+
+    override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.layoutContents(unscaledWidth, unscaledHeight);
+
+        // 1x padding of backgroundColor, 1x padding of contentBackgroundColor
+        var contentX:Number = padding * 2;
+        var contentY:Number = padding * 2;
+        var contentWidth:Number = unscaledWidth - (padding * 4);
+        var contentHeight:Number = unscaledHeight - (padding * 4);
+
+        // TODO (jasonsj): Arrow FXG
+        var arrowWidth:Number = arrow.getPreferredBoundsWidth();
+        var arrowHeight:Number = arrow.getPreferredBoundsHeight();
+
+        switch (hostComponent.arrowDirection)
+        {
+            case ArrowDirection.UP:
+                contentY += arrowHeight;
+                contentHeight -= arrowHeight;
+                break;
+            case ArrowDirection.DOWN:
+                contentHeight -= arrowHeight;
+                break;
+            case ArrowDirection.LEFT:
+                contentX += arrowWidth;
+                contentWidth -= arrowWidth;
+                break;
+            case ArrowDirection.RIGHT:
+                contentWidth -= arrowWidth;
+                break;
+            default:
+                // no arrow, content takes all available space
+                break;
+        }
+
+        setElementPosition(contentGroup, contentX, contentY);
+        setElementSize(contentGroup, contentWidth, contentHeight);
+    }
+
+    private function get isArrowHorizontal():Boolean
+    {
+        return (hostComponent.arrowDirection == ArrowDirection.LEFT
+            || hostComponent.arrowDirection == ArrowDirection.RIGHT);
+    }
+
+    private function get isArrowVertical():Boolean
+    {
+        return (hostComponent.arrowDirection == ArrowDirection.UP
+            || hostComponent.arrowDirection == ArrowDirection.DOWN);
+    }
+}
+}


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

--- frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as
+++ frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as
@@ -0,0 +1,246 @@
+package mx.messaging
+{
+
+import flash.utils.Dictionary;
+
+import mx.core.mx_internal;
+import mx.logging.Log;
+import mx.messaging.events.MessageEvent;
+
+use namespace mx_internal;
+
+/**
+ *  @private
+ *
+ *  Helper class that listens for MessageEvents dispatched by ChannelSets that Consumers are subscribed over.
+ *  This class is necessary because the server maintains queues of messages to push to this Flex client on a
+ *  per-endpoint basis but the client may create more than one Channel that connects to a single server endpoint.
+ *  In this scenario, messages can be pushed/polled to the client over a different channel instance than the one
+ *  that the target Consumer subscribed over. The server isn't aware of this difference because both channels are
+ *  pointed at the same endpoint. Here's a diagram to illustrate.
+ *
+ *  Client:
+ *               Consumer 1           Consumer 2    Consumer 3
+ *                  |                       |       /
+ *               ChannelSet 1            ChannelSet 2
+ *                  |                       |
+ *               Channel 1               Channel 2  <- The endpoint URIs for these two channels are identical
+ *                  |                       |
+ *                  \_______________________/
+ *  Server:                     |
+ *                              |
+ *                          Endpoint (that the two channels point to)
+ *                              |
+ *                  FlexClientOutboundQueue (for this endpoint for this FlexClient)
+ *                              \-- Outbound messages for the three Consumer subscriptions
+ *
+ *  When the endpoint receives a poll request from Channel 1 it will return queued messages for all three subscriptions
+ *  but back on the client when Channel 1 dispatches message events for Consumer 2 and 3's subscriptions they won't see
+ *  them because they're directly connected to the separate Channel2/ChannelSet2.
+ *  This helper class keeps track of Consumer subscriptions and watches all ChannelSets for message events to
+ *  ensure they're dispatched to the proper Consumer even when the client has been manually (miss)configured as the
+ *  diagram illustrates.
+ *
+ *  This class is a singleton that maintains a table of all subscribed Consumers and ref-counts the number of active
+ *  subscriptions per ChannelSet to determine whether it needs to be listening for message events from a given
+ *  ChannelSet or not; it dispatches message events from these ChannelSets to the proper Consumer instance
+ *  by invoking the Consumer's messageHandler() method directly.
+ */
+public class ConsumerMessageDispatcher
+{
+    //--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  The sole instance of this singleton class.
+     */
+	private static var _instance:ConsumerMessageDispatcher;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Returns the sole instance of this singleton class,
+	 *  creating it if it does not already exist.
+     */
+	public static function getInstance():ConsumerMessageDispatcher
+	{
+		if (!_instance)
+			_instance = new ConsumerMessageDispatcher();
+
+		return _instance;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *  Use getInstance() instead of "new" to create.
+	 */
+	public function ConsumerMessageDispatcher()
+	{
+		super();
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Lookup table for subscribed Consumer instances; Object<Consumer clientId, Consumer>
+     *  This is used to dispatch pushed/polled messages to the proper Consumer instance.
+     */
+    private const _consumers:Object = {};
+
+    /**
+     *  Table of ref-counts per ChannelSet that subscribed Consumer instances are using; Dictionary<ChannelSet, ref-count> (non-weak keys).
+     *  The ref-count is the number of subscribed Consumers for the ChannelSet.
+     *  When we add a new ChannelSet we need to start listening on it for MessageEvents to redispatch to subscribed Consumers.
+     *  When the ref-count drops to zero we need to stop listening on it for MessageEvents and remove it from the table.
+     */
+    private const _channelSetRefCounts:Dictionary = new Dictionary(/* strong keys */);
+
+    /**
+     *  Table used to prevent duplicate delivery of messages to a Consumer when multiple ChannelSets are
+     *  connected to the same server endpoint over a single, underlying shared Channel.
+     */
+    private const _consumerDuplicateMessageBarrier:Object = {};
+
+	//--------------------------------------------------------------------------
+	//
+	//  Public Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Determines whether any subscriptions are using the specified channel.
+     */
+    public function isChannelUsedForSubscriptions(channel:Channel):Boolean
+    {
+        var memberOfChannelSets:Array = channel.channelSets;
+        var cs:ChannelSet = null;
+        var n:int = memberOfChannelSets.length;
+        for (var i:int = 0; i < n; i++)
+        {
+            cs = memberOfChannelSets[i];
+            if ((_channelSetRefCounts[cs] != null) && (cs.currentChannel == channel))
+                return true;
+        }
+        return false;
+    }
+
+    /**
+     *  Registers a Consumer subscription.
+     *  This will cause the ConsumerMessageDispatcher to start listening for MessageEvents
+     *  from the underlying ChannelSet used to subscribe and redispatch messages to Consumers.
+     */
+    public function registerSubscription(consumer:AbstractConsumer):void
+    {
+        _consumers[consumer.clientId] = consumer;
+        if (_channelSetRefCounts[consumer.channelSet] == null)
+        {
+            // If this is the first time we've seen this ChannelSet start listening for message events
+            // and initialize its ref-count.
+            consumer.channelSet.addEventListener(MessageEvent.MESSAGE, messageHandler);
+            _channelSetRefCounts[consumer.channelSet] = 1;
+        }
+        else
+        {
+            // We're already listening for message events; just increment the ref-count.
+            _channelSetRefCounts[consumer.channelSet]++;
+        }
+    }
+
+    /**
+     *  Unregisters a Consumer subscription.
+     *  The ConsumerMessageDispatcher will stop monitoring underlying channels for messages for
+     *  this Consumer.
+     */
+    public function unregisterSubscription(consumer:AbstractConsumer):void
+    {
+        delete _consumers[consumer.clientId];
+        var refCount:int = _channelSetRefCounts[consumer.channelSet];
+        if (--refCount == 0)
+        {
+            // If this was the last Consumer using this ChannelSet stop listening for message events
+            // and blow away the ref-count.
+            consumer.channelSet.removeEventListener(MessageEvent.MESSAGE, messageHandler);
+            _channelSetRefCounts[consumer.channelSet] = null;
+
+            // And clean up the duplicate message delivery barrier if necessary.
+            if (_consumerDuplicateMessageBarrier[consumer.id] != null)
+                delete _consumerDuplicateMessageBarrier[consumer.id];
+        }
+        else
+        {
+            // Save the decremented ref-count.
+            _channelSetRefCounts[consumer.channelSet] = refCount;
+        }
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Private Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Handles message events from ChannelSets that Consumers are subscribed over.
+     *  We just need to redirect the event to the proper Consumer instance.
+     */
+    private function messageHandler(event:MessageEvent):void
+    {
+        var consumer:AbstractConsumer = _consumers[event.message.clientId];
+        if (consumer == null)
+        {
+            if (Log.isDebug())
+                Log.getLogger("mx.messaging.Consumer").debug("'{0}' received pushed message for consumer but no longer subscribed: {1}", event.message.clientId, event.message);
+            return;
+        }
+
+        if (event.target.currentChannel.channelSets.length > 1)
+        {
+            // If two (or more) ChannelSets share an underlying Channel instance and the channel receives
+            // a message for a Consumer, it will dispatch a MessageEvent. Both ChannelSets will
+            // be listening for this event and each will redispatch it. At this level
+            // we need to ensure that a message targeted to a single Consumer is only processed once even
+            // though we'll receive more than one MessageEvent (one per ChannelSet instances connected to
+            // the same underlying Channel).
+            // We do this by recording the most recent message Id received over the currently connected Channel
+            // for the target Consumer and blocking repeat processing. When the Consumer moves to an unsubscribed
+            // state its corresponding barrier is cleaned up.
+            // This (miss?)configuration can be accomplished manually in client code but most clients won't
+            // configure things this way in which case we'll skip to the faster code path below.
+            var consumerId:String = consumer.id;
+            if (_consumerDuplicateMessageBarrier[consumerId] == null)
+                _consumerDuplicateMessageBarrier[consumerId] = {};
+
+            var channelId:String = event.target.currentChannel.id;
+            if (_consumerDuplicateMessageBarrier[consumerId][channelId] != event.messageId)
+            {
+                _consumerDuplicateMessageBarrier[consumerId][channelId] = event.messageId;
+                consumer.messageHandler(event);
+            }
+        }
+        else // Only one ChannelSet so we don't need to worry about this.
+        {
+            consumer.messageHandler(event);
+        }
+    }
+
+}
+
+}


this was fixed by making the backing variable protected

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/TextFieldViewBase.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/TextFieldViewBase.as
@@ -99,11 +99,6 @@
 				html = _textModel.html;
 		}

-		public function get strand():IStrand
-		{
-			return _strand;
-		}
-
         /**
          *  @private
          */


Transferred from the Adobe Open Source Subversion Repository

Revision: 17228
Author:   jszeto@adobe.com
Date:     2010-08-07T00:36:47.941230Z

Log Message:
-----------
CheckBox and RadioButton skins

- Added new ToggleButtonSkinBase which subclasses ButtonBase. It uses the iconDisplay to hold the check box or radio circle.
- Added RadioButtonSkin and CheckBoxSkin which subclass ToggleButtonSkinBase and specifies the icons for the different states.
- Improved FXG skin creation logic in ButtonSkin.

SDK-27296 - Setting iconClass using setStyle does not work

Added logic to styleChanged and moved the iconClass logic to commitProperties

SDK-27295 - Button skin on 'up' state not consistent after clicking a button

Fixed up FXG skin creation logic

QE notes: CheckBox and RadioButton still need some visual tweaks to the FXG skins
Doc notes: none
Bugs: SDK-27296, SDK-27295
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Button.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
@@ -56,24 +56,9 @@
     {
         if (value != _currentState)
         {
-            _previoustState = _currentState;
             _currentState = value;
             commitCurrentState();
         }
-    }
-
-    //----------------------------------
-    //  previousState
-    //----------------------------------
-
-    private var _previoustState:String;
-
-    /**
-     *  The previous value of currentState
-     */
-    protected function get previousState():String
-    {
-        return _previoustState;
     }

     /**


fix

fix

fix

--- src/ageofai/home/view/HomeMediator.as
+++ src/ageofai/home/view/HomeMediator.as
@@ -14,16 +14,16 @@
 		override public function initialize():void
 		{
 			this.addContextListener( HomeEvent.VILLAGER_CREATED, this.villagerCredatedEventHandler);
-			this.addContextListener( HomeEvent.VILLAGER_CREATION_IN_PROGRESS, this.villagerCreatedEventHandler );
+			this.addContextListener( HomeEvent.VILLAGER_CREATION_IN_PROGRESS, this.villagerCreatingInProgressEventHandler );
 		}

-		private function villagerCredatedEventHandler():void
+		private function villagerCredatedEventHandler( e:HomeEvent ):void
 		{

 		}
-		private function villagerCreatedEventHandler():void
+		private function villagerCreatingInProgressEventHandler( e:HomeEvent ):void
 		{
-
+			trace("3: ---- ", e.progressPercentage);
 		}
 	}
 }


FLEX-15903 added check for filter function to stop RTE fixed up comment spacing

--- frameworks/projects/framework/src/mx/collections/ListCollectionView.as
+++ frameworks/projects/framework/src/mx/collections/ListCollectionView.as
@@ -594,7 +594,7 @@
         }

         var listIndex:int = index;
-        //if we're sorted addItemAt is meaningless, just add to the end
+        // if we're sorted addItemAt is meaningless, just add to the end
         if (localIndex && sort)
         {
             listIndex = list.length;
@@ -735,16 +735,20 @@
      */
     private function getFilteredItemIndex(item:Object):int
     {
-        //loc is wrong
-        //the intent of this function is to find where this new item
-        //should be in the filtered list, by looking at the main list
-        //for it's neighbor that is also in this filtered list
-        //and trying to insert item after that neighbor in the insert locao filtered list
+        // loc is wrong
+        // the intent of this function is to find where this new item
+        // should be in the filtered list, by looking at the main list
+        // for it's neighbor that is also in this filtered list
+        // and trying to insert item after that neighbor in the insert locao filtered list

-        //1st get the position in the original list
+        // 1st get the position in the original list
         var loc:int = list.getItemIndex(item);
+
+		// something gone wrong and list is not filtered so just return loc to stop RTE
+		if (filterFunction == null)
+			return loc;

-        //if it's 0 then item must be also the first in the filtered list
+        // if it's 0 then item must be also the first in the filtered list
         if (loc == 0)
             return 0;

@@ -756,7 +760,7 @@
             {
                 var len:int = localIndex.length;
                 // get the index of the item in the filtered set
-                //for (var j:int = 0; j < len; j++)
+                // for (var j:int = 0; j < len; j++)
                 for (var j:int = 0; j < len; j++)
                 {
                     if (localIndex[j] == prevItem)
@@ -765,8 +769,8 @@
             }
         }

-        //turns out that there are no neighbors of item in the filtered
-        //list, so item is the 1st item
+        // turns out that there are no neighbors of item in the filtered
+        // list, so item is the 1st item
         return 0;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9930
Author:   smgilson@adobe.com
Date:     2009-09-02T18:18:40.643031Z

Log Message:
-----------
Add ASDoc version tags to new or untagged classes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Bounce.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/DefaultTileListEffect.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/DefaultListEffect.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Elastic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.messaging.messages
 {


build

build

--- testSrc/TestStream.as
+++ testSrc/TestStream.as
@@ -249,11 +249,12 @@
         [Test]
         public function testFilter():void
         {
-            var s:Stream = $("1", "2", "1").filter(eq(_, "2"));
+            var s:Stream = $("1", "2", "1").filter(function(item:String):Boolean
+            {
+                return item == "2";
+            });
             assertEquals(s.first, "2");
             assertEquals(s.length, 1);
-
-            //todo
         }

         [Test]


Increase virtual HTTP stream FPS to 30

Increase virtual HTTP stream FPS to 30

Affects granularity of frame by frame feature.

--- src/com/axis/httpclient/HTTPClient.as
+++ src/com/axis/httpclient/HTTPClient.as
@@ -17,7 +17,7 @@
     private var urlParsed:Object;
     private var nc:NetConnection;

-    private static const FORCED_FPS:Number = 20;
+    private static const FORCED_FPS:Number = 30;
     private static const UPDATE_VIRT_BUFFER_INTERVAL:Number = 1000 / FORCED_FPS;
     private var updateLoop:uint = 0;
     private var virtPause:Boolean = false;


2.5.2

2.5.2

Improve player detection

--- src/org/openvv/OVVAsset.as
+++ src/org/openvv/OVVAsset.as
@@ -102,7 +102,7 @@
          * Hold OVV version. Will past to JavaScript as well $ovv.version
          */

-        public static const RELEASE_VERSION: String = "2.5.1";
+        public static const RELEASE_VERSION: String = "2.5.2";

         ////////////////////////////////////////////////////////////


FIXED - issue REPRISE-56: rasterize device font ingores padding
http://j.fork.de:8080/browse/REPRISE-56

fixed

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@510 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/controls/Label.as
+++ src/reprise/controls/Label.as
@@ -766,6 +766,16 @@
 				return;
 			}
 			m_cacheInvalid = false;
+			applyRasterize();
+		}
+
+		/**
+		 * Applies the 'rasterize-device-fonts' CSS setting by making a bitmap copy of the text
+		 * field and displaying that instead of the text field itself. This allows text set in
+		 * device fonts to be transformed and displayed with opacities other than 1.
+		 */
+		protected function applyRasterize() : void
+		{
 			if (m_bitmapCache)
 			{
 				m_contentDisplay.removeChild(m_bitmapCache);
@@ -783,15 +793,15 @@
 				bitmap.draw(m_labelDisplay, null, null, null, null, true);
 				m_bitmapCache = new Bitmap(bitmap, 'auto', true);
 				m_contentDisplay.addChild(m_bitmapCache);
-				m_bitmapCache.x = -2;
-				m_bitmapCache.y = -2;
+				m_bitmapCache.x = m_labelDisplay.x - 2;
+				m_bitmapCache.y = m_labelDisplay.y - 2;
 			}
 			else
 			{
 				m_labelDisplay.visible = true;
 			}
 		}
-
+
 		protected function scrollbar_change(event : Event) : void
 		{
 			draw();


CLOSED - issue NIVEASECRET-404: Counterpixel > "back"button wird als "next"buton gezählt
http://j.fork.de:8080/browse/NIVEASECRET-404
CLOSED - issue NIVEASECRET-405: Counterpixel > "...tab_xy.nopv" wird überflüssigerweise gezählt
http://j.fork.de:8080/browse/NIVEASECRET-405
- logs removed

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@618 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -2651,9 +2651,10 @@

 		protected function track(trackingId : String) : void
 		{
+			log('track: ' + (trackingId));
 			m_rootElement.applicationContext().track(trackingId);
 		}
-
+
 		/**
 		 * Hook method. Measures the intrinsic dimensions of the component.
 		 * The default implementation calculates the intrinsic height based


- added default for gradient type
- converted alpha defaults to as3 values

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@530 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/utils/Gradient.as
+++ src/reprise/utils/Gradient.as
@@ -56,7 +56,7 @@
 		/***************************************************************************
 		*							public methods								   *
 		***************************************************************************/
-		public function Gradient(fillType:String, colors:Array = null, alphas:Array = null,
+		public function Gradient(fillType:String = LINEAR, colors:Array = null, alphas:Array = null,
 			ratios:Array = null, matrix:Matrix = null, spreadMethod:String = null,
 			interpolationMethod:String = null, focalPointRatio:Number = 1)
 		{
@@ -113,7 +113,6 @@
 				matrix.createGradientBox(width, height, (m_rotation / 180) * Math.PI,
 					m_origin.x, m_origin.y);
 			}
-
 			target.lineGradientStyle(m_fillType, m_colors, m_alphas, m_ratios, matrix, m_spreadMethod,
 				m_interpolationMethod, m_focalPointRatio);
 		}
@@ -149,7 +148,7 @@
 				else
 				{
 					m_colors.push(color);
-					m_alphas.push(100);
+					m_alphas.push(1);
 				}
 			}
 		}
@@ -287,7 +286,7 @@
 			var len:Number = m_colors.length;
 			while (len--)
 			{
-				m_alphas.push(100);
+				m_alphas.push(1);
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPSchema.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPSchema.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/airframework/src/AIRFrameworkClasses.as
+++ frameworks/projects/airframework/src/AIRFrameworkClasses.as
@@ -20,7 +20,8 @@
  */
 internal class AIRFrameworkClasses
 {
-    import mx.core.FxWindowedApplication; FxWindowedApplication;
+
+
     import mx.managers.NativeDragManagerImpl; NativeDragManagerImpl;
     import mx.skins.halo.StatusBarBackgroundSkin; StatusBarBackgroundSkin;
     import mx.skins.halo.WindowBackground; WindowBackground
@@ -29,17 +30,17 @@
     import mx.skins.halo.WindowMinimizeButtonSkin; WindowMinimizeButtonSkin;
     import mx.skins.halo.WindowMaximizeButtonSkin; WindowMaximizeButtonSkin;
     import mx.skins.halo.WindowRestoreButtonSkin; WindowRestoreButtonSkin;
-    import mx.skins.spark.FxCloseButtonSkin; FxCloseButtonSkin;
-    import mx.skins.spark.FxGripperSkin; FxGripperSkin;
-    import mx.skins.spark.FxMacCloseButtonSkin; FxMacCloseButtonSkin;
-    import mx.skins.spark.FxMacMaximizeButtonSkin; FxMacMaximizeButtonSkin;
-    import mx.skins.spark.FxMacMinimizeButtonSkin; FxMacMinimizeButtonSkin;
-    import mx.skins.spark.FxMaximizeButtonSkin; FxMaximizeButtonSkin;
-    import mx.skins.spark.FxMinimizeButtonSkin; FxMinimizeButtonSkin;
-    import mx.skins.spark.FxRestoreButtonSkin; FxRestoreButtonSkin;
-    import mx.skins.spark.FxTitleBarSkin; FxTitleBarSkin;
-    import mx.skins.spark.FxWindowedApplicationSkin; FxWindowedApplicationSkin;
-
+    import spark.skins.default.CloseButtonSkin; CloseButtonSkin;
+    import spark.skins.default.GripperSkin; GripperSkin;
+    import spark.skins.default.MacCloseButtonSkin; MacCloseButtonSkin;
+    import spark.skins.default.MacMaximizeButtonSkin; MacMaximizeButtonSkin;
+    import spark.skins.default.MacMinimizeButtonSkin; MacMinimizeButtonSkin;
+    import spark.skins.default.MaximizeButtonSkin; MaximizeButtonSkin;
+    import spark.skins.default.MinimizeButtonSkin; MinimizeButtonSkin;
+    import spark.skins.default.RestoreButtonSkin; RestoreButtonSkin;
+    import spark.skins.default.TitleBarSkin; TitleBarSkin;
+    import spark.skins.default.WindowedApplicationSkin; WindowedApplicationSkin;
+    import spark.components.windowClasses.WindowedApplication; WindowedApplication;
 }

 }