Transferred from the Adobe Open Source Subversion Repository

Revision: 6191
Author:   aharui@adobe.com
Date:     2009-04-22T05:02:29.650316Z

Log Message:
-----------
Fix more bugs related to embedded fonts and TLF, including TLF in an RSL.

Temporary fix to allow RichText to be parented by non-UIComponents so the FXG compiler work can continue.  However, a solution for handling embedded fonts in that configuration still needs to be determined.

QE Notes: None
Doc Notes: None
Bugs: SDK-19631
Reviewer: gordon
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -189,6 +189,18 @@
      * Holds the last recorded value of the module factory used to create the font.
      */
     private var embeddedFontContext:IFlexModuleFactory = null;
+
+    /**
+     *  @private
+     *  If the embeddedFontContext changed
+     */
+    private var embeddedFontContextChanged:Boolean;
+
+    /**
+     *  @private
+     *  True if we need to compute the fontLookup
+     */
+    private var autoFontLookup:Boolean = false;

     /**
      *  @private
@@ -457,32 +469,17 @@
         return textFlow;
     }

-    /**
-     *  @private
-     */
-    private function setHostTextLayoutFormat(styleProp:String):void
-    {
-        var checkForEmbed:Boolean = false;
-
-        if (styleProp in hostTextLayoutFormat)
-        {
-            var value:* = getStyle(styleProp);
-
-            if (styleProp == "tabStops" && value === undefined)
-                value = [];
-
-            if (styleProp == "fontLookup" && value == "auto")
-                checkForEmbed = true;
-            else
-                hostTextLayoutFormat[styleProp] = value;
-        }
-        if (checkForEmbed)
-        {
-            var embeddedFont:EmbeddedFont = getEmbeddedFont(
-                hostTextLayoutFormat.fontFamily,
-                hostTextLayoutFormat.fontWeight == "bold",
-                hostTextLayoutFormat.fontStyle == "italic");
-
+    private function checkEmbeddedFontContext():void
+    {
+        var embeddedFont:EmbeddedFont = getEmbeddedFont(
+            hostTextLayoutFormat.fontFamily,
+            hostTextLayoutFormat.fontWeight == "bold",
+            hostTextLayoutFormat.fontStyle == "italic");
+
+        var oldEmbeddedFontContext:IFlexModuleFactory = embeddedFontContext;
+
+        if (autoFontLookup)
+        {
             embeddedFontContext =
                 embeddedFontRegistry.getAssociatedModuleFactory(
                     embeddedFont, fontContext);
@@ -505,6 +502,10 @@
                 {
                     hostTextLayoutFormat.fontLookup = FontLookup.EMBEDDED_CFF;
                 }
+                else
+                {
+                    hostTextLayoutFormat.fontLookup = FontLookup.DEVICE;
+                }
             }
         }
         else
@@ -514,6 +515,36 @@
             else
                 embeddedFontContext = null;
         }
+        // force us to re-create the textline factory
+        if (oldEmbeddedFontContext != embeddedFontContext)
+            embeddedFontContextChanged = true;
+    }
+
+    /**
+     *  @private
+     */
+    private function setHostTextLayoutFormat(styleProp:String):void
+    {
+        if (styleProp in hostTextLayoutFormat)
+        {
+            var value:* = getStyle(styleProp);
+
+            if (styleProp == "tabStops" && value === undefined)
+                value = [];
+
+            if (styleProp == "fontLookup")
+            {
+                if (value == "auto")
+                    autoFontLookup = true;
+                else
+                {
+                    autoFontLookup = false;
+                    hostTextLayoutFormat[styleProp] = value;
+                }
+            }
+            else
+                hostTextLayoutFormat[styleProp] = value;
+        }
     }

     /**
@@ -681,6 +712,7 @@
             hostTextLayoutFormatInvalid = false;
         }

+        checkEmbeddedFontContext();
         textFlow.hostFormat = new TextLayoutFormat(hostTextLayoutFormat);

         return textFlow;
@@ -786,8 +818,16 @@
             else
                 textFlow.flowComposer.textLineCreator = new TextLineCreator();
         }
-        TextLineFactory.createTextLinesFromTextFlow(
-			addTextLine, textFlow, mx_internal::bounds, truncationOptions);
+        if (embeddedFontContext)
+        {
+            TextLineFactory.createTextLinesFromTextFlow(
+			    addTextLine, textFlow, mx_internal::bounds, truncationOptions, ITextLineCreator(embeddedFontContext));
+        }
+        else
+        {
+            TextLineFactory.createTextLinesFromTextFlow(
+			    addTextLine, textFlow, mx_internal::bounds, truncationOptions);
+        }
     }

     /**
@@ -833,7 +873,7 @@
     {
         return ((fontContext != null) && (fontContext is ISystemManager))
                 ? ISystemManager(fontContext)
-                : IUIComponent(parent).systemManager;
+                : (parent is IUIComponent) ? IUIComponent(parent).systemManager : null;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4958
Author:   rfrishbe@adobe.com
Date:     2009-02-13T23:07:46.243121Z

Log Message:
-----------
Change the initialization sequence of FxComponent and Group.  Basically now children (including the skin) should get created at createChildren() time and follow the correct lifecycle pattern.  Unfortunately, this change got mingled in with all my PARB changes, so I'm submitting a bunch of PARB changes for Group, DataGroup, FxContainer, and FxDataContainer, outlined below:

1.     New event classes/names for Group/FxContainer and DataGroup ("elementAdd" and "elementRemove" event of type ElementExistenceEvent for Group/FxContainer and "rendererAdd" and "rendererRemove" event of type RendererExistenceEvent for DataGroup). It was just one event class of ItemExistenceChangedEvent before.
2.     LayoutBase.clipContent->clipAndEnableScrolling (same with IViewport.clipContent and GroupBase.clipContent)
3.     GroupBase.getLayoutELementAt()->getElementAt()
4.     GroupBase.numLayoutElements -> numElements.
5.     LayoutBase.virtualLayout -> useVirtualLayout
6.     ScrollUnit constants are now changed to be uints instead of typed as ScrollUnit.  This means the signature for getHorizontalScrollPositionDelta(unit:ScrollUnit):Number has changed to getHorizontalScrollPositionDelta(scrollUnit:uint):Number (and ditto for getVerticalScrollPositionDelta())
7.  DataGroup.getRendererForItemAt() -> getElementAt()
8.  DataGroup.getItemIndexForRenderer() -> getElementIndex()

Other changes:
 - Change IVisualElement interface so that it's smaller now.  It also extends ILayoutElement now.  The properties removed from IVisualElement are: rotation, rotationX, rotationY, rotationZ, transformX, transformY, offsets, x, y, z, scaleX, scaleY, scaleZ, explicitWidth, explicitMinWidth, explicitMaxWidth, explicitHeight, explicitMinHeight, explicitMaxHeight)
-  Fix in DataGroup so we don’t remove/add elements if we’re gonna do it later anyways.  I also need to do some other work in here around cleaning up of renderers.
- AddItems fix around handling IVisualElementContainers more effeciently
- get mxmlContent now returns a copy of the Array rather than the one we're using internally
- Had to update mustella since there was special case logic for dealing with getLayoutElementAt().  I added this logic for getElementAt(), which replaces that method.

QE Notes: Thanks for changing all the tests and working on the cyclone
Doc Notes: Made some ASDoc changes to some core classes to move the comments into the interfaces.  I did update the comments a bit as well.
Bugs: SDK-18115, SDK-19004
Reviewer: Jason, Glenn, Hans for initialization sequence change and Hans for all PARB changes
tests: checkintests, all mustella tests

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as" copyfrom-rev="4812" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ElementExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/RendererExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ScrollUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/mustella.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/BasicLayout.as
+++ frameworks/projects/spark/src/spark/layouts/BasicLayout.as
@@ -79,10 +79,10 @@
         var minWidth:Number = 0;
         var minHeight:Number = 0;

-        var count:int = layoutTarget.numLayoutElements;
+        var count:int = layoutTarget.numElements;
         for (var i:int = 0; i < count; i++)
         {
-            var layoutElement:ILayoutElement = layoutTarget.getLayoutElementAt(i);
+            var layoutElement:ILayoutElement = layoutTarget.getElementAt(i);
             if (!layoutElement || !layoutElement.includeInLayout)
                 continue;

@@ -192,12 +192,12 @@
         if (!layoutTarget)
             return;

-        var count:int = layoutTarget.numLayoutElements;
+        var count:int = layoutTarget.numElements;
         var maxX:Number = 0;
         var maxY:Number = 0;
         for (var i:int = 0; i < count; i++)
         {
-            var layoutElement:ILayoutElement = layoutTarget.getLayoutElementAt(i);
+            var layoutElement:ILayoutElement = layoutTarget.getElementAt(i);
             if (!layoutElement || !layoutElement.includeInLayout)
                 continue;


Move default to English once more

Move default to English once more

--- Arguments/src/classes/Language.as
+++ Arguments/src/classes/Language.as
@@ -39,7 +39,7 @@
 		public static const GERMAN:String = "GER";
 		public static const ENGLISH:String = "EN-US";
 		public static const RUSSIAN:String = "RUS";
-		public static var language:String = GERMAN;
+		public static var language:String = ENGLISH;

 		public static var xml:XML;
 		private static var ready:Boolean=false;


Inventory editing allows a single click to leave the action drop down and goto the action detail drobdown

--- flexEditor/src/org/arisgames/editor/view/PlayerStateChangesEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/PlayerStateChangesEditorView.as
@@ -148,13 +148,20 @@
 		{
 			trace("PlayerStateChangeEditorView: Event CBO");
 			evt.preventDefault();
-
+
 			// Get new requirement from editor for renderer to display
 			st = PlayerStateChangesEditorActionRendererMX(DataGrid(evt.target).itemEditorInstance).cbo.text;
 			dg.editedItemRenderer.data = st;
+			trace("PlayerStateChangeEditorView: st:" + st);
+
+			// Close the cell editor.
+			dg.destroyItemEditor();
+
+			// Update the new data choice
 			psc.actionHuman = st;
-			trace("PlayerStateChangeEditorView: st:" + st);
-
+
+			// Notify the list control to update its display.
+			pscs.refresh();

 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6125
Author:   dloverin@adobe.com
Date:     2009-04-10T15:07:49.535097Z

Log Message:
-----------
Complete Spark WindowedApplication and Spark Window.

* When you turn System Chrome off you do not get Flex Chrome automatically anymore. You need to set the skinClass style to use FlexChromeSkin. This means if System Chrome is not present the WindowedApplication will not have chrome.

* FlexChromeSkin brightens/dims its chrome depending on its active/inactive state.

* The TitleBarSkin was split into two skins, TitleBarSkin and MacTitleBarSkin. TitleBarSkin has just the Windows look. MacTitleBarSkin has the mac look. TitleBar will automatically switch between the skins depending on the OS.

* Implemented titleIcon in TitleBar.

* titleText in the TitleBarSkin and the MacTitleBarSkin is truncated when the text doesn't fit in the Window.

* statusText in FlexChromeSkin is truncated if the text does not fit with the status bar.

QE Notes: Ready for testing.
Doc Notes: None
Bugs:
Reviewer: Ryan, Glenn
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/FlexChromeSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacMinimizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacMaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/CloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/TitleBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</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/airframework/src/spark/skins/default/GripperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MinimizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/RestoreButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacCloseButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -16,14 +16,12 @@
 import flash.desktop.NativeApplication;
 import flash.desktop.SystemTrayIcon;
 import flash.display.DisplayObject;
-import flash.display.Graphics;
 import flash.display.NativeWindow;
 import flash.display.NativeWindowDisplayState;
 import flash.display.NativeWindowResize;
 import flash.display.NativeWindowSystemChrome;
 import flash.display.NativeWindowType;
 import flash.display.Screen;
-import flash.display.Sprite;
 import flash.display.StageDisplayState;
 import flash.events.Event;
 import flash.events.FullScreenEvent;
@@ -34,31 +32,21 @@
 import flash.filesystem.File;
 import flash.geom.Point;
 import flash.geom.Rectangle;
-import flash.system.Capabilities;

 import mx.controls.Alert;
 import mx.controls.FlexNativeMenu;
 import mx.controls.HTML;
 import mx.core.IWindow;
 import mx.core.mx_internal;
-import mx.core.Window;
-import mx.core.windowClasses.StatusBar;
 import mx.events.AIREvent;
 import mx.events.FlexEvent;
 import mx.events.FlexNativeWindowBoundsEvent;
 import mx.managers.DragManager;
 import mx.managers.NativeDragManagerImpl;
-import mx.styles.CSSStyleDeclaration;
-import mx.styles.StyleManager;
-import mx.styles.StyleProxy;
-
-import spark.components.Application;
-import spark.components.Button;
-import spark.components.Group;
+
+import spark.components.windowClasses.TitleBar;
+import spark.primitives.Rect;
 import spark.primitives.SimpleText;
-import spark.components.windowClasses.TitleBar;
-
-use namespace mx_internal;

 //--------------------------------------
 //  Events
@@ -279,17 +267,7 @@
 //--------------------------------------

 /**
- *  Normal status using FlexChrome
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[SkinState("flexChrome")]
-
-/**
- *  normal status using SystemChrome
+ *  The application is enabled and active.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -297,6 +275,35 @@
  *  @productversion Flex 4
  */
 [SkinState("normal")]
+
+/**
+ *  The application is disabled and active.
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("disabled")]
+
+/**
+ *  The application is enabled and inactive.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("normalActive")]
+
+/**
+ *  The application is disabled and inactive.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[SkinState("disabledInactive")]

 //--------------------------------------
 //  Other metadata
@@ -314,6 +321,11 @@
  *  of a Flex AIR application -- any visual controls defined in the WindowedApplication
  *  become the content of the initial window loaded by the AIR application.

  *
+ *
A WindowedApplication is the top-level application of a Flex-based AIR application. It is not
+ *  designed to be loaded by other Flex applications. If a WindowedApplication needs to load other
+ *  applications, use the Application class as container for those applications. If other windows
+ *  are required, use the Window class as a container for those windows.

+ *
  *
Note that because
  *  the WindowedApplication only represents the visual content of a single window, and not
  *  all the windows in a multi-window application, a WindowedApplication instance only dispatches
@@ -379,17 +391,6 @@

     //--------------------------------------------------------------------------
     //
-    //  Class constants
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    private static const MOUSE_SLACK:Number = 5;
-
-    //--------------------------------------------------------------------------
-    //
     //  Class variables
     //
     //--------------------------------------------------------------------------
@@ -459,11 +460,6 @@
     /**
      *  @private
      */
-    private var gripperHit:Sprite;
-
-    /**
-     *  @private
-     */
     private var initialInvokes:Array;

     /**
@@ -527,6 +523,10 @@
     //
     //--------------------------------------------------------------------------

+    //----------------------------------
+    //  gripper
+    //----------------------------------
+
     /**
      *  A skin part that defines the gripper button used to resize the window.
      *
@@ -538,6 +538,10 @@
     [SkinPart (required="false")]
     public var gripper:Button;

+    //----------------------------------
+    //  statusBar
+    //----------------------------------
+
     /**
      *  The SkinPart that displays the status bar.
      *
@@ -571,6 +575,19 @@
      */
     [SkinPart (required="false")]
     public var titleBar:TitleBar;
+
+    /**
+     *  The background behind the title bar. A white background
+     *  is placed behind the title bar because the title bar has
+     *  its alpha property set to 0.5 when the application is
+     *  inactive.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    [SkinPart (required="false")]
+    public var titleBarBackgroundRect:Rect;

     //--------------------------------------------------------------------------
     //
@@ -1184,6 +1201,23 @@
         return nativeWindow.resizable;
     }

+
+    //---------------------------------
+    //  resizeAffordance
+    //---------------------------------
+
+    /**
+     *  Provides a margin of error around the application's border so a resize
+     *  and be more easily started. A click on the application is considered a
+     *  click on the application's border if the click occurs with the resizeAffordance
+     *  number of pixels from the outside edge of the application's window.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var resizeAffordance:Number = 6;
+
     //----------------------------------
     //  nativeApplication
     //----------------------------------
@@ -1475,6 +1509,7 @@
     {
         return _title;
     }
+
     /**
      *  @private
      */
@@ -1494,17 +1529,6 @@
     //  titleIcon
     //----------------------------------

-    /**
-     *  @private
-     *  A reference to this container's title icon.
-     */
-    private var _titleIcon:Class;
-
-    /**
-     *  @private
-     */
-    private var titleIconChanged:Boolean = false;
-
     [Bindable("titleIconChanged")]

     /**
@@ -1518,7 +1542,10 @@
      */
     public function get titleIcon():Class
     {
-        return _titleIcon;
+        if (titleBar == null)
+            return null;
+
+        return titleBar.titleIcon;
     }

     /**
@@ -1526,8 +1553,10 @@
      */
     public function set titleIcon(value:Class):void
     {
-        _titleIcon = value;
-        titleIconChanged = true;
+        if (titleBar == null)
+            return;
+
+        titleBar.titleIcon = value;

         invalidateProperties();
         invalidateSize();
@@ -1641,8 +1670,8 @@

         if (boundsChanged)
         {
-            systemManager.stage.stageWidth = _width = _bounds.width;
-            systemManager.stage.stageHeight = _height =  _bounds.height;
+            systemManager.stage.stageWidth = mx_internal::_width = _bounds.width;
+            systemManager.stage.stageHeight = mx_internal::_height =  _bounds.height;
             boundsChanged = false;

             // don't know whether height or width changed
@@ -1652,8 +1681,8 @@

         if (windowBoundsChanged)
         {
-            _bounds.width = _width = systemManager.stage.stageWidth;
-            _bounds.height = _height = systemManager.stage.stageHeight;
+            _bounds.width = mx_internal::_width = systemManager.stage.stageWidth;
+            _bounds.height = mx_internal::_height = systemManager.stage.stageHeight;
             windowBoundsChanged = false;

             // don't know whether height or width changed
@@ -1690,6 +1719,13 @@
                 titleBar.visible = _showTitleBar;
                 titleBar.includeInLayout = _showTitleBar;
             }
+
+            if (titleBarBackgroundRect)
+            {
+                titleBarBackgroundRect.visible = _showTitleBar;
+                titleBarBackgroundRect.includeInLayout = _showTitleBar;
+            }
+
             showTitleBarChanged = false;
         }

@@ -1722,10 +1758,8 @@
         if (showGripperChanged)
         {
             if (gripper)
-            {
                 gripper.visible = _showGripper;
-                gripperHit.visible = _showGripper;
-            }
+
             showGripperChanged = false;
         }

@@ -1821,7 +1855,7 @@

     //--------------------------------------------------------------------------
     //
-    //  Overridden methods
+    //  Overridden methods: SkinnableContainer
     //
     //--------------------------------------------------------------------------

@@ -1830,13 +1864,19 @@
      */
     override protected function partAdded(partName:String, instance:Object):void
     {
+        super.partAdded(partName, instance);
+
         if (instance == titleBar)
         {
+            if (!nativeWindow.closed)
+                systemManager.stage.nativeWindow.title = _title;
             titleBar.title = _title;
+            titleChanged = false;
         }
         else if (instance == statusText)
         {
-            statusText.text = status;
+            statusText.text = status;
+            statusChanged = false;
         }
         else if (instance == gripper)
         {
@@ -1849,6 +1889,8 @@
      */
     override protected function partRemoved(partName:String, instance:Object):void
     {
+        super.partRemoved(partName, instance);
+
         if (instance == gripper)
         {
             gripper.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
@@ -2072,7 +2114,7 @@
             return false;
      }

-    //--------------------------------------------------------------------------
+	//--------------------------------------------------------------------------
     //
     // Skin states support
     //
@@ -2083,7 +2125,7 @@
      *  Button component could return the String "up", "down", "over", or "disabled"
      *  to specify the state.
      *
-     *
A subclass of FxComponent must override this method to return a value.

+     *
A subclass of SkinnableComponent must override this method to return a value.

      *
      *  @return A string specifying the name of the state to apply to the skin.
      *
@@ -2094,12 +2136,15 @@
      */
     override protected function getCurrentSkinState():String
     {
-        if (nativeWindow.systemChrome == "none")
-        {
-            return "flexChrome";
-        }
-
-        return "normal";
+
+        if (nativeWindow.closed)
+            return "disabled";
+
+        if (nativeWindow.active)
+            return enabled ? "normal" : "disabledActive";
+        else
+            return enabled ? "normalInactive" : "disabledInactive";
+
     }

     /**
@@ -2142,6 +2187,76 @@
         if (!nativeWindow.closed)
             if (nativeWindow.resizable)
                 stage.nativeWindow.startResize(start);
+    }
+
+
+    /**
+     *   @private
+     *
+     *   Perform a hit test to determine if an edge or corner of the application
+     *   was clicked.
+     *
+     *   @param event The mouse event to hit test.
+     *
+     *   @return If an edge or corner was click return one of the constants from
+     *   the NativeWindowResize to indicate the edit or corner that was clicked. If
+     *   no edge or corner were clicked then return NativeWindowResize.NONE.
+     */
+    private function hitTestResizeEdge(event:MouseEvent):String
+    {
+        // If we clicked on a child of the contentGroup, then don't resize
+        if (event.target is DisplayObject && event.target != contentGroup)
+        {
+           var o:DisplayObject = DisplayObject(event.target);
+            while (o != contentGroup && o != this)
+                o = o.parent;
+
+            if (o == contentGroup)
+                return NativeWindowResize.NONE;
+        }
+
+        var hitTestResults:String = NativeWindowResize.NONE;
+        var borderWidth:int = resizeAffordance;
+        var cornerSize:int = resizeAffordance * 2;
+
+        if (event.stageY < borderWidth)
+        {
+            if (event.stageX < cornerSize)
+                hitTestResults = NativeWindowResize.TOP_LEFT;
+            else if (event.stageX > width - cornerSize)
+                hitTestResults = NativeWindowResize.TOP_RIGHT;
+            else
+                hitTestResults = NativeWindowResize.TOP;
+        }
+        else if (event.stageY > (height - borderWidth))
+        {
+            if (event.stageX < cornerSize)
+                hitTestResults = NativeWindowResize.BOTTOM_LEFT;
+            else if (event.stageX > width - cornerSize)
+                hitTestResults = NativeWindowResize.BOTTOM_RIGHT;
+            else
+                hitTestResults = NativeWindowResize.BOTTOM;
+        }
+        else if (event.stageX < borderWidth )
+        {
+            if (event.stageY < cornerSize)
+                hitTestResults = NativeWindowResize.TOP_LEFT;
+            else if (event.stageY > height - cornerSize)
+                hitTestResults = NativeWindowResize.BOTTOM_LEFT;
+            else
+                hitTestResults = NativeWindowResize.LEFT;
+        }
+        else if (event.stageX > width - borderWidth)
+        {
+            if (event.stageY < cornerSize)
+                hitTestResults = NativeWindowResize.TOP_RIGHT;
+            else if (event.stageY > height - cornerSize)
+                hitTestResults = NativeWindowResize.BOTTOM_RIGHT;
+            else
+                hitTestResults = NativeWindowResize.RIGHT;
+        }
+
+        return hitTestResults;
     }

     //--------------------------------------------------------------------------
@@ -2311,49 +2426,11 @@
         }
         else
         {
-            var dragWidth:int = Number(getStyle("borderThickness")) + 6;
-            var cornerSize:int = 12;
-            // we short the top a little
-
-            if (event.stageY < Number(getStyle("borderThickness")))
+            var edgeOrCorner:String = hitTestResizeEdge(event);
+            if (edgeOrCorner != NativeWindowResize.NONE)
             {
-                if (event.stageX < cornerSize)
-                    startResize(NativeWindowResize.TOP_LEFT);
-                else if (event.stageX > width - cornerSize)
-                    startResize(NativeWindowResize.TOP_RIGHT);
-                else
-                    startResize(NativeWindowResize.TOP);
-            }
-
-            else if (event.stageY > (height - dragWidth))
-            {
-                if (event.stageX < cornerSize)
-                     startResize(NativeWindowResize.BOTTOM_LEFT);
-                else if (event.stageX > width - cornerSize)
-                    startResize(NativeWindowResize.BOTTOM_RIGHT);
-                else
-                    startResize(NativeWindowResize.BOTTOM);
-            }
-
-            else if (event.stageX < dragWidth )
-            {
-                if (event.stageY < cornerSize)
-                    startResize(NativeWindowResize.TOP_LEFT);
-                else if (event.stageY > height - cornerSize)
-                    startResize(NativeWindowResize.BOTTOM_LEFT);
-                else
-                    startResize(NativeWindowResize.LEFT);
+                startResize(edgeOrCorner);
                 event.stopPropagation();
-            }
-
-            else if (event.stageX > width - dragWidth)
-            {
-                if (event.stageY < cornerSize)
-                    startResize(NativeWindowResize.TOP_RIGHT);
-                else if (event.stageY > height - cornerSize)
-                    startResize(NativeWindowResize.BOTTOM_RIGHT);
-                else
-                    startResize(NativeWindowResize.RIGHT);
             }
         }
     }
@@ -2603,6 +2680,8 @@
     private function nativeWindow_activateHandler(event:Event):void
     {
         dispatchEvent(new AIREvent(AIREvent.WINDOW_ACTIVATE));
+
+        invalidateSkinState();
     }

     /**
@@ -2611,6 +2690,8 @@
     private function nativeWindow_deactivateHandler(event:Event):void
     {
         dispatchEvent(new AIREvent(AIREvent.WINDOW_DEACTIVATE));
+
+        invalidateSkinState();
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18624
Author:   hmuller@adobe.com
Date:     2010-11-16T19:43:24.335484Z

Log Message:
-----------
Added support for requestedMaxRowCount, default=10.  Changed requestedRowCount's default value to -1.

QE notes: Three failing tests have been excluded
Doc notes:
Bugs: SDK-27531
Reviewer: Darrell
Tests run: checkin, mustella
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -381,8 +381,18 @@

         updateTypicalCellSizes();

+        var measuredRowCount:int = grid.requestedRowCount;
+        if (measuredRowCount == -1)
+        {
+            const rowCount:int = gridDimensions.rowCount;
+            if (grid.requestedMaxRowCount != -1)
+                measuredRowCount = Math.min(grid.requestedMaxRowCount, rowCount);
+            if (grid.requestedMinRowCount != -1)
+                measuredRowCount = Math.max(grid.requestedMinRowCount, measuredRowCount);
+        }
+
         var measuredWidth:Number = gridDimensions.getTypicalContentWidth(grid.requestedColumnCount);
-        var measuredHeight:Number = gridDimensions.getTypicalContentHeight(grid.requestedRowCount);
+        var measuredHeight:Number = gridDimensions.getTypicalContentHeight(measuredRowCount);
 		var measuredMinWidth:Number = gridDimensions.getTypicalContentWidth(grid.requestedMinColumnCount);
 		var measuredMinHeight:Number = gridDimensions.getTypicalContentHeight(grid.requestedMinRowCount);


Transferred from the Adobe Open Source Subversion Repository

Revision: 19395
Author:   hmuller@adobe.com
Date:     2010-12-15T19:17:26.366313Z

Log Message:
-----------
Improved List scroll positioning after a dataProvider refresh for one case: if the caret item is visible, after a refresh attempt to scroll so that it's in the same relative position, and select it.

DataGroup/getElementAt(index) now returns the item renderer for index, even if index is not a valid dataProvider index (anymore).

QE notes: Four Mustella tests to be updated (Jacob, Ella).
Doc notes:
Bugs: SDK-23283
Reviewer: Ryan
Tests run: checkin, mustella
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -21,6 +21,7 @@
 import mx.core.FlexVersion;
 import mx.core.IContainerInvalidating;
 import mx.core.ILayoutElement;
+import mx.core.IVisualElement;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.DragEvent;
@@ -1004,13 +1005,41 @@

          var elt:ILayoutElement = g.getElementAt(index);
          if (!elt || !elt.includeInLayout)
-            return null;
+             return null;

          var eltX:Number = elt.getLayoutBoundsX();
          var eltY:Number = elt.getLayoutBoundsY();
          var eltW:Number = elt.getLayoutBoundsWidth();
          var eltH:Number = elt.getLayoutBoundsHeight();
          return new Rectangle(eltX, eltY, eltW, eltH);
+    }
+
+    /**
+     *  @private
+     *  Return true if the specified element's layout bounds fall within the
+     *  scrollRect, or if scrollRect is null.
+     */
+    mx_internal function isElementVisible(elt:ILayoutElement):Boolean
+    {
+        if (!elt || !elt.includeInLayout)
+            return false;
+
+        var g:GroupBase = target;
+        if (!g || !g.clipAndEnableScrolling)
+            return true;
+
+        const vsp:Number = g.verticalScrollPosition;
+        const hsp:Number = g.horizontalScrollPosition;
+        const targetW:Number = g.width;
+        const targetH:Number = g.height;
+
+        const eltX:Number = elt.getLayoutBoundsX();
+        const eltY:Number = elt.getLayoutBoundsY();
+        const eltW:Number = elt.getLayoutBoundsWidth();
+        const eltH:Number = elt.getLayoutBoundsHeight();
+
+        return (eltX < (hsp + targetW)) && ((eltX + eltW) > hsp) &&
+               (eltY < (vsp + targetH)) && ((eltY + eltH) > vsp);
     }

     /**


remove call to trace() in DrawCall

remove call to trace() in DrawCall

--- src/aerys/minko/render/DrawCall.as
+++ src/aerys/minko/render/DrawCall.as
@@ -1,24 +1,24 @@
 package aerys.minko.render
 {
 	import aerys.minko.ns.minko_render;
+	import aerys.minko.render.geometry.Geometry;
+	import aerys.minko.render.geometry.stream.IVertexStream;
+	import aerys.minko.render.geometry.stream.StreamUsage;
+	import aerys.minko.render.geometry.stream.VertexStream;
+	import aerys.minko.render.geometry.stream.format.VertexComponent;
+	import aerys.minko.render.geometry.stream.format.VertexFormat;
 	import aerys.minko.render.resource.Context3DResource;
 	import aerys.minko.render.resource.IndexBuffer3DResource;
 	import aerys.minko.render.resource.Program3DResource;
 	import aerys.minko.render.resource.VertexBuffer3DResource;
 	import aerys.minko.render.resource.texture.ITextureResource;
 	import aerys.minko.render.shader.binding.IBinder;
-	import aerys.minko.render.geometry.Geometry;
 	import aerys.minko.type.binding.DataBindings;
 	import aerys.minko.type.enum.Blending;
 	import aerys.minko.type.enum.ColorMask;
 	import aerys.minko.type.enum.TriangleCulling;
 	import aerys.minko.type.math.Matrix4x4;
 	import aerys.minko.type.math.Vector4;
-	import aerys.minko.render.geometry.stream.IVertexStream;
-	import aerys.minko.render.geometry.stream.StreamUsage;
-	import aerys.minko.render.geometry.stream.VertexStream;
-	import aerys.minko.render.geometry.stream.format.VertexComponent;
-	import aerys.minko.render.geometry.stream.format.VertexFormat;

 	import flash.display3D.Context3DProgramType;
 	import flash.utils.Dictionary;
@@ -165,8 +165,6 @@
 		public function unsetBindings(meshBindings	: DataBindings,
 									  sceneBindings	: DataBindings) : void
 		{
-			trace('unset bindings');
-
 			for (var parameter : String in _bindings)
 			{
 				meshBindings.removeCallback(parameter, parameterChangedHandler);
@@ -258,8 +256,6 @@
 									 sceneBindings	: DataBindings,
 									 computeDepth	: Boolean) : void
 		{
-			trace('set bindings');
-
 			for (var parameter : String in _bindings)
 			{
 				meshBindings.addCallback(parameter, parameterChangedHandler);
@@ -336,7 +332,7 @@
 		public function setParameter(name : String, value : Object) : void
 		{
 			var binding : IBinder = _bindings[name] as IBinder;
-			trace(name);
+
 			if (binding != null)
 				binding.set(_cpuConstants, _vsConstants, _fsConstants, _fsTextures, value);
 		}


Occam's razor: presumably getDefinitionByName() returns the same class
for the same name each time it's called. :)

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

--- src/as/com/threerings/util/ClassUtil.as
+++ src/as/com/threerings/util/ClassUtil.as
@@ -68,7 +68,7 @@

     public static function isSameClass (obj1 :Object, obj2 :Object) :Boolean
     {
-        return (getClass(obj1) == getClass(obj2));
+        return (getQualifiedClassName(obj1) == getQualifiedClassName(obj2));
     }

     public static function getClass (obj :Object) :Class


Fixed issue with the way background color was parsed from flashvars.

--- tools/viewers/flash/src/AWDViewer.as
+++ tools/viewers/flash/src/AWDViewer.as
@@ -64,7 +64,7 @@
 			_view = new View3D();
 			_view.antiAlias = 4;
 			_view.camera.lens.far = 5000;
-			_view.backgroundColor = loaderInfo.parameters['bgcolor'] || 0;
+			_view.backgroundColor = parseInt(loaderInfo.parameters['bgcolor'],16) || 0;
 			addChild(_view);
 			addEventListener(Event.ENTER_FRAME, onEnterFrame);


Transferred from the Adobe Open Source Subversion Repository

Revision: 17330
Author:   chiedozi@adobe.com
Date:     2010-08-16T17:36:59.538425Z

Log Message:
-----------
Removed the sections functionality from ViewNavigator and refactored that logic into TabbedViewNavigator.  Updated dependent performance tests and components.
Introduced MobileApplicationBase and TabbedMobileApplication do support the tabbed use case for mobile.
Deleted SliderSkin from the framework.  All mobile skins now extend MobileSkin.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.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/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/PersistenceManager.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as" copyfrom-rev="17260" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ScriptRunner.as</path>
<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/effects/SlideViewTransition.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/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ComponentCatalog.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedMobileApplicationSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewHistoryData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.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/core/managers/IPersistenceManager.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/IViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SliderSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/MobileApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/View.as
+++ frameworks/projects/mobilecomponents/src/spark/components/View.as
@@ -76,9 +76,12 @@
  */
 [Event(name="removing", type="mx.events.FlexEvent")]

-
 /**
- *
+ *  The View class is the base container class for all Views used by view
+ *  navigators.  The View container extends Group and adds
+ *  additional properties that are used to communicate with it's parent
+ *  navigators' various ui controls.
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10.1
  *  @playerversion AIR 2.5
@@ -103,10 +106,6 @@
     public function View()
     {
         super();
-
-        // By default, a view should extend the entire bounds of its parent
-        percentWidth = 100;
-        percentHeight = 100;
     }

     //--------------------------------------------------------------------------
@@ -122,11 +121,10 @@
     private var _active:Boolean = false;

     /**
-     *  Flag indicating whether the current screen is active.  The
-     *  view's navigator will automatically set this flag to true
-     *  or false as its state changes.  This getter will dispatch
-     *  FlexEvent.VIEW_ACTIVATE and FlexEvent.VIEW_DEACTIVATE
-     *  as the value changes.
+     *  Flag indicating whether the current screen is active.  The view's navigator will
+     *  automatically set this flag to true or false as its state changes.  This getter
+     *  will dispatch FlexEvent.VIEW_ACTIVATE and
+     *  FlexEvent.VIEW_DEACTIVATE as the value changes.
      *
      *  @default false
      *
@@ -160,22 +158,18 @@
     //----------------------------------

     /**
-     *  @private
-     *
-     *  Determines if the current view can be removed by
-     *  a navigator.  The default implementation dispatches
-     *  a FlexEvent.REMOVING event.  If
-     *  preventDefault() is called on the event, this property
-     *  will be set to false.
-     *
-     *  @return Returns true if the screen can be removed
+     *  Determines if the current view can be removed by a navigator.  The default
+     *  implementation dispatches a FlexEvent.REMOVING event.  If
+     *  preventDefault() is called on the event, this property will return false.
+     *
+     *  @return Returns true if the view can be removed
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    mx_internal function get canRemove():Boolean
+    public function canRemove():Boolean
     {
         if (hasEventListener(FlexEvent.REMOVING))
         {
@@ -219,17 +213,18 @@
         {
             _overlayControls = value;

-            if (navigator)
-                navigator.overlayControls = _overlayControls;
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "overlayControls", _overlayControls, value);
+
+            if (hasEventListener(changeEvent.type))
+                dispatchEvent(changeEvent);
         }
     }

     //----------------------------------
     //  desctructionPolicy
     //----------------------------------
-
-    private var _destructionPolicy:String = "auto";
-
+    [Inspectable(category="General", enumeration="auto,none", defaultValue="auto")]
     /**
      *  Defines the destruction policy the view's navigator should use
      *  when this view is removed. If set to "auto", the navigator will
@@ -243,25 +238,12 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function get destructionPolicy():String
-    {
-        return _destructionPolicy;
-    }
-
-    /**
-     *  @private
-     */
-    public function set destructionPolicy(value:String):void
-    {
-        _destructionPolicy = value;
-    }
+    public var destructionPolicy:String = "auto";

     //----------------------------------
     //  navigator
     //----------------------------------

-    private var _navigator:ViewNavigator;
-
     [Bindable]
     /**
      * The view's navigator.
@@ -271,22 +253,11 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function get navigator():ViewNavigator
-    {
-        return _navigator;
-    }
-
-    public function set navigator(value:ViewNavigator):void
-    {
-        if (_navigator != value)
-            _navigator = value;
-    }
+    public var navigator:ViewNavigator;

     //----------------------------------
     //  returnedObject
     //----------------------------------
-
-    private var _returnedObject:Object;

     /**
      *  An object that was returned by the previous view when
@@ -299,25 +270,53 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    [Bindable]
-    public function get returnedObject():Object
-    {
-        return _returnedObject;
+    public var returnedObject:Object;
+
+    //--------------------------------------------------------------------------
+    //
+    //  UI Template Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  actionBarVisible
+    //----------------------------------
+    private var _actionBarVisible:Boolean = true;
+
+    /**
+     *  Flag indicating whether a view should show the action bar or not.
+     *  This doesn't necessarily correlate to the visible property of the
+     *  navigator's ActionBar.  In the end, ViewNavigator and the developer
+     *  have the last say as to what's visible.
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get actionBarVisible():Boolean
+    {
+        return _actionBarVisible;
     }

     /**
      *  @private
      */
-    public function set returnedObject(value:Object):void
-    {
-        _returnedObject = value;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  UI Template Properties
-    //
-    //--------------------------------------------------------------------------
+    public function set actionBarVisible(value:Boolean):void
+    {
+        _actionBarVisible = value;
+
+        // Immediately request actionBar's visibility be toggled
+        if (active && navigator)
+        {
+            if (_actionBarVisible)
+                navigator.showActionBar();
+            else
+                navigator.hideActionBar();
+        }
+    }

     //----------------------------------
     //  actionContent
@@ -346,11 +345,16 @@
      */
     public function set actionContent(value:Array):void
     {
-        var changeEvent:PropertyChangeEvent =
-            PropertyChangeEvent.createUpdateEvent(this, "actionContent", _actionContent, value);
-
+        var oldValue:Array = _actionContent;
         _actionContent = value;
-        dispatchEvent(changeEvent);
+
+        if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "actionContent", oldValue, _actionContent);
+
+            dispatchEvent(changeEvent);
+        }
     }

     //----------------------------------
@@ -378,11 +382,16 @@
      */
     public function set actionLayout(value:LayoutBase):void
     {
-        var changeEvent:PropertyChangeEvent =
-            PropertyChangeEvent.createUpdateEvent(this, "actionLayout", _actionLayout, value);
-
+        var oldValue:LayoutBase = value;
         _actionLayout = value;
-        dispatchEvent(changeEvent);
+
+        if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "actionLayout", oldValue, _actionLayout);
+
+            dispatchEvent(changeEvent);
+        }
     }

     //----------------------------------
@@ -412,16 +421,23 @@
      */
     public function set navigationContent(value:Array):void
     {
-        var changeEvent:PropertyChangeEvent =
-            PropertyChangeEvent.createUpdateEvent(this, "navigationContent", _navigationContent, value);
-
+        var oldValue:Array = _navigationContent;
         _navigationContent = value;
-        dispatchEvent(changeEvent);
+
+        if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "navigationContent", oldValue, _navigationContent);
+
+            dispatchEvent(changeEvent);
+        }
     }

     //----------------------------------
     //  navigationLayout
     //----------------------------------
+
+    private var _navigationLayout:LayoutBase;

     /**
      *  Layout for the ActionBar navigation content group.
@@ -433,8 +449,6 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    private var _navigationLayout:LayoutBase;
-
     public function get navigationLayout():LayoutBase
     {
         return _navigationLayout;
@@ -444,52 +458,19 @@
      */
     public function set navigationLayout(value:LayoutBase):void
     {
-        var changeEvent:PropertyChangeEvent =
-            PropertyChangeEvent.createUpdateEvent(this, "navigationLayout", _navigationLayout, value);
-
+        var oldValue:LayoutBase = _navigationLayout;
         _navigationLayout = value;
-        dispatchEvent(changeEvent);
+
+        if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "navigationLayout", _navigationLayout, value);
+
+            dispatchEvent(changeEvent);
+        }
     }

-	//----------------------------------
-	//  actionBarVisible
-	//----------------------------------
-	private var _actionBarVisible:Boolean = true;
-
-	/**
-	 *  Flag indicating whether a view should show the action bar or not.
-	 *  This doesn't necessarily correlate to the visible property of the
-	 *  navigator's ActionBar.  In the end, ViewNavigator and the developer
-	 *  have the last say as to what's visible.
-	 *
-	 *  @default true
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-	 */
-	public function get actionBarVisible():Boolean
-	{
-		return _actionBarVisible;
-	}
-
-    /**
-     *  @private
-     */
-	public function set actionBarVisible(value:Boolean):void
-	{
-        _actionBarVisible = value;
-
-		// Immediately request actionBar's visibility be toggled
-		if (active && navigator)
-		{
-			if (_actionBarVisible)
-				navigator.showActionBar();
-			else
-				navigator.hideActionBar();
-		}
-	}
+

 	//----------------------------------
 	//  tabBarVisible
@@ -519,15 +500,19 @@
      */
 	public function set tabBarVisible(value:Boolean):void
 	{
+        var oldValue:Boolean = _tabBarVisible;
 		_tabBarVisible = value;

 		// Immediately request actionBar's visibility be toggled
 		if (active && navigator)
 		{
-			if (_tabBarVisible)
-				navigator.showTabBar();
-			else
-				navigator.hideTabBar();
+            if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+            {
+                var changeEvent:PropertyChangeEvent =
+                    PropertyChangeEvent.createUpdateEvent(this, "tabBarVisible", oldValue, value);
+
+                dispatchEvent(changeEvent);
+            }
 		}
 	}

@@ -550,7 +535,6 @@
     {
         return _title;
     }
-
     /**
      *  @private
      */
@@ -558,11 +542,16 @@
     {
         if (_title != value)
         {
-            var changeEvent:PropertyChangeEvent =
-                PropertyChangeEvent.createUpdateEvent(this, "title", _title, value);
+            var oldValue:String = _title;
+            _title = value;

-            _title = value;
-            dispatchEvent(changeEvent);
+            if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+            {
+                var changeEvent:PropertyChangeEvent =
+                    PropertyChangeEvent.createUpdateEvent(this, "title", oldValue, _title);
+
+                dispatchEvent(changeEvent);
+            }
         }
     }

@@ -593,11 +582,16 @@
      */
     public function set titleContent(value:Array):void
     {
-        var changeEvent:PropertyChangeEvent =
-            PropertyChangeEvent.createUpdateEvent(this, "titleContent", _titleContent, value);
-
+        var oldValue:Array = _titleContent;
         _titleContent = value;
-        dispatchEvent(changeEvent);
+
+        if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "titleContent", oldValue, _titleContent);
+
+            dispatchEvent(changeEvent);
+        }
     }

     //----------------------------------
@@ -625,11 +619,16 @@
      */
     public function set titleLayout(value:LayoutBase):void
     {
-        var changeEvent:PropertyChangeEvent =
-            PropertyChangeEvent.createUpdateEvent(this, "titleLayout", _titleLayout, value);
-
+        var oldValue:LayoutBase = _titleLayout;
         _titleLayout = value;
-        dispatchEvent(changeEvent);
+
+        if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            var changeEvent:PropertyChangeEvent =
+                PropertyChangeEvent.createUpdateEvent(this, "titleLayout", oldValue, _titleLayout);
+
+            dispatchEvent(changeEvent);
+        }
     }

     //--------------------------------------------------------------------------
@@ -724,25 +723,33 @@
     //--------------------------------------------------------------------------

     /**
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function getPersistenceData():Object
+     *  Responsible for serializes the view's data object when the view is being
+     *  persisted to disk.  The created object should be something that can
+     *  be successfully written to a shared object.  By default, this will return
+     *  the data object of the view.
+     *
+     *  @return The serialized data object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function serializeData():Object
     {
         return data;
     }

     /**
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function deserializePersistenceData(value:Object):Object
+     *  Deserializes a data object that was saved to disk by the view.  The
+     *  returned object will be the value assigned to the view's data object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function deserializePersistedData(value:Object):Object
     {
         return value;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10475
Author:   jimurphy@adobe.com
Date:     2009-09-21T23:58:45.057679Z

Log Message:
-----------
Merged 3.x revisions 10063,10086,10098,10123,10176,10397,10416-10418,10420 -> trunk

checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/framework/src/mx/controls/DataGrid.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/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/CurrencyFormatter.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/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>

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

--- frameworks/projects/mx/src/mx/controls/scrollClasses/ScrollBar.as
+++ frameworks/projects/mx/src/mx/controls/scrollClasses/ScrollBar.as
@@ -1565,6 +1565,12 @@
             trackScrollTimer = new Timer(getStyle("repeatDelay"), 1);
             trackScrollTimer.addEventListener(TimerEvent.TIMER, trackScrollTimerHandler);
         }
+        else
+        {
+            trackScrollTimer.delay = getStyle("repeatDelay");
+            trackScrollTimer.repeatCount = 1;
+        }
+
         trackScrollTimer.start();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9889
Author:   chaase@adobe.com
Date:     2009-09-01T21:03:47.668091Z

Log Message:
-----------
Fixed bug where Flex 4 halo checkboxes without labels would be positioned very differently than checkboxes with labels. The problem was that our styling for padding changed in Flex 4, so the size/position calculations are quite different, ending up with different placement of the checkbox icon in its container. The fix was to always account for text height, regardless of whether the label was null or not.

QE notes: N/A
Doc notes: N/A
Bugs: SDK-21850
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

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

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

--- frameworks/projects/mx/src/mx/controls/Button.as
+++ frameworks/projects/mx/src/mx/controls/Button.as
@@ -1737,11 +1737,13 @@
         var textWidth:Number = 0;
         var textHeight:Number = 0;

-        // trace("measure: Button " + this + " label = " + label);
-        if (label)
+        if (label || FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_0)
         {
             var lineMetrics:TextLineMetrics = measureText(label);
-            textWidth = lineMetrics.width + TEXT_WIDTH_PADDING;
+            // Always account for text height, but only account for width
+            // if the label is non-null.
+            if (label)
+                textWidth = lineMetrics.width + TEXT_WIDTH_PADDING;
             textHeight = lineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
         }


fixed DefaultRenderer to use RendererState.prepareContext with the previous state

--- src/aerys/minko/render/renderer/DefaultRenderer.as
+++ src/aerys/minko/render/renderer/DefaultRenderer.as
@@ -97,7 +97,7 @@
 				var numTriangles 	: Vector.<int> 	= state.numTriangles;
 				var numCalls 		: int 			= offsets.length;

-				state.prepareContext(_context);//, actualState);
+				state.prepareContext(_context, actualState);

 				for (var j : int = 0; j < numCalls; ++j)
 				{


Documentation improvements.

Documentation improvements.

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

--- src/as/com/threerings/util/EmbeddedSwfLoader.as
+++ src/as/com/threerings/util/EmbeddedSwfLoader.as
@@ -37,27 +37,77 @@
 import flash.system.LoaderContext;

 /**
- * Allows you to load an embeded SWF stored as a Byte Array then access any stored classes
+ * Allows you to load an embeded SWF stored as a ByteArray then access any stored classes
  * within the SWF.
- * Embed your swf like:
+ *
+ * An Event.COMPLETE will be dispatched upon the successful completion of a call to
+ * load.  IOErrorEvent.IO_ERROR will be dispatched if there's a problem reading the
+ * ByteArray.
+ *
+ * Embed your swf like this (take note of the mimeType!):
+ *

  * [Embed(source="foo.swf", mimeType="application/octet-stream")]
- * Then, instantiate that class and pass it to load() as a ByteArray.
- *
- * An Event.COMPLETE will be dispatched upon the successful completion of a call to
- * {@link load}.  IOErrorEvent.IO_ERROR will be dispatched if there's a problem reading the
- * ByteArray.
+ * private static const FOO_RESOURCE :Class;
+ *

+ *
+ * Then:
+ *
+ *

+ * var loader :EmbeddedSwfLoader = new EmbeddedSwfLoader();
+ * loader.addEventListener(Event.COMPLETE, handleComplete);
+ * loader.addEventListener(IOErrorEvent.IO_ERROR, handleFailure);
+ * loader.load(FOO_RESOURCE);
+ *
+ * ...
+ * function handleComplete (event :Event) :void
+ * {
+ *     var myMovie = loader.getContent();
+ * ...
+ *

  *
  * @deprecated Content packs are coming, and symbols can be embedded directly
  * by using [Embed(source="foo.swf#somesymbol")]
  */
 public class EmbeddedSwfLoader extends EventDispatcher
 {
+    /**
+     * Create an EmbeddedSwfLoader, good for loading one SWF from a ByteArray.
+     *
+     * @param useSubDomain if true, load the SWF and all its classes and symbols into a
+     *  child ApplicationDomain. This means that they would be not normally reachable by the rest
+     *  of your code after they're loaded, you would only be able to access the contents using
+     *  this EmbeddedSwfLoader. This also means that those classes or symbols won't interfere
+     *  with others loaded with the same name, and the classes can be garbage collected when
+     *  no longer in use.
+     */
     public function EmbeddedSwfLoader (useSubDomain :Boolean = false)
     {
         _useSubDomain = useSubDomain;
         _loader = new Loader();
         _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchEvent);
         _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, dispatchEvent);
+    }
+
+    /**
+     * Load the SWF from a ByteArray. A COMPLETE event will be dispatched on successful
+     * completion of the load. If any errors occur, a IO_ERROR event will be dispatched.
+     *
+     * @throws TypeError The parameter must be a ByteArray, or a Class that becomes one. If AS
+     * had overloading, this wouldn't be necessary, we could catch these problems at compile time.
+     *
+     * @param byteArrayOrClass a flash.utils.ByteArray or a Class object that becomes one.
+     */
+    public function load (byteArrayOrClass :Object) :void
+    {
+        var byteArray :ByteArray = ByteArray( // this cast may throw a TypeError
+            (byteArrayOrClass is Class) ? new (byteArrayOrClass as Class)() // voila!
+                                        : byteArrayOrClass); // and wa-la!
+
+        var context :LoaderContext = new LoaderContext();
+        context.applicationDomain = _useSubDomain ?
+            new ApplicationDomain(ApplicationDomain.currentDomain) :
+            ApplicationDomain.currentDomain;
+        _loader.loadBytes(byteArray, context);
     }

 // This doesn't work. We cannot write parameters to the contentLoaderInfo.
@@ -73,20 +123,9 @@
 //    }

     /**
-     * Load the SWF from a Byte Array.  A CLASS_LOADED event will be dispatched on successful
-     * completion of the load.  If any errors occur, a LOAD_ERROR event will be dispatched.
-     */
-    public function load (byteArray :ByteArray) :void
-    {
-        var context :LoaderContext = new LoaderContext();
-        context.applicationDomain = _useSubDomain ?
-            new ApplicationDomain(ApplicationDomain.currentDomain) :
-            ApplicationDomain.currentDomain;
-        _loader.loadBytes(byteArray, context);
-    }
-
-    /**
      * Get the top-level display object defined in the loaded SWF.
+     *
+     * @throws IllegalOperationError if the SWF is not yet completely loaded.
      */
     public function getContent () :DisplayObject
     {
@@ -97,8 +136,8 @@
     /**
      * Retrieves a class definition from the loaded swf.
      *
-     * @throws IllegalOperationError when the swf has not completed loading or the class does
-     * not exist
+     * @throws flash.errors.IllegalOperationError when the swf has not completed loading
+     * or the class does not exist.
      */
     public function getClass (className :String) :Class
     {
@@ -108,8 +147,8 @@
     /**
      * Retrieves a Function definition from the loaded swf.
      *
-     * @throws IllegalOperationError when the swf has not completed loading or the class does
-     * not exist
+     * @throws flash.errors.IllegalOperationError when the swf has not completed loading
+     * or the function does not exist.
      */
     public function getFunction (functionName :String) :Function
     {
@@ -119,8 +158,8 @@
     /**
      * Retrieves a symbol definition from the loaded swf.
      *
-     * @throws IllegalOperationError when the swf has not completed loading or the class does
-     * not exist
+     * @throws flash.errors.IllegalOperationError when the swf has not completed loading
+     * or the symbol does not exist.
      */
     public function getSymbol (symbolName :String) :Object
     {
@@ -136,7 +175,7 @@
     /**
      * Checks if a symbol exists in the library.
      *
-     * @throws IllegalOperationError when the swf has not completed loading.
+     * @throws flash.errors.IllegalOperationError when the swf has not completed loading.
      */
     public function isSymbol (className :String) :Boolean
     {
@@ -151,8 +190,7 @@
     {
         var loaderInfo :LoaderInfo = _loader.contentLoaderInfo;
         if (loaderInfo.bytesTotal == 0 || loaderInfo.bytesLoaded != loaderInfo.bytesTotal) {
-
-            throw new IllegalOperationError("SWF has not completed loading");
+            throw new IllegalOperationError("SWF has not completed loading.");
         }
     }


Add a FP.tween() one-line shorthand for tweening properties of an object quickly, and a MultiVarTween tween type (via Draknek).

--- net/flashpunk/FP.as
+++ net/flashpunk/FP.as
@@ -13,6 +13,7 @@
 	import flash.utils.getTimer;
 	import net.flashpunk.*;
 	import net.flashpunk.debug.Console;
+	import net.flashpunk.tweens.misc.MultiVarTween;

 	/**
 	 * Static catch-all class used to access global properties and functions.
@@ -572,6 +573,40 @@
 		}

 		/**
+		 * Tweens numeric public properties of an Object. Shorthand for creating a MultiVarTween tween, starting it and adding it to a Tweener.
+		 * @param	object		The object containing the properties to tween.
+		 * @param	values		An object containing key/value pairs of properties and target values.
+		 * @param	duration	Duration of the tween.
+		 * @param	options		An object containing key/value pairs of the following optional parameters:
+		 * 						type		Tween type.
+		 * 						complete	Optional completion callback function.
+		 * 						ease		Optional easer function.
+		 * 						tweener		The Tweener to add this Tween to.
+		 * @return	The added MultiVarTween object.
+		 *
+		 * Example: FP.tween(object, { x: 500, y: 350 }, 2.0, { ease: easeFunction, complete: onComplete } );
+		 */
+		public static function tween(object:Object, values:Object, duration:Number, options:Object = null):MultiVarTween
+		{
+			var type:uint = Tween.ONESHOT,
+				complete:Function = null,
+				ease:Function = null,
+				tweener:Tweener = FP.world;
+			if (object is Tweener) tweener = object as Tweener;
+			if (options)
+			{
+				if (options.hasOwnProperty("type")) type = options.type;
+				if (options.hasOwnProperty("complete")) complete = options.complete;
+				if (options.hasOwnProperty("ease")) ease = options.ease;
+				if (options.hasOwnProperty("tweener")) tweener = options.tweener;
+			}
+			var tween:MultiVarTween = new MultiVarTween(complete, type);
+			tween.tween(object, values, duration, ease);
+			tweener.addTween(tween);
+			return tween;
+		}
+
+		/**
 		 * Shuffles the elements in the array.
 		 * @param	a		The Object to shuffle (an Array or Vector).
 		 */


- bugfix: transistions didn't work in cases where display:none was involved

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

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -1684,12 +1684,6 @@
 				m_contentDisplay.visible = true;
 				m_isFrozen = false;
 			}
-			m_isRendered = !(styles.hasStyle('display') &&
-				styles.getStyle('display').specifiedValue() == 'none');
-			if (!m_isRendered)
-			{
-				return;
-			}

 			//check if styles or other relevant factors have changed and stop validation
 			//if not.
@@ -1704,11 +1698,13 @@
 			m_specifiedStyles = styles;
 			styles = m_transitionsManager.processTransitions(oldStyles, styles, stage.frameRate);
 			//this element might have been removed in a transitions event handler. Return if so.
-			if (!m_rootElement)
-			{
-				m_isRendered = false;
+			m_isRendered = !(styles.hasStyle('display') &&
+				styles.getStyle('display').specifiedValue() == 'none') && m_rootElement;
+			if (!m_isRendered)
+			{
 				return;
 			}
+
 			m_complexStyles = styles;
 			m_currentStyles = styles.toComputedStyles();


def: 7500 hide buffering spinner after widevine error occurs

--- plugins/wvPlugin/src/widevinePluginCode.as
+++ plugins/wvPlugin/src/widevinePluginCode.as
@@ -9,6 +9,7 @@
 	import com.kaltura.kdpfl.plugin.IPlugin;
 	import com.kaltura.kdpfl.plugin.KPluginEvent;
 	import com.kaltura.kdpfl.plugin.WVPluginInfo;
+	import com.kaltura.kdpfl.view.controls.BufferAnimationMediator;
 	import com.kaltura.vo.KalturaMediaEntry;

 	import flash.display.Sprite;
@@ -44,7 +45,7 @@
 		private var _wvm:WvMediator;

 		private var _shouldEnd:Boolean;
-		private var _firstStart:Boolean;
+

 		public function widevinePluginCode()
 		{
@@ -104,7 +105,6 @@

 		private function onWVElementCreated(e : Event) : void
 		{
-			_firstStart = true;
 			_wvPluginInfo.wvMediaElement.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
 			if (_wvm.pendingSeekTo)
 				_wvPluginInfo.wvMediaElement.addEventListener(MediaElementEvent.TRAIT_ADD, onTraitAdd);
@@ -167,7 +167,11 @@
 					setTimeout(endOfClip, Math.max(100, (_wvPluginInfo.wvMediaElement.netStream.bufferLength-0.1)*1000));
 					break;

-			/*	case "NetStream.Seek.Notify":
+			/*	case "NetStream.Buffer.Empty":
+
+					break;
+
+				case "NetStream.Seek.Notify":

 					break;

@@ -188,6 +192,7 @@
 			{
 				_facade.sendNotification( NotificationType.ALERT , {message: err, title: alert_title} );
 				_facade.sendNotification(NotificationType.ENABLE_GUI, {guiEnabled: false, enableType : EnableType.CONTROLS});
+				(_facade.retrieveMediator(BufferAnimationMediator.NAME) as BufferAnimationMediator).spinner.visible = false;

 			}
 		}
@@ -201,5 +206,6 @@
 			_facade.sendNotification(NotificationType.PLAYBACK_COMPLETE, {context: SequenceContextType.MAIN});
 			_wvm.ignoreSeek = false;
 		}
+
 	}
 }


ReactionView housekeeping...

ReactionView housekeeping...

--- vendor/ras3r/ras3r/ReactionView.as
+++ vendor/ras3r/ras3r/ReactionView.as
@@ -190,53 +190,6 @@
 			return addChild(ReactionView.create(template, assigns));
 		}

-		// name: String OR Class.
-		//		string: The under_score_name of the Sprite to create. Ex: 'text_field'
-		//		class: 	Reference to the class constructor. Ex: LabelButton
-		// attr: Hash. Optional. Properties to be applied to sprite upon creation (w, h, x, y, etc).
-		// USAGE:
-		// sprite('text_field', { x: 5, y: 22, width: 200, height: 20, autoSize: 'center' });
-		// sprite(TextField, { x: 5, y: 22, width: 200, height: 20, autoSize: 'center' });
-/*		protected function sprite (name:*, attr:Object = null, styles:Object = null) :*
-		{
-			// get class from under_score_name
-			var klass:Class = (name is String) ? name_to_class(name) : (name as Class);
-			var sprite:* = new klass();
-
-			// assign id if defined
-			assign_id_for_object(attr, sprite);
-
-			// assign attributes
-			for (var p:String in attr)
-			{
-				try
-				{
-					sprite[p] = attr[p];
-				}
-				catch (exception:*)
-				{
-					Logger.info('ReactionView#sprite attribute assignment exception: ' + exception);
-				}
-			}
-
-			var ui:UIComponent = sprite as UIComponent;
-			if (ui)
-			{
-				// TODO: deprecate seperate styles hash
-				// assign styles
-				for (var s:String in styles)
-				{
-					ui.setStyle(s, styles[s]);
-				}
-
-				// work around sizing bug:
-				// ui.setSize(ui.width, ui.height);
-			}
-
-			// add to display list
-			return addChild(sprite);
-		}
-*/
 		protected function text (html:String, attributes:Object = null) :TextField
 		{
 			attributes = new Hash(attributes).update({ multiline: true, wordWrap: true });
@@ -247,15 +200,7 @@
 		{
 			if (debug) options = new Hash({ opaqueBackground: 0xddffdd }).update(options);
 			return (helper_for(TextFieldHelper, options, 'htmlText', object_name, property) as TextField);
-/*
-			options = options_for('htmlText', object_name, property).update(options);
-			var id:String = options.remove('id');
-			if (debug) options = new Hash({ opaqueBackground: 0xddffdd }).update(options);
-
-			var sprite:DisplayObject = TextFieldHelper.create(options);
-			assign_id_for_object({ id: id }, sprite);
-			return (addChild(sprite) as TextField);
-*/		}
+		}

 		public function text_input_for (object_name:String, property:String, options:Object = null) :TextInput
 		{
@@ -308,14 +253,6 @@
 			}
 		}

-/*		private function assigns_for (name:*, assign_property:String, object_name:String, object_property:String, attributes:Object = null, styles:Object = null) :*
-		{
-			attributes = options_for(assign_property, object_name, object_property).update(attributes);
-			// HACK: juggling two usage methods until all helpers are refactored
-			assign_id_for_object(attributes, name);
-			return name;
-		}
-*/
 		private function bind_property (display_object:*, object_name:String, object_property:String) :void
 		{
 			if (controller && controller.hasOwnProperty('on_' + display_object.name + '_change'))
@@ -366,20 +303,7 @@
 			return addChild(this[options.name]);
 		}

-/*		private function options_for (assign_property:String, object_name:String, object_property:String, options:Object) :Hash*/
-/*		private function options_for (assign_property:String, object_name:String, object_property:String) :Hash
-		{
-			// infer default instance id, but allow for manual override
-			var options:Hash = new Hash({ id: (object_name + '_' + object_property) });
-
-			// assignment via attributes hash
-			// TODO: replace with databinding
-			options[assign_property] = this[object_name][object_property];
-
-			return options;
-		}
-*/
-		private function name_to_class (name:String) :Class
+/*		private function name_to_class (name:String) :Class
 		{
 			var klass:Class;
 			var className:String = Inflector.camelize(name);
@@ -392,22 +316,13 @@
 			{
 				// ok, that didn't work
 				klass = getDefinitionByName('flash.text.' + className) as Class
-/*
-				try
-				{
-				}
-				catch (e:Error)
-				{
-					// ok, that didn't work
-				}
+			}
+			finally
+			{
+				return klass;
+			}
+		}
 */
-			}
-			finally
-			{
-				return klass;
-			}
-		}
-

 		// >>> EVENT HANDLERS
 		private function after_added_to_stage (e:Event) :void


Add "\r\n\r\n" to finish the GET request.

--- swfcat.as
+++ swfcat.as
@@ -160,7 +160,7 @@
 		/* Need to parse the bytes to get the new client. Fill out client_address and client_port */
             });

-	    s_f.writeUTFBytes("GET / HTTP/1.0");
+	    s_f.writeUTFBytes("GET / HTTP/1.0\r\n\r\n");
 	    s_f.flush();

         }


Of course unsigned.

Of course unsigned.

git-svn-id: c197267f952b24206666de142881703007ca05d5@13212 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/util/Hex.as
+++ src/org/igniterealtime/xiff/util/Hex.as
@@ -66,7 +66,7 @@
 			trace("readBytes. len: " + len);
 			for (var i:uint = 0; i < len; ++i)
 			{
-				var byte:uint = ba.readByte();
+				var byte:uint = ba.readUnsignedByte();
 				//trace("readBytes. byte " + i + ": " + byte + " -- " + byte.toString(16));
 				hex += byte.toString(16).substr(-2);
 			}


Maybe something like this. Waffle.

Maybe something like this.
Waffle.

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

--- src/as/com/threerings/parlor/game/client/GameController.as
+++ src/as/com/threerings/parlor/game/client/GameController.as
@@ -171,12 +171,18 @@

     /**
      * Returns the persistent user id for the supplied player name.
-     *
-     * @param spec a Name or OccupantInfo.
-     */
-    public function getPlayerPersistentId (name :Name) :int
+     */
+    public function nameToId (name :Name) :int
     {
         return (_userIder == null) ? 0 : _userIder.getUserId(name);
+    }
+
+    /**
+     * Returns the persistent user id for the supplied occupant info.
+     */
+    public function infoToId (occInfo :OccupantInfo) :int
+    {
+        return nameToId(occInfo.username);
     }

     /**


Added conic projection

Added conic projection

--- WeaveData/src/weave/data/ProjectionManager.as
+++ WeaveData/src/weave/data/ProjectionManager.as
@@ -60,7 +60,12 @@
 		 * This function decompresses the projection database and loads the definitions into ProjProjection.defs.
 		 */
 		private static function initializeProjections():void
-		{
+		{
+			// http://mathworld.wolfram.com/AlbersEqual-AreaConicProjection.html
+			ProjProjection.defs['EPSG:9822'] = '+title=Albers Equal-Area Conic +proj=aea +lat_1=0 +lat_2=60 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs';
+
+			//ProjProjection.defs['aeac-us'] = '+title=Albers Equal-Area Conic +proj=aea +lat_1=37.25 +lat_2=40.25 +lat_0=36 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs';
+
 			ProjProjection.defs['EPSG:26986'] = "+title=NAD83 / Massachusetts Mainland +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs";
 			ProjProjection.defs["EPSG:3638"] = "+title=NAD83(NSRS2007) / Ohio South +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs";
 			ProjProjection.defs['VANDG'] = "+title=Van Der Grinten +proj=vandg +x_0=0 +y_0=0 +lon_0=0";


bad comment

bad comment

--- runtime/src/main/as/flump/display/Layer.as
+++ runtime/src/main/as/flump/display/Layer.as
@@ -18,9 +18,9 @@
     // Only created if there are multiple items on this layer. If it does exist, the appropriate
     // display is swapped in at keyframe changes. If it doesn't, the display is only added to the
     // parent on layer creation
-    public var displays :Vector.<DisplayObject>;// <SPDisplayObject*>
+    public var displays :Vector.<DisplayObject>;
     public var movie :Movie; // The movie this layer belongs to
-    // If the keyframe has changed since the last drawFrame
+    // true if the keyframe has changed since the last drawFrame
     public var changedKeyframe :Boolean;

     public function Layer (movie :Movie, src :LayerMold, library :Library, flipbook :Boolean) {


test change

test change

--- activities/module-2/series-measuring/Probe.as
+++ activities/module-2/series-measuring/Probe.as
@@ -1,4 +1,5 @@
-package {
+package {
+    //test change//

     import flash.display.MovieClip;
     import flash.events.MouseEvent;


removed assertion since this is a Spring ActionScript dependency

--- test/src/as3reflect/testclasses/ComplexClass.as
+++ test/src/as3reflect/testclasses/ComplexClass.as
@@ -1,42 +1,42 @@
 /*
- * Copyright 2007-2008 the original author or authors.
+ * Copyright (c) 2007-2009 the original author or authors
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
  */
-package org.springextensions.actionscript.reflection.testclasses
-{
+package as3reflect.testclasses {

-  import org.springextensions.actionscript.utils.Assert;
-
-  /**
-   *

-   * Author: Martino Piccinato

-   * Version: $Revision$, $Date$, $Author$

-   * Since: 1.0
-   *

-   */
-  public class ComplexClass
-  {
-
-    private var _name:String;
-	private var _number:Number;
-
-    public function ComplexClass(name:String, number:Number, otherParameters:Array = null)
-	{
-      Assert.notNull(name, "The name argument cannot be null");
-      this._name = name;
-      this._number = number;
+	/**
+	 *

+	 * Author: Martino Piccinato

+	 * Version: $Revision$, $Date$, $Author$

+	 * Since: 1.0
+	 *

+	 */
+	public class ComplexClass {
+
+		private var _name:String;
+		private var _number:Number;
+
+		public function ComplexClass(name:String, number:Number, otherParameters:Array = null) {
+			this._name = name;
+			this._number = number;
+		}
+
 	}
-
-  }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21756
Author:   jszeto@adobe.com
Date:     2011-08-01T18:58:00.702387Z

Log Message:
-----------
SpinnerList Fixes

- Rewrote the LayoutIterator in VerticalSpinnerLayout
- Implemented a smarter algorithm for detecting the closest enabled item
- Lowered padding values
- Updated SelectionIndicator gradient to have less of a contrast between the top and bottom
- DateSpinner is no longer resizable
- Fixed right border bug
- Decreased the minimum width for SpinnerList

QE notes: none
Doc notes: none
Bugs: none
Reviewer: Tom K
Tests run: checkintests, cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/layouts/VerticalSpinnerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as
@@ -49,7 +49,7 @@
 			}
 		}

-		minWidth = 112;
+		minWidth = 16;
 	}

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


Rename DEFAULT_FAC_POLL_INTERVAL to FACILITATOR_POLL_INTERVAL.

--- swfcat.as
+++ swfcat.as
@@ -37,9 +37,9 @@
             host: "127.0.0.1",
             port: 9002
         };
-
-        /* Poll facilitator every 10 sec */
-        private const DEFAULT_FAC_POLL_INTERVAL:uint = 10000;
+
+        // Milliseconds.
+        private const FACILITATOR_POLL_INTERVAL:int = 10000;

         // Socket to Cirrus server
         private var s_c:CirrusSocket;
@@ -185,7 +185,7 @@
             s_f = new FacilitatorSocket(fac_addr.host, fac_addr.port);
             s_f.addEventListener(FacilitatorSocketEvent.CONNECT_FAILED, function (e:Event):void {
                 puts("Facilitator: connect failed.");
-                setTimeout(establish_facilitator_connection, DEFAULT_FAC_POLL_INTERVAL);
+                setTimeout(establish_facilitator_connection, FACILITATOR_POLL_INTERVAL);
             });

             if (proxy_mode) {
@@ -210,14 +210,14 @@
                 });
                 s_f.addEventListener(FacilitatorSocketEvent.REGISTRATIONS_EMPTY, function (e:Event):void {
                     puts("Facilitator: no registrations available.");
-                    setTimeout(establish_facilitator_connection, DEFAULT_FAC_POLL_INTERVAL);
+                    setTimeout(establish_facilitator_connection, FACILITATOR_POLL_INTERVAL);
                 });
                 puts("Facilitator: getting registration.");
                 s_f.get_registration();
             } else {
                 s_f.addEventListener(FacilitatorSocketEvent.REGISTRATION_FAILED, function (e:Event):void {
                     puts("Facilitator: registration failed.");
-                    setTimeout(establish_facilitator_connection, DEFAULT_FAC_POLL_INTERVAL);
+                    setTimeout(establish_facilitator_connection, FACILITATOR_POLL_INTERVAL);
                 });
                 puts("Facilitator: posting registration.");
                 s_f.post_registration(s_c.id);


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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