Transferred from the Adobe Open Source Subversion Repository

Revision: 5797
Author:   jimurphy@adobe.com
Date:     2009-03-31T15:35:34.544076Z

Log Message:
-----------
Merged revisions 3.x 5505,5526-5527,5535,5540,5542,5572,5616-5617,5656-5657,5671,5674,5683,5687-5688,5690,5698,5708-5709,5713-5716,5719-5723,5726,5728-5729,5736,5752,5754,5761,5774,5780,5784 -> trunk

most of these are user submitted patches! very cool.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/IResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/compiler/FlexCompilerShell-license.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/PhoneNumberValidator.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/validators/NumberValidatorDomainType.as" copyfrom-rev="5784" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/NumberValidatorDomainType.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.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/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/NumberValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/CurrencyValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Form.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/CalendarLayoutChangeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/DataGridEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpMenuButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>

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

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -14,7 +14,6 @@

 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
-import flash.display.GradientType;
 import flash.display.Graphics;
 import flash.display.Shape;
 import flash.display.Sprite;
@@ -22,12 +21,11 @@
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
-import flash.geom.Matrix;
 import flash.geom.Point;
-import flash.geom.Rectangle;
 import flash.ui.Keyboard;
+import flash.utils.Dictionary;
 import flash.utils.describeType;
-import flash.utils.Dictionary;
+
 import mx.collections.CursorBookmark;
 import mx.collections.ICollectionView;
 import mx.collections.ItemResponder;
@@ -52,9 +50,9 @@
 import mx.core.FlexShape;
 import mx.core.FlexSprite;
 import mx.core.FlexVersion;
-import mx.core.IChildList;
 import mx.core.IFactory;
 import mx.core.IFlexDisplayObject;
+import mx.core.IFlexModuleFactory;
 import mx.core.IIMESupport;
 import mx.core.IInvalidating;
 import mx.core.IPropertyChangeNotifier;
@@ -66,26 +64,20 @@
 import mx.core.mx_internal;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
-import mx.events.ListEvent;
 import mx.events.DataGridEvent;
 import mx.events.DataGridEventReason;
 import mx.events.DragEvent;
-import mx.events.FlexEvent;
 import mx.events.IndexChangedEvent;
+import mx.events.ListEvent;
 import mx.events.SandboxMouseEvent;
 import mx.events.ScrollEvent;
 import mx.events.ScrollEventDetail;
-import mx.managers.CursorManager;
-import mx.managers.CursorManagerPriority;
 import mx.managers.IFocusManager;
 import mx.managers.IFocusManagerComponent;
-import mx.managers.ISystemManager;
 import mx.skins.halo.ListDropIndicator;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.StyleManager;
 import mx.utils.ObjectUtil;
-import mx.managers.ISystemManager;
-import mx.core.IFlexModuleFactory;
 import mx.utils.StringUtil;

 use namespace mx_internal;
@@ -120,6 +112,13 @@
  *  @productversion Flex 3
  */
 [Event(name="itemEditBegin", type="mx.events.DataGridEvent")]
+
+/**
+ *  Dispatched when the item editor has just been instantiated.
+ *
+ *  @eventType mx.events.DataGridEvent.ITEM_EDITOR_CREATE
+ */
+[Event(name="itemEditorCreate", type="mx.events.DataGridEvent")]

 /**
  *  Dispatched when an item editing session ends for any reason.
@@ -4177,6 +4176,11 @@
             addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE, editorMouseDownHandler, false, 0, true);
         // we disappear if stage is resized
         systemManager.addEventListener(Event.RESIZE, editorStageResizeHandler, true, 0, true);
+
+	// Dispatch our item editor created event
+        var event:DataGridEvent =
+        		new DataGridEvent(DataGridEvent.ITEM_EDITOR_CREATE, false, true, colIndex, null, rowIndex);
+        dispatchEvent(event);
     }

     /**
@@ -4582,11 +4586,23 @@
                 if (itemEditorInstance)
                 {
                     if (displayableColumns[pos.x].editable == false)
+                    {
                         bEndedEdit = endEdit(DataGridEventReason.OTHER);
+                    }
                     else
-                        bEndedEdit = endEdit(editedItemPosition.rowIndex == pos.y ?
+                    {
+                        //Possible to get here and not have an editedItemPosition
+                        if (editedItemPosition)
+                        {
+                            bEndedEdit = endEdit(editedItemPosition.rowIndex == pos.y ?
                                          DataGridEventReason.NEW_COLUMN :
                                          DataGridEventReason.NEW_ROW);
+                        }
+                        else
+                        {
+                            bEndedEdit = false;
+                        }
+                    }
                 }

                 // if we didn't end edit session, don't do default behavior (call super)
@@ -4928,6 +4944,9 @@
         else if (event.charCode == Keyboard.ENTER && event.keyCode != 229)
         {
             // multiline editors can take the enter key.
+            if (!_editedItemPosition)
+                return;
+
             if (columns[_editedItemPosition.columnIndex].editorUsesEnterKey)
                 return;

@@ -4962,6 +4981,12 @@
             return;

         _editedItemPosition = lastEditedItemPosition;
+
+        // though endEdit checks this, an ITEM_EDIT_END event handler can, in
+        // the meantime, wipe out the item editor (e.g. by setting a new data
+        // provider). so we add another check here.
+        if (!_editedItemPosition)
+            return;

         var rowIndex:int = _editedItemPosition.rowIndex;
         var columnIndex:int = _editedItemPosition.columnIndex;
@@ -5155,10 +5180,12 @@
                     if (!(newData is int))
                         newData = Number(newData);
                 }
-                if (property != null && data[property] !== newData)
-                {
-                    bChanged = true;
-                    data[property] = newData;
+                /** Old code assumed that the property would be a simply name that could be dereferenced
+                  * through array notation. Using a method call here provides, minimally, an override
+                  * point where developers could extend this functionality in their own datagrid subclass **/
+                if (property != null && getCurrentDataValue( data, property ) !== newData)
+                {
+                    bChanged = setNewValue( data, property, newData, event.columnIndex );
                 }
                 if (bChanged && !(data is IPropertyChangeNotifier || data is XML))
                 {
@@ -5194,6 +5221,59 @@
         {
             destroyItemEditor();
         }
+    }
+
+	protected function isComplexColumn( property:String ):Boolean
+    {
+        return ( property.indexOf( "." ) != -1 );
+    }
+
+	//Gets the reference to the parent object where a property will be updated
+    protected function deriveComplexFieldReference( data:Object, complexFieldNameComponents:Array ):Object
+    {
+        var currentRef:Object = data;
+        if ( complexFieldNameComponents )
+        {
+            for ( var i:int=0; i<complexFieldNameComponents.length; i++ )
+                currentRef = currentRef[ complexFieldNameComponents[ i ] ];
+        }
+
+        return currentRef;
+    }
+
+    //default implementations of these two methods, intended for subclassing
+    //not checking if it really is a complex value here as the performance hit of doing this here is negligible
+    //compared with every display
+    protected function getCurrentDataValue( data:Object, property:String ):String
+    {
+        if ( !isComplexColumn( property ) )
+            return data[ property ];
+
+        var complexFieldNameComponents:Array = property.split( "." );
+        var obj:Object = deriveComplexFieldReference( data, complexFieldNameComponents );
+
+        return String( obj );
+    }
+
+	//Passing all of these parameters as it basically allows everything you would need to subclass for all sorts of fun implementations
+    protected function setNewValue( data:Object, property:String, value:Object, columnIndex:int ):Boolean
+    {
+        if ( !isComplexColumn( property ) )
+        {
+        	data[ property ] = value;
+        }
+        else
+        {
+            var complexFieldNameComponents:Array = property.split( "." );
+            var lastProp:String = complexFieldNameComponents.pop();
+            var parent:Object = deriveComplexFieldReference( data, complexFieldNameComponents );
+            parent[ lastProp ] = value;
+        }
+
+        //The value they typed in is always converted to a string, but is the value actually a string in the dataprovider?
+        //unknown as it is cast by datagridcolumn before datagrid ever gets to know...
+        //control if this really causes an update in subclass
+        return true;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 17890
Author:   jasonsj@adobe.com
Date:     2010-09-28T00:25:29.619561Z

Log Message:
-----------
Update ActionBar ASDoc comments.

QE notes:
Doc notes:
Bugs:
SDK-28015 typo in actionBar ASDoc
Reviewer:
Tests run:
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
@@ -48,7 +48,7 @@
  *  The ActionBar class defines a component that includes title, navigation
  *  and action content groups. In the context of a ViewNavigator and
  *  MobileApplication, the ActionBar is used as application chrome which
- *  is has content contributed by the active View. ActionBar has limited
+ *  has content contributed by the active View. ActionBar has limited
  *  utility when used otherwise.
  *
  *  @mxml
@@ -69,7 +69,7 @@
  *
  *   Styles
  *    backgroundAlpha="1.0"
- *    titleAlign="start"
+ *    titleAlign="left"
  *
  *  <
  *

@@ -275,9 +275,11 @@
      *  ActionBar. The location and appearance of the navigationGroup of the
      *  ActionBar container is determined by the
      *  spark.skins.mobile.ActionBarSkin.
-     *  The default ActionBarSkin class defines the navigationGroup to appear
-     *  to the left of the title display area of the ActionBar.
-     *  Create a custom skin to change the default location and appearance of
+     *
+     *
The default ActionBarSkin class defines the navigationGroup to appear
+     *  to the left of the titleGroup area of the ActionBar.
+     *
+     *
Create a custom skin to change the default location and appearance of
      *  the navigationGroup.
      *
      *  @default null
@@ -363,13 +365,17 @@
      *  The set of components to include in the titleGroup of the
      *  ActionBar. If titleContent is not null, it's visual elements replace
      *  the mxmlContent of titleGroup. If titleContent is null, the
-     *  titleDisplay skin part, if present, replaces the mxmlContent of
-     *  titleGroup.
-     *  The location and appearance of the titleGroup of the ActionBar
-     *  container is determined by the spark.skins.mobile.ActionBarSkin class.
-     *  By default, the ActionBarSkin class defines the titleGroup to appear in
-     *  the center of the ActionBar.
-     *  Create a custom skin to change the default location and appearance of the titleGroup.
+     *  titleDisplay skin part, if present, is displayed in place of the
+     *  titleGroup.
+     *
+     *
The location and appearance of the titleGroup of the
+     *  ActionBar container is determined by the
+     *  spark.skins.mobile.ActionBarSkin class. By default, the ActionBarSkin
+     *  class defines the titleGroup to appear in the center of the ActionBar,
+     *  using the space remaining between navigationGroup and actionGroup.
+     *
+     *
Create a custom skin to change the default location and appearance of
+     *  the titleGroup.
      *
      *  @default null
      *
@@ -413,9 +419,15 @@
     //----------------------------------

     /**
-     *  Defines the layout of the titleGroup.
+     *  Defines the layout of titleGroup and titleDisplay.
+     *
+     *
If titleContent is null, titleDisplay is displayed in place of
+     *  titleGroup. In this case, titleDisplay is positioned with
+     *  padded using paddingLeft and paddingRight properties of
+     *  titleLayout if defined.
      *
      *  @default HorizontalLayout
+     *  @see #titleContent
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -456,9 +468,11 @@
      *  The set of components to include in the actionGroup of the
      *  ActionBar. The location and appearance of the actionGroup of the
      *  ActionBar container is determined by the skin.
-     *  The default ActionBarSkin class defines the actionGroup to appear
+     *
+     *
The default ActionBarSkin class defines the actionGroup to appear
      *  to the right of the title display area of the ActionBar.
-     *  Create a custom skin to change the default location and appearance of
+     *
+     *
Create a custom skin to change the default location and appearance of
      *  the actionGroup.
      *
      *  @default null


Transferred from the Adobe Open Source Subversion Repository

Revision: 17309
Author:   jasonsj@adobe.com
Date:     2010-08-13T00:21:15.895776Z

Log Message:
-----------
Implemented new ActionBar skin with flat button skins and new FXG assets.
SDK-27369 - Fixed incorrect layout assignment and caching for ActionBar content groups.

QE notes: Please test template property (action/navigation/title) content and layout changes
Doc notes:
Bugs:
SDK-27369 - The titleLayout, actionLayout and navigationLayout properties of ActionBar are not functioning
Reviewer: gruehle
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarActionButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarNavigationButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarActionButton_bg.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarNavigationButton_bg.fxg</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/src/MobileThemeClasses.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarHighlight.fxg</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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarActionButton_bg_down.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarNavigationButton_bg_down.fxg</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
@@ -11,13 +11,10 @@

 package spark.components
 {
-import flash.events.Event;
-
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
 import mx.utils.BitFlagUtil;

-import spark.components.supportClasses.ButtonBase;
 import spark.components.supportClasses.SkinnableComponent;
 import spark.layouts.supportClasses.LayoutBase;

@@ -326,7 +323,10 @@
      */
     public function get navigationLayout():LayoutBase
     {
-        return (navigationGroup) ? navigationGroup.layout : contentGroupProperties[NAVIGATION_GROUP_PROPERTIES_INDEX].layout;
+        if (navigationGroup)
+            return navigationGroup.layout;
+        else
+            return contentGroupProperties[NAVIGATION_GROUP_PROPERTIES_INDEX].layout;
     }

     /**
@@ -339,10 +339,10 @@
             navigationGroup.layout = (value) ? value : contentGroupLayouts[NAVIGATION_GROUP_PROPERTIES_INDEX];
             contentGroupProperties[NAVIGATION_GROUP_PROPERTIES_INDEX] =
                 BitFlagUtil.update(contentGroupProperties[NAVIGATION_GROUP_PROPERTIES_INDEX] as uint,
-                LAYOUT_PROPERTY_FLAG, true);
-        }
-        else
-            contentGroupProperties.layout = value;
+                    LAYOUT_PROPERTY_FLAG, true);
+        }
+        else
+            contentGroupProperties[NAVIGATION_GROUP_PROPERTIES_INDEX].layout = value;
     }

     //----------------------------------
@@ -427,7 +427,10 @@
      */
     public function get titleLayout():LayoutBase
     {
-        return (titleGroup) ? titleGroup.layout : contentGroupProperties[TITLE_GROUP_PROPERTIES_INDEX].layout;
+        if (titleGroup)
+            return titleGroup.layout;
+        else
+            return contentGroupProperties[TITLE_GROUP_PROPERTIES_INDEX].layout;
     }

     /**
@@ -443,7 +446,7 @@
                     LAYOUT_PROPERTY_FLAG, true);
         }
         else
-            contentGroupProperties.layout = value;
+            contentGroupProperties[TITLE_GROUP_PROPERTIES_INDEX].layout = value;
     }

     //----------------------------------
@@ -512,7 +515,10 @@
      */
     public function get actionLayout():LayoutBase
     {
-        return (actionGroup) ? actionGroup.layout : contentGroupProperties[ACTION_GROUP_PROPERTIES_INDEX].layout;
+        if (actionGroup)
+            return actionGroup.layout;
+        else
+            return contentGroupProperties[ACTION_GROUP_PROPERTIES_INDEX].layout;
     }

     /**
@@ -528,7 +534,7 @@
                     LAYOUT_PROPERTY_FLAG, true);
         }
         else
-            contentGroupProperties.layout = value;
+            contentGroupProperties[ACTION_GROUP_PROPERTIES_INDEX].layout = value;
     }

     //--------------------------------------------------------------------------
@@ -548,46 +554,41 @@
         var group:Group;
         var index:int = -1;

+        // set ID for CSS selectors
+        // (e.g. to style actionContent Buttons: s|ActionBar s|Group#actionGroup s|Button)
         if (instance == navigationGroup)
         {
             group = navigationGroup;
-			// FIXME (jasonsj): do we need to set ID for CSS selectors to work
-			//group.id = "navigationGroup";
             index = NAVIGATION_GROUP_PROPERTIES_INDEX;
         }
         else if (instance == titleGroup)
         {
             group = titleGroup;
-			// FIXME (jasonsj): do we need to set ID for CSS selectors to work
-			//group.id = "titleGroup";
             index = TITLE_GROUP_PROPERTIES_INDEX;

             // use titleContent if provided
-            defaultContent = contentGroupProperties[TITLE_GROUP_PROPERTIES_INDEX].content;
-
-            // if no titleContent, use titleDisplay
-            if (defaultContent == null)
-                defaultContent = (titleDisplay) ? [titleDisplay] : null;
+            defaultContent = (titleDisplay) ? [titleDisplay] : null;
         }
         else if (instance == actionGroup)
         {
             group = actionGroup;
-			// FIXME (jasonsj): do we need to set ID for CSS selectors to work
-			//group.id = "actionGroup";
             index = ACTION_GROUP_PROPERTIES_INDEX;
         }
         else if (instance == titleDisplay)
         {
             titleDisplay.text = title;
-
-			if (titleGroup && !titleContent)
-			{
-				titleGroup.mxmlContent = [titleDisplay];
-			}
+
+            if (titleGroup && !titleContent)
+            {
+                titleGroup.mxmlContent = [titleDisplay];
+            }
         }

         if (index > -1)
         {
+            // cache original layout
+            contentGroupLayouts[index] = group.layout;
+
             var newContentGroupProperties:uint = 0;

             if (contentGroupProperties[index].content != undefined)
@@ -596,21 +597,19 @@
                 newContentGroupProperties = BitFlagUtil.update(newContentGroupProperties,
                     CONTENT_PROPERTY_FLAG, true);
             }
+            else if (defaultContent)
+            {
+                group.mxmlContent = defaultContent;
+            }

             if (contentGroupProperties[index].layout !== undefined)
             {
-                group.layout = contentGroupProperties.layout;
+                group.layout = contentGroupProperties[index].layout;
                 newContentGroupProperties = BitFlagUtil.update(newContentGroupProperties,
                     LAYOUT_PROPERTY_FLAG, true);
             }

-            if (defaultContent)
-            {
-                group.mxmlContent = defaultContent;
-            }
-
             contentGroupProperties[index] = newContentGroupProperties;
-            contentGroupLayouts[index] = group.layout;
         }
     }

@@ -647,8 +646,13 @@
             if (BitFlagUtil.isSet(contentGroupProperties[index] as uint, CONTENT_PROPERTY_FLAG))
                 newContentGroupProperties.content = group.getMXMLContent();

+            if (BitFlagUtil.isSet(contentGroupProperties[index] as uint, LAYOUT_PROPERTY_FLAG))
+                newContentGroupProperties.layout = group.layout;
+
             contentGroupProperties[index] = newContentGroupProperties;
+
             group.mxmlContent = null;
+            group.layout = null;
         }
     }
 }


Formatting

Formatting

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

--- src/as/com/threerings/parlor/client/DefaultFlexTableConfigurator.as
+++ src/as/com/threerings/parlor/client/DefaultFlexTableConfigurator.as
@@ -123,7 +123,7 @@
     }

     // documentation inherited
-    override protected function flushTableConfig() :void
+    override protected function flushTableConfig () :void
     {
         super.flushTableConfig();


fix double adding tag from scene

fix double adding tag from scene

--- bin/Data/Scripts/Editor/EditorInspectorWindow.as
+++ bin/Data/Scripts/Editor/EditorInspectorWindow.as
@@ -745,8 +745,12 @@
         for (int i =0; i < sceneTags.length; i++)
         {
             bool isHasTag = editNode.HasTag(sceneTags[i]);
-            String taggedIndicator = (isHasTag ? Indicator : "");
-            actions.Push(CreateContextMenuItem(taggedIndicator + sceneTags[i], "HandleTagsMenuSelection", sceneTags[i]));
+            // Add this tag into menu if only Node not tadded with it yet, otherwise it showed on step 1.
+            if (!isHasTag)
+            {
+                String taggedIndicator = (isHasTag ? Indicator : "");
+                actions.Push(CreateContextMenuItem(taggedIndicator + sceneTags[i], "HandleTagsMenuSelection", sceneTags[i]));
+            }
         }

         // 3. Add default tags


fixed bug with short circuiting ||

fixed bug with short circuiting ||

--- WeaveCore/src/weave/compiler/Compiler.as
+++ WeaveCore/src/weave/compiler/Compiler.as
@@ -1872,7 +1872,7 @@

 							// handle branching and short-circuiting
 							// skip evaluation of true or false branch depending on condition and branch operator
-							if (BRANCH_LOOKUP[method] && call.evalIndex > INDEX_CONDITION)
+							if (BRANCH_LOOKUP[method] !== undefined && call.evalIndex > INDEX_CONDITION)
 								if (BRANCH_LOOKUP[method] == (call.evalIndex != (call.evaluatedParams[INDEX_CONDITION] ? INDEX_TRUE : INDEX_FALSE)))
 									continue;

@@ -2020,7 +2020,10 @@
 						if (ignoreRuntimeErrors)
 							result = undefined;
 						else
+						{
+							trace(decompileObject(call));
 							throw e;
+						}
 					}

 					// handle while and for loops


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.automation.delegates.core
 {


Use the new video player.

Use the new video player.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@681 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flash/MediaContainer.as
+++ src/as/com/threerings/flash/MediaContainer.as
@@ -62,6 +62,9 @@
 import com.threerings.util.ValueEvent;
 import com.threerings.util.Util;

+import com.threerings.flash.video.FlvVideoPlayer;
+import com.threerings.flash.video.SimpleVideoDisplay;
+import com.threerings.flash.video.VideoPlayerCodes;

 /**
  * Dispatched when the size of the media being loaded is known.
@@ -246,12 +249,13 @@
      */
     protected function setupVideo (url :String) :void
     {
-        var vid :VideoDisplayer = new VideoDisplayer();
-        vid.addEventListener(VideoDisplayer.SIZE_KNOWN, handleVideoSizeKnown);
-        vid.addEventListener(VideoDisplayer.VIDEO_ERROR, handleVideoError);
+        var player :FlvVideoPlayer = new FlvVideoPlayer();
+        var vid :SimpleVideoDisplay = new SimpleVideoDisplay(player);
+//        vid.addEventListener(VideoPlayerCodes.SIZE, handleVideoSizeKnown);
         _media = vid;
         addChildAt(vid, 0);
-        vid.setup(url);
+        player.load(url);
+        updateContentDimensions(SimpleVideoDisplay.NATIVE_WIDTH, SimpleVideoDisplay.NATIVE_HEIGHT);
     }

     /**
@@ -342,11 +346,10 @@
                 var extra :String  = (url == _url) ? "" : (", _url=" + _url);
                 log.debug("Unloaded media [url=" + url + extra + "].");

-            } else if (_media is VideoDisplayer) {
-                var vid :VideoDisplayer = (_media as VideoDisplayer);
-                vid.removeEventListener(VideoDisplayer.SIZE_KNOWN, handleVideoSizeKnown);
-                vid.removeEventListener(VideoDisplayer.VIDEO_ERROR, handleVideoError);
-                vid.shutdown();
+            } else if (_media is SimpleVideoDisplay) {
+                var vid :SimpleVideoDisplay = SimpleVideoDisplay(_media);
+//                vid.removeEventListener(VideoPlayerCodes.SIZE, handleVideoSizeKnown);
+                vid.unload();
                 removeChild(vid);

             } else if (_media != null) {
@@ -576,24 +579,24 @@
         }
     }

-    /**
-     * Handles video size known.
-     */
-    protected function handleVideoSizeKnown (event :ValueEvent) :void
-    {
-        var args :Array = (event.value as Array);
-        updateContentDimensions(int(args[0]), int(args[1]));
-    }
-
-    /**
-     * Handles an error loading a video.
-     */
-    protected function handleVideoError (event :ValueEvent) :void
-    {
-        log.warning("Error loading video [cause=" + event.value + "].");
-        stoppedLoading();
-        setupBrokenImage(-1, -1);
-    }
+//    /**
+//     * Handles video size known.
+//     */
+//    protected function handleVideoSizeKnown (event :ValueEvent) :void
+//    {
+//        const size :Point = Point(event.value);
+//        updateContentDimensions(size.x, size.y);
+//    }
+
+//    /**
+//     * Handles an error loading a video.
+//     */
+//    protected function handleVideoError (event :ValueEvent) :void
+//    {
+//        log.warning("Error loading video [cause=" + event.value + "].");
+//        stoppedLoading();
+//        setupBrokenImage(-1, -1);
+//    }

     /**
      * Handles the INIT event for content loaded with a Loader.


fix comment for asdoc

fix comment for asdoc

--- src/com/google/analytics/core/DocumentInfo.as
+++ src/com/google/analytics/core/DocumentInfo.as
@@ -116,7 +116,7 @@

         /**
          * Hit id for revenue per page tracking for AdSense.
-         *
Example :utmhid=2059107202

+         *
Example :utmhid=2059107202

          */
         public function get utmhid():String
         {
@@ -125,7 +125,7 @@

         /**
          * Referral, complete URL.
-         *
Example :utmr=http://www.example.com/aboutUs/index.php?var=selected

+         *
Example :utmr=http://www.example.com/aboutUs/index.php?var=selected

          */
         public function get utmr():String
         {
@@ -139,7 +139,7 @@

         /**
          * Page request of the current page.
-         *
Example :utmp=/testDirectory/myPage.html

+         *
Example :utmp=/testDirectory/myPage.html

          */
         public function get utmp():String
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/mx/src/mx/containers/HBox.as
+++ frameworks/projects/mx/src/mx/containers/HBox.as
@@ -13,6 +13,7 @@
 {

 import mx.core.mx_internal;
+use namespace mx_internal;

 //--------------------------------------
 //  Excluded APIs
@@ -107,7 +108,7 @@
     {
         super();

-        mx_internal::layoutObject.direction = BoxDirection.HORIZONTAL;
+        layoutObject.direction = BoxDirection.HORIZONTAL;
     }

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


Now hiding 'restart weave' option when ExternalInterface not available.

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -55,11 +55,11 @@
 	import weave.Weave;
 	import weave.WeaveProperties;
 	import weave.api.WeaveAPI;
-	import weave.api.getCallbackCollection;
-	import weave.api.reportError;
 	import weave.api.core.ILinkableObject;
 	import weave.api.data.ICSVExportable;
 	import weave.api.data.IDataSource;
+	import weave.api.getCallbackCollection;
+	import weave.api.reportError;
 	import weave.api.ui.IVisTool;
 	import weave.compiler.StandardLib;
 	import weave.core.ExternalSessionStateInterface;
@@ -849,7 +849,8 @@
 					_weaveMenu.addMenuItemToMenu(_sessionMenu, new WeaveMenuItem(lang("Manage plugins..."), managePlugins));
 				}
 				_weaveMenu.addSeparatorToMenu(_sessionMenu);
-				_weaveMenu.addMenuItemToMenu(_sessionMenu, new WeaveMenuItem(lang('Restart Weave'), Weave.externalReload));
+				if (ExternalInterface.available)
+					_weaveMenu.addMenuItemToMenu(_sessionMenu, new WeaveMenuItem(lang('Restart Weave'), Weave.externalReload));
 				if (Weave.properties.showCollaborationMenuItem.value)
 				{
 					_weaveMenu.addSeparatorToMenu(_sessionMenu);


WIMPWC-1576 Cannot seek video after its end.

--- src/org/mangui/osmf/plugins/traits/HLSPlayTrait.as
+++ src/org/mangui/osmf/plugins/traits/HLSPlayTrait.as
@@ -3,6 +3,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  package org.mangui.osmf.plugins.traits {
     import org.mangui.hls.HLS;
+	import org.mangui.hls.constant.HLSPlayStates;
     import org.mangui.hls.event.HLSEvent;
     import org.osmf.traits.PlayState;
     import org.osmf.traits.PlayTrait;
@@ -11,38 +12,70 @@
     import org.mangui.hls.utils.Log;
     }

-    public class HLSPlayTrait extends PlayTrait {
+    public class HLSPlayTrait extends PlayTrait
+    {
         private var _hls : HLS;
+
         private var streamStarted : Boolean = false;

-        public function HLSPlayTrait(hls : HLS) {
+        public function HLSPlayTrait(hls : HLS)
+        {
             CONFIG::LOGGING {
             Log.debug("HLSPlayTrait()");
             }
             super();
             _hls = hls;
+			_hls.addEventListener(HLSEvent.PLAYBACK_STATE, _stateChangedHandler);
             _hls.addEventListener(HLSEvent.PLAYBACK_COMPLETE, _playbackComplete);
         }

-        override public function dispose() : void {
+        override public function dispose() : void
+        {
             CONFIG::LOGGING {
             Log.debug("HLSPlayTrait:dispose");
             }
+			_hls.removeEventListener(HLSEvent.PLAYBACK_STATE, _stateChangedHandler);
             _hls.removeEventListener(HLSEvent.PLAYBACK_COMPLETE, _playbackComplete);
             super.dispose();
         }

-        override protected function playStateChangeStart(newPlayState : String) : void {
-            CONFIG::LOGGING {
-            Log.info("HLSPlayTrait:playStateChangeStart:" + newPlayState);
+		/** state changed handler **/
+		private function _stateChangedHandler(event:HLSEvent):void
+		{
+			switch (event.state)
+			{
+				case HLSPlayStates.PLAYING:
+					CONFIG::LOGGING
+				{
+					Log.debug("HLSPlayTrait:_stateChangedHandler:setBuffering(true)");
+				}
+					if (!streamStarted)
+					{
+                        streamStarted = true;
+						play();
+					}
+				default:
             }
-            switch(newPlayState) {
+        }
+
+        override protected function playStateChangeStart(newPlayState:String):void
+        {
+            CONFIG::LOGGING
+            {
+                Log.info("HLSPlayTrait:playStateChangeStart:" + newPlayState);
+            }
+            switch (newPlayState)
+            {
                 case PlayState.PLAYING:
-                    if (!streamStarted) {
+                    if (!streamStarted)
+                    {
                         _hls.stream.play();
                         streamStarted = true;
-                    } else {
+                    }
+                    else
+                    {
                         _hls.stream.resume();
+
                     }
                     break;
                 case PlayState.PAUSED:


Transferred from the Adobe Open Source Subversion Repository

Revision: 22608
Author:   smgilson@adobe.com
Date:     2011-09-16T17:19:03.985309Z

Log Message:
-----------
- Add ViewMenu example, add image to ViewMenu.as

- fix typos in ASDoc comments

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

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ViewMenuExampleHome.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ViewMenuExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewMenuItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/Callout.as
+++ frameworks/projects/mobilecomponents/src/spark/components/Callout.as
@@ -69,7 +69,7 @@
  *  Callout also adds an optional arrow skin part that visually
  *  displays the direction toward the owner.
  *
- *
The following images shows a Callout container labeled 'Settings':

+ *
The following image shows a Callout container labeled 'Settings':

  *
  *

  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 22456
Author:   jasonsj@adobe.com
Date:     2011-09-08T21:02:01.978304Z

Log Message:
-----------
Callout bug fix. updatePopUpPosition() should not force validation pass in commitProperties. Move to updateDisplayList to handle all use cases when the Callout position must change while open.

QE notes:
Doc notes:
Bugs:
SDK-31456 StageText in Callout does not respond to the device orientation change
Reviewer:
Tests run: checkintests, mustella-mobile
Is noteworthy for integration: no

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/Callout.as
+++ frameworks/projects/mobilecomponents/src/spark/components/Callout.as
@@ -556,27 +556,15 @@
                 }
             }

-            // Callout can be respositioned while open
-            if (isOpen && invalidatePositionFlag)
-            {
-                // Callout size may change due to arrowDirection change.
-                // We must revalidate the skin before repositioning the Callout
-                invalidateSize();
-                validateNow();
-
-                // Reposition once the Callout has been resized
-                updatePopUpPosition();
-
-                invalidatePositionFlag = false;
-            }
-
             // Always reset the arrow position
             invalidateDisplayList();
         }
     }

     /**
-     * @private
+     *  @private
+     *  Re-position the pop-up using actualHorizontalPosition and
+     *  actualVerticalPosition.
      */
     override public function updatePopUpPosition():void
     {
@@ -657,6 +645,14 @@
     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
         super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        // Callout can be respositioned while open via SystemManager resize or
+        // explicit changes to horizontalPostion and verticalPosition.
+        if (isOpen && invalidatePositionFlag)
+        {
+            updatePopUpPosition();
+            invalidatePositionFlag = false;
+        }

         // Position the arrow
         updateSkinDisplayList();
@@ -899,8 +895,11 @@
      *
      *  Nudging to fit the screen accounts for margin so that
      *  the Callout is not positioned in the margin.
-     *
-     *  @see spark.components.PopUpAnchor#calculatePopUpPosition
+     *
+     *  arrowDirection will change if required for the callout
+     *  to fit.
+     *
+     *  @see #margin
      */
     mx_internal function calculatePopUpPosition():Point
     {


Fixed override

Fixed override

--- frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Vector3D.as
+++ frameworks/projects/Core/src/main/flex/org/apache/flex/geom/Vector3D.as
@@ -30,7 +30,7 @@
 		{
 			super(x,y,z,w);
 		}
-		override public function clone():org.apache.flex.geom.Vector3D
+		override public function clone():flash.geom.Vector3D
 		{
 			return new org.apache.flex.geom.Vector3D(this.x,this.y,this.z,this.w);
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as
+++ frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as
@@ -0,0 +1,250 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core.windowClasses
+{
+
+import flash.display.DisplayObject;
+import flash.events.Event;
+import mx.core.WindowedApplication;
+import mx.core.IFlexDisplayObject;
+import mx.core.IWindow;
+import mx.core.mx_internal;
+import mx.core.UIComponent;
+import mx.core.UITextField;
+import mx.styles.CSSStyleDeclaration;
+import mx.styles.ISimpleStyleClient;
+import mx.styles.IStyleClient;
+import mx.styles.StyleManager;
+
+use namespace mx_internal;
+
+/**
+ *  The default status bar for a WindowedApplication or a Window.
+ */
+public class StatusBar extends UIComponent
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function StatusBar():void
+	{
+		super();
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+     *  @private
+     *  A reference to the status bar's skin.
+     */
+    mx_internal var statusBarBackground:IFlexDisplayObject;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+	//----------------------------------
+    //  status
+    //----------------------------------
+
+    /**
+     *  @private
+	 *  Storage for the status property.
+     */
+    private var _status:String = "";
+
+    /**
+     *  @private
+     */
+    private var statusChanged:Boolean = false;
+
+    /**
+     *  The string that appears in the status bar, if it is visible.
+     *
+     *  @default ""
+     */
+    public function get status():String
+    {
+        return _status;
+    }
+
+    /**
+     *  @private
+     */
+    public function set status(value:String):void
+    {
+        _status = value;
+        statusChanged = true;
+
+        invalidateProperties();
+        invalidateSize();
+    }
+
+	//----------------------------------
+    //  statusTextField
+    //----------------------------------
+
+	/**
+     *  A reference to the UITextField that displays the status bar's text.
+     */
+    public var statusTextField:UITextField;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+	override protected function createChildren():void
+	{
+        super.createChildren();
+
+        var statusBarBackgroundClass:Class =
+        	getStyle("statusBarBackgroundSkin");
+        if (statusBarBackgroundClass)
+        {
+            statusBarBackground = new statusBarBackgroundClass();
+            var backgroundUIComponent:IStyleClient =
+                statusBarBackground as IStyleClient;
+            if (backgroundUIComponent)
+            {
+                backgroundUIComponent.setStyle("backgroundImage",
+                                               undefined);
+            }
+            var backgroundStyleable:ISimpleStyleClient =
+                statusBarBackground as ISimpleStyleClient;
+            if (backgroundStyleable)
+                backgroundStyleable.styleName = this;
+            addChild(DisplayObject(statusBarBackground));
+        }
+
+	    if (!statusTextField)
+	    {
+	        statusTextField = UITextField(createInFontContext(UITextField));
+	        statusTextField.text = _status;
+	        statusTextField.styleName = getStyle("statusTextStyleName");
+	        statusTextField.enabled = true;
+	        addChild(statusTextField);
+    	}
+	}
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+		super.commitProperties();
+
+    	if (statusChanged)
+        {
+            statusTextField.text = _status;
+            statusChanged = false;
+        }
+    }
+
+    /**
+     *  @private
+     */
+	override protected function measure():void
+	{
+		super.measure();
+
+		statusTextField.validateNow();
+		if (statusTextField.textHeight == 0)
+		{
+			statusTextField.text = " ";
+			statusTextField.validateNow();
+		}
+
+		measuredHeight = statusTextField.textHeight +
+						 UITextField.TEXT_HEIGHT_PADDING;
+		measuredWidth = statusTextField.textWidth;
+	}
+
+    /**
+     *  @private
+     */
+	override protected function updateDisplayList(unscaledWidth:Number,
+												  unscaledHeight:Number):void
+	{
+		super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+		statusBarBackground.setActualSize(unscaledWidth, unscaledHeight);
+		statusTextField.text = _status;
+		statusTextField.width = unscaledWidth;
+		statusTextField.truncateToFit("...");
+	}
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        super.styleChanged(styleProp);
+
+		invalidateDisplayList();
+
+        var allStyles:Boolean = !styleProp || styleProp == "styleName";
+
+		if (allStyles || styleProp == "statusBarBackgroundSkin")
+		{
+			var statusBarBackgroundClass:Class =
+	        	getStyle("statusBarBackgroundSkin");
+	        if (statusBarBackgroundClass)
+	        {
+	            if (statusBarBackground)
+	            {
+	            	  removeChild(DisplayObject(statusBarBackground));
+	                  statusBarBackground = null;
+	            }
+	            statusBarBackground = new statusBarBackgroundClass();
+	            var backgroundUIComponent:IStyleClient =
+	                statusBarBackground as IStyleClient;
+	            if (backgroundUIComponent)
+	            {
+	                backgroundUIComponent.setStyle("backgroundImage",
+	                                               undefined);
+	            }
+	            var backgroundStyleable:ISimpleStyleClient =
+	                statusBarBackground as ISimpleStyleClient;
+	            if (backgroundStyleable)
+	                backgroundStyleable.styleName = this;
+	            addChildAt(DisplayObject(statusBarBackground), 0);
+	        }
+	 	}
+
+	 	if (allStyles || styleProp == "statusTextStyleName")
+	 	{
+	 		if (statusTextField)
+				statusTextField.styleName = getStyle("statusTextStyleName");
+	 	}
+    }
+}
+
+}


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

--- frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


new "add" function to add breakpoints

new "add" function to add breakpoints

--- vivified/core/vivi_initialize.as
+++ vivified/core/vivi_initialize.as
@@ -44,3 +44,20 @@
   Commands.run ();
 };
 Commands.quit = Native.quit;
+/* can't use "break" as a function name, it's a keyword in JS */
+Commands.add = function (name) {
+  if (name == undefined) {
+    Commands.error ("add command requires a function name");
+    return undefined;
+  }
+  var ret = new Breakpoint ();
+  ret.onStartFrame = function (frame) {
+    if (frame.name != name)
+      return false;
+
+    Commands.print ("Breakpoint: function " + name + " called");
+    Commands.print ("  " + frame);
+    return true;
+  };
+};
+


fix rendering of neutral units

fix rendering of neutral units

--- src/battlecode/client/viewer/render/ImageAssets.as
+++ src/battlecode/client/viewer/render/ImageAssets.as
@@ -43,26 +43,38 @@
         public static const SCOUT_A:Class;
         [Embed('/img/units/scout1.png')]
         public static const SCOUT_B:Class;
+        [Embed('/img/units/scout2.png')]
+        public static const SCOUT_NEUTRAL:Class;
         [Embed('/img/units/soldier0.png')]
         public static const SOLDIER_A:Class;
         [Embed('/img/units/soldier1.png')]
         public static const SOLDIER_B:Class;
+        [Embed('/img/units/soldier2.png')]
+        public static const SOLDIER_NEUTRAL:Class;
         [Embed('/img/units/guard0.png')]
         public static const GUARD_A:Class;
         [Embed('/img/units/guard1.png')]
         public static const GUARD_B:Class;
+        [Embed('/img/units/guard2.png')]
+        public static const GUARD_NEUTRAL:Class;
         [Embed('/img/units/viper0.png')]
         public static const VIPER_A:Class;
         [Embed('/img/units/viper1.png')]
         public static const VIPER_B:Class;
+        [Embed('/img/units/viper2.png')]
+        public static const VIPER_NEUTRAL:Class;
         [Embed('/img/units/turret0.png')]
         public static const TURRET_A:Class;
         [Embed('/img/units/turret1.png')]
         public static const TURRET_B:Class;
+        [Embed('/img/units/turret2.png')]
+        public static const TURRET_NEUTRAL:Class;
         [Embed('/img/units/ttm0.png')]
         public static const TTM_A:Class;
         [Embed('/img/units/ttm1.png')]
         public static const TTM_B:Class;
+        [Embed('/img/units/ttm2.png')]
+        public static const TTM_NEUTRAL:Class;

         // zombie avatars
         [Embed('/img/units/zombieden3.png')]


Fixed IDemux internal display

Fixed IDemux internal display

--- src/Modules/InstructionDemux.as
+++ src/Modules/InstructionDemux.as
@@ -44,7 +44,7 @@
 			var kludge:InstructionDemux = this;
 			var controlNode:InternalNode = new InternalNode(this, new Point(layout.ports[inputs.length].offset.x, layout.ports[inputs.length].offset.y + 2),
 															[layout.ports[layout.ports.length - 2]], controlLines,
-															function getValue():BooleanValue { return getIndex() != C.INT_NULL ? BooleanValue.TRUE : BooleanValue.FALSE; });
+															controls[0].getValue);
 			nodes.push(controlNode);
 			return new InternalLayout(nodes);
 		}


Fixed DWire aggressive bbox caching for new wires

--- src/Displays/DWire.as
+++ src/Displays/DWire.as
@@ -95,8 +95,6 @@
 		}

 		override public function draw():void {
-			if (!wire.exists)
-				return;
 			if (outsideScreen())
 				return;

@@ -327,7 +325,7 @@

 		private var _bounds:Rectangle
 		protected function get boundingBox():Rectangle {
-			if (_bounds)
+			if (_bounds && wire.deployed)
 				return _bounds;

 			var topLeft:Point = new Point(int.MAX_VALUE, int.MAX_VALUE);


Transferred from the Adobe Open Source Subversion Repository

Revision: 22982
Author:   aaltman@adobe.com
Date:     2011-10-12T21:26:05.120275Z

Log Message:
-----------
Don't prevent default keyboard behavior unless that default behavior is to move focus to a different native text field.
When a popup is shown, replace StageTexts in the layers below with bitmaps unless those StageTexts are part of the popup's owner.

QE notes: None
Doc notes: None
Bugs: SDK-31828 SDK-31812
Reviewer: cframpto
Tests run: checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -14,6 +14,7 @@
 import flash.display.Bitmap;
 import flash.display.BitmapData;
 import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
 import flash.display.PixelSnapping;
 import flash.events.Event;
 import flash.events.EventDispatcher;
@@ -363,7 +364,7 @@
      */
     mx_internal static var androidHeightMultiplier:Number = 1.15;
     private static const isAndroid:Boolean = Capabilities.version.indexOf("AND") == 0;
-    private static const isDesktop:Boolean = (Capabilities.os.indexOf("Windows") != -1 || Capabilities.os.indexOf("Mac OS") != -1);
+    private static const isDesktop:Boolean = Capabilities.os.indexOf("Windows") != -1 || Capabilities.os.indexOf("Mac OS") != -1;

     //--------------------------------------------------------------------------
     //
@@ -1988,6 +1989,29 @@
     }

     /**
+     *  Determine whether the given form is owned by an ancestor of this
+     *  StyleableStageText. This is used by bitmap swapping for popups. If a
+     *  text component or ancestor of one owns the popup, the text component
+     *  should not be swapped for a bitmap to support workflows where performing
+     *  an action within the text component displays the callout or determines
+     *  the callout's content.
+     */
+    private function isFormOwnedByAncestor(form:Object):Boolean
+    {
+        var result:Boolean = false;
+
+        if (form is UIComponent)
+        {
+            var formComponent:UIComponent = form as UIComponent;
+            var formOwner:DisplayObjectContainer = formComponent.owner;
+
+            result = formOwner != null && formOwner.contains(this);
+        }
+
+        return result;
+    }
+
+    /**
      *  Replace the existing proxy image representing this StageText with a new
      *  one. Call this whenever the StageText's properties, contents, or
      *  geometry changes. This does nothing if there is no proxy image, so it is
@@ -2067,10 +2091,15 @@

         if (form && form.hasOwnProperty("focusManager"))
         {
-            if (form.focusManager != focusManager && hasOverlappingForm())
+            if (form.focusManager != focusManager
+                && (!isFormOwnedByAncestor(form) || hasOverlappingForm()))
+            {
                 createProxyImage();
+            }
             else
+            {
                 disposeProxyImageLater();
+            }
         }
     }

@@ -2564,7 +2593,11 @@
             event.charCode, event.keyCode, event.keyLocation, event.ctrlKey,
             event.altKey, event.shiftKey, event.controlKey, event.commandKey));

-        event.preventDefault();
+        if ((event.keyCode == Keyboard.ENTER || event.keyCode == Keyboard.NEXT)
+            && !_multiline && !isDesktop)
+        {
+            event.preventDefault();
+        }
     }

     private function stageText_keyUpHandler(event:KeyboardEvent):void
@@ -2576,7 +2609,11 @@
             event.charCode, event.keyCode, event.keyLocation, event.ctrlKey,
             event.altKey, event.shiftKey, event.controlKey, event.commandKey));

-        event.preventDefault();
+        if ((event.keyCode == Keyboard.ENTER || event.keyCode == Keyboard.NEXT)
+            && !_multiline && !isDesktop)
+        {
+            event.preventDefault();
+        }
     }

     private function stageText_softKeyboardHandler(event:SoftKeyboardEvent):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 20374
Author:   smgilson@adobe.com
Date:     2011-02-18T14:57:58.468559Z

Log Message:
-----------
ASdoc leanup - fix broken links, update for event name changes, remove FlashPlayer version tags.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/managers/PersistenceManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/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/ViewReturnObject.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/managers/IPersistenceManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
+++ frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
@@ -17,8 +17,7 @@
  *  The default value for the Mobile theme is 0xFFFFFF.
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="color", type="uint", format="Color", inherit="yes")]
@@ -36,8 +35,7 @@
  *  The default font for the Mobile theme is "_sans".
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="fontFamily", type="String", inherit="yes")]
@@ -53,8 +51,7 @@
  *  The default value for the Mobile theme is 24.
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="fontSize", type="Number", format="Length", inherit="yes")]
@@ -66,8 +63,7 @@
  *  @default "normal"
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="fontStyle", type="String", enumeration="normal,italic", inherit="yes")]
@@ -79,8 +75,7 @@
  *  The default value for all other controls is normal.
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="fontWeight", type="String", enumeration="normal,bold", inherit="yes")]
@@ -91,8 +86,7 @@
  *
The default value is 0.

  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="leading", type="Number", format="Length", inherit="yes")]
@@ -105,8 +99,7 @@
  *  @default 0
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="letterSpacing", type="Number", inherit="yes")]
@@ -128,8 +121,7 @@
  *  "bottom", the text and any icon are centered.

  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="textAlign", type="String", enumeration="left,center,right", inherit="yes")]
@@ -141,8 +133,7 @@
  *  @default "none"
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="textDecoration", type="String", enumeration="none,underline", inherit="yes")]
@@ -154,8 +145,7 @@
  *  @default 0
  *
  *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.0
+ *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
 [Style(name="textIndent", type="Number", format="Length", inherit="yes")]


#SUP-1430 #time 5h #comment support embedded captions with updated akamai lib

--- plugins/akamaiHDPlugin/src/com/kaltura/kdpfl/plugin/akamaiHDMediator.as
+++ plugins/akamaiHDPlugin/src/com/kaltura/kdpfl/plugin/akamaiHDMediator.as
@@ -49,7 +49,8 @@
 			return [
 				NotificationType.MEDIA_READY,
 				NotificationType.PLAYER_PLAYED,
-				NotificationType.MEDIA_ELEMENT_READY
+				NotificationType.MEDIA_ELEMENT_READY,
+				NotificationType.MEDIA_LOADED
 			];
 		}

@@ -124,15 +125,18 @@
 						_mediaProxy.vo.media.addEventListener(MediaElementEvent.TRAIT_ADD, onMediaTraitAdd);

 					}
+					break;
+				case NotificationType.MEDIA_LOADED:
 					//get embedded text, if exists
 					var media : MediaElement = _mediaProxy.vo.media;
 					while (media is ProxyElement)
 					{
 						media = (media as ProxyElement).proxiedElement;
 					}
-					if ((media is AkamaiVideoElement) && (media as AkamaiVideoElement).client) {
-						(media as AkamaiVideoElement).client.addHandler( "onTextData", onEmbeddedCaptions );
+					if (media.hasOwnProperty("client") && media["client"]) {
+						media["client"].addHandler( "onTextData", onEmbeddedCaptions );
 					}
+					break;
 			}
 		}


change default duration

change default duration

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/effects/Effect.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/effects/Effect.as
@@ -152,7 +152,7 @@
     //  duration
     //----------------------------------

-    private var _duration:Number = 3000;
+    private var _duration:Number = 500;
     /**
      *  Duration of the animation, in milliseconds.
      *


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/collections/XMLListCollection.as
+++ frameworks/projects/framework/src/mx/collections/XMLListCollection.as
@@ -0,0 +1,385 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+
+[DefaultProperty("source")]
+
+/**
+ *  The XMLListCollection class provides collection functionality to
+ *  an XMLList object and makes available some of the methods of
+ *  the native XMLList class.
+ *
+ *  @mxml
+ *
+ *
The <mx:XMLListCollection> tag inherits all
+ *  the attributes of its superclass, and adds the following attributes:

+ *
+ *

+ *  <mx:XMLListCollection
+ *  Properties
+ *  source="null"
+ *  />
+ *

+ *
+ *  @see XMLList
+ *  @see XML
+ */
+public class XMLListCollection extends ListCollectionView
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    // Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *
Creates a new XMLListCollection object
+     *  using the specified XMLList object.

+     *
+     *  @param source The XMLList object containing the data to be represented
+     *                by the XMLListCollection object.
+     */
+    public function XMLListCollection(source:XMLList = null)
+    {
+        super();
+
+        this.source = source;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  source
+    //----------------------------------
+
+    [Inspectable(category="General")]
+    [Bindable("listChanged")] //superclass will fire this
+
+    /**
+     *  The underlying XMLList for this collection.
+     *  The XMLListCollection object does not represent any changes that
+     *  you make directly to the source XMLList object.
+     *  Always use the XMLListCollection methods to modify the collection.
+     */
+    public function get source():XMLList
+    {
+        return list ? XMLListAdapter(list).source : null;
+    }
+
+    /**
+     *  @private
+     */
+    public function set source(s:XMLList):void
+    {
+		if (list)
+			XMLListAdapter(list).source = null;
+
+        list = new XMLListAdapter(s);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Calls the attribute() method of each XML object in the
+     *  XMLList and returns an XMLList of the results, which
+     *  match the given attributeName.
+     *
+     *  @param attributeName The attribute that you want to match in the XML
+     *                       objects of the XMLList.
+     *
+     *  @return The XMLList of matching XML objects.
+     *
+     *  @see XML#attribute()
+     */
+    public function attribute(attributeName:Object):XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.attribute(attributeName);
+            }
+        );
+    }
+
+    /**
+     *  Calls the attributes() method of each XML object in the
+     *  XMLList object and returns an XMList of attributes for each XML object.
+     *
+     *  @return The XMLList containing the resulting XML objects, listing
+     *          the attributes.
+     *
+     *  @see XML#attributes()
+     */
+    public function attributes():XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.attributes();
+            }
+        );
+    }
+
+    /**
+     *  Calls the child() method of each XML object in the XMLList
+     *  and returns an XMLList containing the children of with the specified property
+     *  name, in order.
+     *
+     *  @param propertyName The propery to match.
+     *
+     *  @return An XMLList of matching children of the XML objects in the
+     *          original XMLList.
+     *
+     *  @see XML#child()
+     */
+    public function child(propertyName:Object):XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.child(propertyName);
+            }
+        );
+    }
+
+    /**
+     *  Calls the children() method of each XML object in the XMLList and
+     *  returns an XMLList containing the results.
+     *
+     *  @return An XMLList of children of the XML objects in the original XMLList.
+     *
+     *  @see XML#children()
+     */
+    public function children():XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.children();
+            }
+        );
+    }
+
+    /**
+     *  Returns a deep copy of the XMLList object.
+     *
+     *  @return The copy of the XMLList object.
+     */
+    public function copy():XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                // sometimes the obj can be of type XML
+                return XMLList(obj.copy());
+            }
+        );
+    }
+
+    /**
+     *  Calls the descendants() method of each XML object in the
+     *  XMLList and returns an XMLList containing the results.
+     *  The name parameter is passed to the XML object's
+     *  descendants() method.
+     *  If you do not specify a parameter, the string "~~" is passed to the
+     *  descendants() method.
+     *
+     *  @param name The name of the elements to match.
+     *
+     *  @return XMLList of the matching descendents (children, grandchildren,
+     *  etc.) of the XML objects in the original XMLList.
+     *
+     *  @see XML#descendants()
+     */
+    public function descendants(name:Object="*"):XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.descendants(name);
+            }
+        );
+    }
+
+    /**
+     *  Calls the elements() method of each XML object in the XMLList.
+     *  The name parameter is passed to the XML object's
+     *  elements() method.
+     *  If you do not specify a parameter, the string "~~" is passed to the
+     *  elements() method.
+     *
+     *  @param name The name of the elements to match.
+     *
+     *  @return XMLList of the matching child elements of the XML objects in the
+     *          original XMLList.
+     *
+     *  @see XML#elements()
+     */
+    public function elements(name:String="*"):XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.elements(name);
+            }
+        );
+    }
+
+    /**
+     * Calls the text() method of each XML object in
+     *  the XMLList and returns an XMLList containing the results.
+     *
+     *  @see XML#text()
+     */
+    public function text():XMLList
+    {
+        return execXMLListFunction(
+            function(obj:Object):XMLList
+            {
+                return obj.text();
+            }
+        );
+    }
+
+    /**
+     *  Returns a string representation of the XMLList by calling the
+     *  toString() method for each XML object in the XMLList.
+     *  If the prettyPrinting property of the XML
+     *  class is set to true, then the results for each XML object
+     *  in the XMLList are separated by the return character.
+     *  Otherwise, if prettyPrinting is set to false,
+     *  then the results are simply concatenated, without separating return characters.
+     *
+     *
The toString() method strips out the following
+     *  in the returned string for an XML object that has simple content:
+     *  the start tag, attributes, namespace declarations, and the end tag.
+     *  Use the toXMLString() method if you want to preserve these
+     *  in the returned string for XML objects with simple content.

+     *
+     *  @see XML#prettyPrinting
+     */
+    override public function toString():String
+    {
+        if (!localIndex)
+        {
+            return source.toString();
+        }
+        else
+        {
+            var str:String = "";
+
+            for (var i:int = 0; i < localIndex.length; i++)
+            {
+                if (i > 0)
+                    str += "\n"; // this matches how XML works
+
+                str += localIndex[i].toString();
+            }
+
+            return str;
+        }
+    }
+
+    /**
+     *  Returns a string representation of the XMLList by calling the
+     *  toXMLString() method for each XML object in the XMLList.
+     *  If the prettyPrinting property of the XML
+     *  class is set to true, then the results for each XML object
+     *  in the XMLList are separated by the return character.
+     *  Otherwise, if prettyPrinting is set to false,
+     *  then the results are concatenated, without separating return
+     *  characters.
+     *
+     *
The toXMLString() method preserves the
+     *  following in the returned string for an XML object that has simple content:
+     *  the start tag, attributes, namespace declarations, and the end tag.
+     *  Use the toString() method if you want to strip these from
+     *  the returned string for XML objects with simple content.

+     *
+     *  @return The string representation of the XMLList.
+     *
+     *  @see XML#prettyPrinting
+     */
+    public function toXMLString():String
+    {
+        if (!localIndex)
+        {
+            return source.toXMLString();
+        }
+        else
+        {
+            var str:String = "";
+
+            for (var i:int = 0; i < localIndex.length; i++)
+            {
+                if (i > 0)
+                    str += "\n"; // this matches how XML works
+
+                str += localIndex[i].toXMLString();
+            }
+
+            return str;
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Internal methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * XMLList doesn't allow you to do myList[funcName](arg) because
+     * it will attempt to lookup a node named funcName instead (despite
+     * the fact that it should be a callProperty()).  So instead
+     * the above methods will build little functions that call the
+     * right thing, but the looping logic has been factored into here.
+     */
+    private function execXMLListFunction(func:Function):XMLList
+    {
+        if (!localIndex)
+        {
+            return func(source);
+        }
+        else
+        {
+            //create an XML object that will be a host for all the results
+            //go through each child in the order specified by the index
+            //and append the XMLList that results from a call on it to the
+            //return object.
+            var length:int = localIndex.length;
+            var ret:XMLList = <></>;
+            for (var i:int = 0; i < length; i++)
+            {
+                var xml:Object = localIndex[i];
+                ret += func(xml);
+            }
+            return ret;
+        }
+    }
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10633
Author:   dloverin@adobe.com
Date:     2009-09-28T13:24:30.559033Z

Log Message:
-----------
Use styleManager instance instead of StyleManager singleton (framework and compiler generated code)

Modified compiler generated style code for the FlexInit class. The style related changes are only available with the -keep option. AST generation is coming later.

Only the framework project is changed here. The other projects are will be changed soon.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex and Paul
Tests run: checkintests, all Mustella tests(no new failures)
Is noteworthy for integration: no.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Form.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/textClasses/TextRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.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/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>

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

--- frameworks/projects/mx/src/mx/skins/halo/DateChooserMonthArrowSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/DateChooserMonthArrowSkin.as
@@ -139,7 +139,7 @@
 		var borderColor:uint = getStyle("borderColor");
 		var cornerRadius:Number = getStyle("cornerRadius");
 		var fillColors:Array = getStyle("fillColors");
-		StyleManager.getColorNames(fillColors);
+        styleManager.getColorNames(fillColors);
 		var highlightAlphas:Array = getStyle("highlightAlphas");
 		var themeColor:uint = getStyle("themeColor");


Fixed a null object bug that occured when handling MUC configuration form packets.

--- src/org/jivesoftware/xiff/data/muc/MUCUserExtension.as
+++ src/org/jivesoftware/xiff/data/muc/MUCUserExtension.as
@@ -22,11 +22,9 @@
 	 *
 	 */

+	import flash.xml.XMLNode;
+
 	import org.jivesoftware.xiff.data.IExtension;
-	import org.jivesoftware.xiff.data.ISerializable;
-
-	import org.jivesoftware.xiff.data.muc.MUCBaseExtension;
-	import flash.xml.XMLNode;

 	/**
 	 * Implements the base MUC user protocol schema from <a href="http://www.xmpp.org/extensions/xep-0045.html">XEP-0045<a> for multi-user chat.
@@ -105,6 +103,8 @@
 		 */
 		public function get type():String
 		{
+			if (myActionNode == null)
+				return null;
 			return myActionNode.nodeName == null ? OTHER_TYPE : myActionNode.nodeName;
 		}


Delete modals on game switch

Delete modals on game switch

--- flexEditor/src/org/arisgames/editor/view/CreateOrOpenGameSelectorView.as
+++ flexEditor/src/org/arisgames/editor/view/CreateOrOpenGameSelectorView.as
@@ -135,6 +135,9 @@
 			GameModel.getInstance().loadLocations();

 	        StateModel.getInstance().currentState = StateModel.VIEWGAMEEDITOR;
+
+			var de:DynamicEvent = new DynamicEvent(AppConstants.DYNAMICEVENT_CLOSEOBJECTPALETTEITEMEDITOR);
+			AppDynamicEventManager.getInstance().dispatchEvent(de);
 		}
     }

@@ -153,6 +156,9 @@
 			GameModel.getInstance().loadLocations();

 			StateModel.getInstance().currentState = StateModel.VIEWGAMEEDITOR;
+
+			var de:DynamicEvent = new DynamicEvent(AppConstants.DYNAMICEVENT_CLOSEOBJECTPALETTEITEMEDITOR);
+			AppDynamicEventManager.getInstance().dispatchEvent(de);
 		}
 	}