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

--- frameworks/projects/framework/src/mx/managers/PopUpManager.as
+++ frameworks/projects/framework/src/mx/managers/PopUpManager.as
@@ -0,0 +1,213 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.managers
+{
+
+import flash.display.DisplayObject;
+import mx.core.IFlexDisplayObject;
+import mx.core.Singleton;
+
+/**
+ *  The PopUpManager singleton class creates new top-level windows and
+ *  places or removes those windows from the layer on top of all other
+ *  visible windows.  See the SystemManager for a description of the layering.
+ *  It is used for popup dialogs, menus, and dropdowns in the ComboBox control
+ *  and in similar components.
+ *
+ *
The PopUpManager also provides modality, so that windows below the popup
+ *  cannot receive mouse events, and also provides an event if the user clicks
+ *  the mouse outside the window so the developer can choose to dismiss
+ *  the window or warn the user.

+ *
+ *  @see PopUpManagerChildList
+ */
+public class PopUpManager
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Linker dependency on implementation class.
+     */
+    private static var implClassDependency:PopUpManagerImpl;
+
+	/**
+	 *  @private
+	 *  Storage for the impl getter.
+	 *  This gets initialized on first access,
+	 *  not at static initialization time, in order to ensure
+	 *  that the Singleton registry has already been initialized.
+	 */
+	private static var _impl:IPopUpManager;
+
+	/**
+	 *  @private
+	 *  The singleton instance of PopUpManagerImpl which was
+	 *  registered as implementing the IPopUpManager interface.
+	 */
+	private static function get impl():IPopUpManager
+	{
+	    if (!_impl)
+		{
+			_impl = IPopUpManager(
+				Singleton.getInstance("mx.managers::IPopUpManager"));
+		}
+
+	    return _impl;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Creates a top-level window and places it above other windows in the
+     *  z-order.
+     *  It is good practice to call the removePopUp() method
+     *  to remove popups created by using the createPopUp() method.
+     *
+     *  If the class implements IFocusManagerContainer, the window will have its
+     *  own FocusManager so that, if the user uses the TAB key to navigate between
+     *  controls, only the controls in the window will be accessed.
+     *
+     *
Example

+     *
+     *
pop = mx.managers.PopUpManager.createPopUp(pnl, TitleWindow, false);

+     *
+     *
Creates a popup window based on the TitleWindow class, using pnl as the MovieClip
+     *  for determining where to place the popup. It is defined to be a non-modal window
+     *  meaning that other windows can receive mouse events

+     *
+     *  @param parent DisplayObject to be used for determining which SystemManager's layers
+     *  to use and optionally the reference point for centering the new
+     *  top level window.  It may not be the actual parent of the popup as all popups
+     *  are parented by the SystemManager.
+     *
+     *  @param className Class of object that is to be created for the popup.
+     *  The class must implement IFlexDisplayObject.
+     *
+     *  @param modal If true, the window is modal which means that
+     *  the user will not be able to interact with other popups until the window
+     *  is removed.
+     *
+     *  @param childList The child list in which to add the popup.
+     *  One of PopUpManagerChildList.APPLICATION,
+     *  PopUpManagerChildList.POPUP,
+     *  or PopUpManagerChildList.PARENT (default).
+     *
+     *  @return Reference to new top-level window.
+     *
+     *  @see PopUpManagerChildList
+     */
+    public static function createPopUp(parent:DisplayObject,
+                                       className:Class,
+                                       modal:Boolean = false,
+                                       childList:String = null):IFlexDisplayObject
+    {
+		return impl.createPopUp(parent, className, modal, childList);
+    }
+
+    /**
+     *  Pops up a top-level window.
+     *  It is good practice to call removePopUp() to remove popups
+     *  created by using the addPopUp() method.
+     *  If the class implements IFocusManagerContainer, the window will have its
+     *  own FocusManager so that, if the user uses the TAB key to navigate between
+     *  controls, only the controls in the window will be accessed.
+     *
+     *
Example

+     *
+     *
var tw = new TitleWindow();
+     *    tw.title = "My Title";
+     *    mx.managers.PopUpManager.addPopUp(tw, pnl, false);

+     *
+     *
Creates a popup window using the tw instance of the
+     *  TitleWindow class and pnl as the Sprite for determining
+     *  where to place the popup.
+     *  It is defined to be a non-modal window.

+     *
+     *  @param window The IFlexDisplayObject to be popped up.
+     *
+     *  @param parent DisplayObject to be used for determining which SystemManager's layers
+     *  to use and optionally  the reference point for centering the new
+     *  top level window.  It may not be the actual parent of the popup as all popups
+     *  are parented by the SystemManager.
+     *
+     *  @param modal If true, the window is modal which means that
+     *  the user will not be able to interact with other popups until the window
+     *  is removed.
+     *
+     *  @param childList The child list in which to add the pop-up.
+     *  One of PopUpManagerChildList.APPLICATION,
+     *  PopUpManagerChildList.POPUP,
+     *  or PopUpManagerChildList.PARENT (default).
+     *
+     *  @see PopUpManagerChildList
+     */
+    public static function addPopUp(window:IFlexDisplayObject,
+                    parent:DisplayObject,
+                    modal:Boolean = false,
+                    childList:String = null):void
+    {
+		impl.addPopUp(window, parent, modal, childList);
+    }
+
+    /**
+     *  Centers a popup window over whatever window was used in the call
+     *  to the createPopUp() or addPopUp() method.
+     *
+     *
Note that the position of the popup window may not
+     *  change immediately after this call since Flex may wait to measure and layout the
+     *  popup window before centering it.

+     *
+     *  @param The IFlexDisplayObject representing the popup.
+     */
+    public static function centerPopUp(popUp:IFlexDisplayObject):void
+    {
+        impl.centerPopUp(popUp);
+
+    }
+
+    /**
+     *  Removes a popup window popped up by
+     *  the createPopUp() or addPopUp() method.
+     *
+     *  @param window The IFlexDisplayObject representing the popup window.
+     */
+    public static function removePopUp(popUp:IFlexDisplayObject):void
+    {
+		impl.removePopUp(popUp);
+    }
+
+    /**
+     *  Makes sure a popup window is higher than other objects in its child list
+     *  The SystemManager does this automatically if the popup is a top level window
+     *  and is moused on,
+     *  but otherwise you have to take care of this yourself.
+     *
+     *  @param The IFlexDisplayObject representing the popup.
+     */
+    public static function bringToFront(popUp:IFlexDisplayObject):void
+    {
+		impl.bringToFront(popUp);
+    }
+
+} // class
+} // package


Transferred from the Adobe Open Source Subversion Repository

Revision: 18799
Author:   gruehle@adobe.com
Date:     2010-11-23T15:14:35.654523Z

Log Message:
-----------
Performance optimization when scrolling small amounts in VerticalLayout and HorizontalLayout. If the scroll can be done by simply changing scrollRect, don't call invalidateDisplayList() on the target.

QE notes: Keep an eye out for any visual artifacts when scrolling.
Doc notes: None
Bugs: None
Reviewer: Ryan, Evtim
Tests run: Full mustella pass on cyclone server
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -21,8 +21,8 @@
 import mx.core.IInvalidating;
 import mx.core.ILayoutElement;
 import mx.core.IVisualElement;
+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
-import mx.core.UIComponentGlobals;
 import mx.events.FlexEvent;
 import mx.events.PropertyChangeEvent;
 import mx.managers.ILayoutManagerClient;
@@ -1284,11 +1284,25 @@
         }

         if (useVirtualLayout)
-            g.invalidateDisplayList();
-
+		{
+			var firstElement:ILayoutElement = g.getElementAt(_firstIndexInView);
+			var lastElement:ILayoutElement = g.getElementAt(_lastIndexInView);
+			var scrollRect:Rectangle = getScrollRect();
+
+			/* If the scrollRect is within the bounds of the elements, we do
+			   not need to call invalidateDisplayList(). This considerably speeds
+			   up small scrolls. */
+			if (!firstElement || !lastElement ||
+				scrollRect.top < firstElement.getLayoutBoundsY() ||
+				scrollRect.bottom > (lastElement.getLayoutBoundsY() + lastElement.getLayoutBoundsHeight()))
+			{
+				g.invalidateDisplayList();
+			}
+		}
+
         setIndexInView(i0, i1);
     }
-
+
     /**
      *  @private
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 19961
Author:   rfrishbe@adobe.com
Date:     2011-01-26T21:31:59.360676Z

Log Message:
-----------
Small performance change around invalidation for BitmapImage.

QE notes: -
Doc notes:
Bugs: -
Reviewer: Corey
Tests run: checkintests, mustella cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as

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

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -1284,7 +1284,8 @@
             dispatchEvent(new FlexEvent(FlexEvent.READY));
         }

-        invalidateSize();
+        if (!explicitHeight || !explicitWidth)
+            invalidateSize();
         invalidateDisplayList();
     }

@@ -1585,7 +1586,8 @@
                 imageHeight = loaderInfo.height ;

                 // Update
-                invalidateSize();
+                if (!explicitHeight || !explicitWidth)
+                    invalidateSize();
                 invalidateDisplayList();

                 // Denote that we are hosting an untrusted image and as such some


Transferred from the Adobe Open Source Subversion Repository

Revision: 20642
Author:   smgilson@adobe.com
Date:     2011-03-07T17:53:01.854031Z

Log Message:
-----------
ASDoc updates

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/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/TraceSelectionRanges.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -393,18 +393,18 @@
     [Inspectable(category="General", enumeration="clip,repeat,scale", defaultValue="scale")]

     /**
-     *  The fillMode determines how the bitmap fills in the dimensions. If you set the value
+     *  Determines how the bitmap fills in the dimensions. If you set the value
      *  of this property in a tag, use the string (such as "repeat"). If you set the value of
      *  this property in ActionScript, use the constant (such as BitmapFillMode.CLIP).
      *
-     *  When set to BitmapFillMode.CLIP ("clip"), the bitmap
-     *  ends at the edge of the region.
-     *
-     *  When set to BitmapFillMode.REPEAT ("repeat"), the bitmap
-     *  repeats to fill the region.
+     *
When set to BitmapFillMode.CLIP ("clip"), the bitmap
+     *  ends at the edge of the region.

+     *
+     *
When set to BitmapFillMode.REPEAT ("repeat"), the bitmap
+     *  repeats to fill the region.

      *
-     *  When set to BitmapFillMode.SCALE ("scale"), the bitmap
-     *  stretches to fill the region.
+     *
When set to BitmapFillMode.SCALE ("scale"), the bitmap
+     *  stretches to fill the region.

      *
      *  @default BitmapFillMode.SCALE
      *
@@ -580,7 +580,7 @@
     [Inspectable(category="General", enumeration="stretch,letterbox", defaultValue="stretch")]

     /**
-     *  Determines how the image is scaled when fillMode is set to
+     *  Determines how the image is scaled when fillMode is set to
      *  BitmapFillMode.SCALE.
      *
      *
When set to BitmapScaleMode.STRETCH ("stretch"),
@@ -817,9 +817,9 @@
     /**
      *  A read-only flag denoting whether the currently loaded
      *  content is considered loaded form a source whose security
-     *  policy allows for cross domain image access.  When false,
-     *  advanced bitmap operations such as high quality scaling,
-     *  tiling, etc. are not permitted.  This flag is set once an
+     *  policy allows for cross domain image access.
+     *  When false, advanced bitmap operations such as high quality scaling,
+     *  and tiling are not permitted.  This flag is set once an
      *  image has been fully loaded.
      *
      *  @default true


Unneeded import.

Unneeded import.

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

--- src/as/com/threerings/ezgame/util/EZObjectMarshaller.as
+++ src/as/com/threerings/ezgame/util/EZObjectMarshaller.as
@@ -27,8 +27,6 @@

 import flash.utils.ByteArray;
 import flash.utils.Endian;
-
-import com.threerings.util.StringUtil;

 import com.threerings.io.TypedArray;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20644
Author:   mhorn@adobe.com
Date:     2011-03-07T18:49:20.181589Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarFirstTabSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarLastTabSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as
@@ -46,9 +46,12 @@

     /**
      * The skin class that should be applied to button bar buttons created
-	 * by this factory.
-     * @return
+     * by this factory.
      *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get skinClass():Class
     {
@@ -73,11 +76,11 @@
         }

         if (instance is SkinnableComponent && _skinClass)
-		{
+        {
             SkinnableComponent(instance).setStyle("skinClass", _skinClass);
-			SkinnableComponent(instance).setStyle("focusSkin", null);
-		}
-
+            SkinnableComponent(instance).setStyle("focusSkin", null);
+        }
+
         return instance;
     }
 }


Add [Test] metadata tag.

Add [Test] metadata tag.

--- dolly-framework/src/test/actionscript/dolly/ClonerTest.as
+++ dolly-framework/src/test/actionscript/dolly/ClonerTest.as
@@ -70,6 +70,7 @@
 		assertEquals(clone1.writableField, classMarkedAsCloneable.writableField);
 	}

+	[Test]
 	public function testCloneWithPropertyLevelMetadata():void {
 		const clone2:ClassWithSomeCloneableFields = Cloner.clone(
 				classWithSomeCloneableFields


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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPSchema.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPSchema.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: 9399
Author:   aharui@adobe.com
Date:     2009-08-19T20:39:10.836192Z

Log Message:
-----------
Check in prototypes of ControlBars in Panel and Application, Spark Containers in Halo Navigators, Halo ViewStack in Spark ButtonBar.  APIs should match spec but are subject to change from PARB.  Skins are subject to tweaking after XD review

QE Notes: The following tests will fail and need updating:
gumbo/containers/Panel/Properties/Panel_Properties_position Panel_Properties_rotate
apollo/spark/components/Window/properties/window_properties_titleIcon_tests titleIcon_test8

Doc Notes: None
Bugs: None
Reviewer: Darrell, Glenn, Ryan
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/gumbo/components/Application, gumbo/components/ButtonBar, gumbo/containers/Panel, apollo/gumbo/spark/Window, containers/ViewStack, containers/Accordion,

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NavigatorChild.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IDeferredContentOwner.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/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</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/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/core/ISelectableList.as
+++ frameworks/projects/framework/src/mx/core/ISelectableList.as
@@ -0,0 +1,54 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 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
+{
+import mx.collections.IList;
+
+/**
+ *  Dispatched when the selectedIndex property changes.
+ *  This may be dispatched as well as a CHANGE event, but
+ *  INavigatable listeners need to be sure that a CHANGE
+ *  event really does mean that selectedIndex changed
+ *  and not that some other key property of the INavigatable
+ *  changed.
+ *
+ *  @eventType mx.events.FlexEvent.NAVIGATION_CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Event(name="navigationChange")]
+
+/**
+ *  INavigatable is an interface that indicates that the
+ *  implementor is a Navigator and supports a selectedIndex
+ *  property that should be mirrored by a listening object
+ *  like a ButtonBar
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public interface INavigatable extends IList
+{
+    /**
+     *  The selectedIndex property that selects which
+     *  child the Navigator is viewing.
+     */
+	function set selectedIndex(value:int):void;
+	function get selectedIndex():int;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.messaging.config
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/events/CloseEvent.as
+++ frameworks/projects/framework/src/mx/events/CloseEvent.as
@@ -19,6 +19,11 @@
  *  such as the Alert control.
  *
  *  @see mx.controls.Alert
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class CloseEvent extends Event
 {
@@ -53,6 +58,11 @@
      *

      *
      *  @eventType close
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const CLOSE:String = "close";

@@ -73,6 +83,11 @@
      *
      *  @param detail Value of the detail property; identifies the button in the popped up
      *  control that was clicked.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function CloseEvent(type:String, bubbles:Boolean = false,
                                cancelable:Boolean = false, detail:int = -1)
@@ -102,6 +117,11 @@
      *
Alert.OK

      *
Alert.CANCEL

      *

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var detail:int;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.rpc.xml
 {


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

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

 package spark.components.supportClasses
 {


reduce log2 verbosity when extracting ID3 tags

--- src/org/mangui/HLS/muxing/ID3.as
+++ src/org/mangui/HLS/muxing/ID3.as
@@ -30,8 +30,10 @@
                 data.position = end_pos;
               } else {
                 data.position-=3;
-                Log.debug2("ID3 len:"+ (data.position-pos));
                 len = data.position-pos;
+                if (len) {
+                  Log.debug2("ID3 len:"+ len);
+                }
                 return;
               }
             } while (true);


fixed some other typos;

fixed some other typos;

--- flexEditor/src/org/arisgames/editor/view/QuestsEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/QuestsEditorView.as
@@ -179,7 +179,7 @@
                     trace("&&&&& Checking j = '" + j + "'; Quest Id = '" + q.questId + "'");
                     if (isNaN(q.questId))
                     {
-                        trace("Found previusly added / saved quest.  Add ID to it and exiting method.");
+                        trace("Found previously added / saved quest.  Add ID to it and exiting method.");
                         q.questId = qid;
                         quests.refresh();
                         return;


fix up this layout

fix up this layout

--- frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
+++ frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
@@ -157,14 +157,10 @@
 			var marginBottom:Object;
 			var margin:Object;
 			maxWidth = 0;
-			var horizontalMargins:Array = new Array(n);
-
-            var hh:Number = layoutParent.resizableView.height;
-            var padding:Object = determinePadding();
-            if (isNaN(padding.paddingBottom))
-                padding.paddingBottom = 0;
-            hh -= padding.paddingTop + padding.paddingBottom;
-            var yy:int = padding.paddingTop;
+
+            var w:Number = contentView.width;
+            var hh:Number = contentView.height;
+            var yy:int = 0;
             var flexChildIndex:int;
             var ml:Number;
             var mr:Number;
@@ -173,10 +169,15 @@
             var lastmb:Number;
             var lastmt:Number;
             var halign:Object;
+            var left:Number;
+            var right:Number;

             for (var i:int = 0; i < n; i++)
             {
                 var child:IUIBase = contentView.getElementAt(i) as IUIBase;
+                ilc = child as ILayoutChild;
+                left = ValuesManager.valuesImpl.getValue(child, "left");
+                right = ValuesManager.valuesImpl.getValue(child, "right");
                 if (child == actualChild)
                 {
                     flexChildIndex = i;
@@ -217,6 +218,11 @@
                 mb = Number(marginBottom);
                 if (isNaN(mb))
                     mb = 0;
+                if (ilc)
+                {
+                    if (!isNaN(ilc.percentHeight))
+                        ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
+                }
                 if (marginLeft == "auto")
                     ml = 0;
                 else
@@ -238,14 +244,13 @@
                 {
                     ilc = child as ILayoutChild;
                     if (!isNaN(ilc.percentWidth))
-                        ilc.setWidth(contentView.width * ilc.percentWidth / 100, true);
+                        ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
                 }
                 maxWidth = Math.max(maxWidth, ml + child.width + mr);
+                setPositionAndWidth(child, left, ml, right, mr, w);
                 child.y = yy + mt;
                 yy += child.height + mt + mb;
                 lastmb = mb;
-                halign = ValuesManager.valuesImpl.getValue(child, "horizontal-align");
-                horizontalMargins[i] = { marginLeft: ml, marginRight: mr, halign: halign };
             }

             if (n > 0 && n > flexChildIndex)
@@ -253,6 +258,9 @@
                 for (i = n - 1; i > flexChildIndex; i--)
     			{
     				child = contentView.getElementAt(i) as IUIBase;
+                    ilc = child as ILayoutChild;
+                    left = ValuesManager.valuesImpl.getValue(child, "left");
+                    right = ValuesManager.valuesImpl.getValue(child, "right");
     				margin = ValuesManager.valuesImpl.getValue(child, "margin");
     				if (margin is Array)
     				{
@@ -288,6 +296,11 @@
     				mb = Number(marginBottom);
     				if (isNaN(mb))
     					mb = 0;
+                    if (ilc)
+                    {
+                        if (!isNaN(ilc.percentHeight))
+                            ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
+                    }
     				if (marginLeft == "auto")
     					ml = 0;
     				else
@@ -304,159 +317,135 @@
     					if (isNaN(mr))
     						mr = 0;
     				}
-                    child.x = ml;
                     if (child is ILayoutChild)
                     {
                         ilc = child as ILayoutChild;
                         if (!isNaN(ilc.percentWidth))
-                            ilc.setWidth(contentView.width * ilc.percentWidth / 100, true);
+                            ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
                     }
+                    setPositionAndWidth(child, left, ml, right, mr, w);
                     maxWidth = Math.max(maxWidth, ml + child.width + mr);
                     child.y = hh - child.height - mb;
     				hh -= child.height + mt + mb;
     				lastmt = mt;
-                    halign = ValuesManager.valuesImpl.getValue(child, "horizontal-align");
-                    horizontalMargins[i] = { marginLeft: ml, marginRight: mr, halign: halign };
     			}
-
-                child = contentView.getElementAt(flexChildIndex) as IUIBase;
-                margin = ValuesManager.valuesImpl.getValue(child, "margin");
-                if (margin is Array)
-                {
-                    if (margin.length == 1)
-                        marginLeft = marginTop = marginRight = marginBottom = margin[0];
-                    else if (margin.length <= 3)
-                    {
-                        marginLeft = marginRight = margin[1];
-                        marginTop = marginBottom = margin[0];
-                    }
-                    else if (margin.length == 4)
-                    {
-                        marginLeft = margin[3];
-                        marginBottom = margin[2];
-                        marginRight = margin[1];
-                        marginTop = margin[0];
-                    }
-                }
-                else if (margin == null)
-                {
-                    marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
-                    marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
-                    marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
-                    marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
-                }
-                else
-                {
-                    marginLeft = marginTop = marginBottom = marginRight = margin;
-                }
-                mt = Number(marginTop);
-                if (isNaN(mt))
-                    mt = 0;
-                mb = Number(marginBottom);
-                if (isNaN(mb))
-                    mb = 0;
-                if (marginLeft == "auto")
+            }
+
+            child = contentView.getElementAt(flexChildIndex) as IUIBase;
+            ilc = child as ILayoutChild;
+            left = ValuesManager.valuesImpl.getValue(child, "left");
+            right = ValuesManager.valuesImpl.getValue(child, "right");
+            margin = ValuesManager.valuesImpl.getValue(child, "margin");
+            if (margin is Array)
+            {
+                if (margin.length == 1)
+                    marginLeft = marginTop = marginRight = marginBottom = margin[0];
+                else if (margin.length <= 3)
+                {
+                    marginLeft = marginRight = margin[1];
+                    marginTop = marginBottom = margin[0];
+                }
+                else if (margin.length == 4)
+                {
+                    marginLeft = margin[3];
+                    marginBottom = margin[2];
+                    marginRight = margin[1];
+                    marginTop = margin[0];
+                }
+            }
+            else if (margin == null)
+            {
+                marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
+                marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
+                marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
+                marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
+            }
+            else
+            {
+                marginLeft = marginTop = marginBottom = marginRight = margin;
+            }
+            mt = Number(marginTop);
+            if (isNaN(mt))
+                mt = 0;
+            mb = Number(marginBottom);
+            if (isNaN(mb))
+                mb = 0;
+            if (ilc)
+            {
+                if (!isNaN(ilc.percentHeight))
+                    ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
+            }
+            if (marginLeft == "auto")
+                ml = 0;
+            else
+            {
+                ml = Number(marginLeft);
+                if (isNaN(ml))
                     ml = 0;
-                else
-                {
-                    ml = Number(marginLeft);
-                    if (isNaN(ml))
-                        ml = 0;
-                }
-                if (marginRight == "auto")
+            }
+            if (marginRight == "auto")
+                mr = 0;
+            else
+            {
+                mr = Number(marginRight);
+                if (isNaN(mr))
                     mr = 0;
-                else
-                {
-                    mr = Number(marginRight);
-                    if (isNaN(mr))
-                        mr = 0;
-                }
-                child.x = ml;
-                if (child is ILayoutChild)
-                {
-                    ilc = child as ILayoutChild;
-                    if (!isNaN(ilc.percentWidth))
-                        ilc.setWidth(contentView.width * ilc.percentWidth / 100, true);
-                }
-                maxWidth = Math.max(maxWidth, ml + child.width + mr);
-                child.y = yy + mt;
-                child.height = hh - yy - mb;
-                halign = ValuesManager.valuesImpl.getValue(child, "horizontal-align");
-                horizontalMargins[flexChildIndex] = { marginLeft: ml, marginRight: mr, halign: halign };
-            }
-
-            for (i = 0; i < n; i++)
-			{
-				var obj:Object = horizontalMargins[0]
-				child = contentView.getElementAt(i) as IUIBase;
-				if (obj.halign == "center")
-					child.x = (maxWidth - child.width) / 2;
-				else if (obj.halign == "bottom")
-					child.x = maxWidth - child.width - obj.marginRight;
-				else
-					child.x = obj.marginLeft;
-			}
+            }
+            if (child is ILayoutChild)
+            {
+                ilc = child as ILayoutChild;
+                if (!isNaN(ilc.percentWidth))
+                    ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
+            }
+            setPositionAndWidth(child, left, ml, right, mr, w);
+            maxWidth = Math.max(maxWidth, ml + child.width + mr);
+            child.y = yy + mt;
+            child.height = hh - yy - mb;
+
             return true;
 		}

-        // TODO (aharui): utility class or base class
-        /**
-         *  Determines the top and left padding values, if any, as set by
-         *  padding style values. This includes "padding" for all padding values
-         *  as well as "padding-left" and "padding-top".
-         *
-         *  Returns an object with paddingLeft and paddingTop properties.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        protected function determinePadding():Object
-        {
-            var paddingLeft:Object;
-            var paddingTop:Object;
-            var paddingRight:Object;
-            var padding:Object = ValuesManager.valuesImpl.getValue(host, "padding");
-            if (typeof(padding) == "Array")
-            {
-                if (padding.length == 1)
-                    paddingLeft = paddingTop = paddingRight = padding[0];
-                else if (padding.length <= 3)
-                {
-                    paddingLeft = padding[1];
-                    paddingTop = padding[0];
-                    paddingRight = padding[1];
-                }
-                else if (padding.length == 4)
-                {
-                    paddingLeft = padding[3];
-                    paddingTop = padding[0];
-                    paddingRight = padding[1];
-                }
-            }
-            else if (padding == null)
-            {
-                paddingLeft = ValuesManager.valuesImpl.getValue(host, "padding-left");
-                paddingTop = ValuesManager.valuesImpl.getValue(host, "padding-top");
-                paddingRight = ValuesManager.valuesImpl.getValue(host, "padding-right");
-            }
-            else
-            {
-                paddingLeft = paddingTop = paddingRight = padding;
-            }
-            var pl:Number = Number(paddingLeft);
-            var pt:Number = Number(paddingTop);
-            var pr:Number = Number(paddingRight);
-            if (isNaN(pl))
-                pl = 0;
-            if (isNaN(pr))
-                pr = 0;
-            if (isNaN(pt))
-                pt = 0;
-            return {paddingLeft:pl, paddingTop:pt, paddingRight:pr};
-        }
-
+        private function setPositionAndWidth(child:IUIBase, left:Number, ml:Number,
+                                             right:Number, mr:Number, w:Number):void
+        {
+            var widthSet:Boolean = false;
+
+            var ww:Number = w;
+            var ilc:ILayoutChild = child as ILayoutChild;
+            if (!isNaN(left))
+            {
+                child.x = left + ml;
+                ww -= left + ml;
+            }
+            else
+            {
+                child.x = ml;
+                ww -= ml;
+            }
+            if (!isNaN(right))
+            {
+                if (!isNaN(left))
+                {
+                    if (ilc)
+                        ilc.setWidth(ww - right - mr, true);
+                    else
+                    {
+                        child.width = ww - right - mr;
+                        widthSet = true;
+                    }
+                }
+                else
+                    child.x = w - right - mr - child.width;
+            }
+            if (ilc)
+            {
+                if (!isNaN(ilc.percentWidth))
+                    ilc.setWidth(w * ilc.percentWidth / 100, true);
+            }
+            if (!widthSet)
+                child.dispatchEvent(new Event("sizeChanged"));
+        }
+
         public function setDocument(document:Object, id:String = null):void
         {
             this.document = document;


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

--- frameworks/projects/advancedgrids/src/mx/events/CubeEvent.as
+++ frameworks/projects/advancedgrids/src/mx/events/CubeEvent.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.events
 {


FLEX-33646 Validator.required is now a getter-setter pair. Also, when reading the value of required, Validator itself also uses the getter, so it can be effectively overridden.

--- frameworks/projects/framework/src/mx/validators/Validator.as
+++ frameworks/projects/framework/src/mx/validators/Validator.as
@@ -435,20 +435,30 @@
     //  required
     //----------------------------------

+    private var _required:Boolean = true;
+
     [Inspectable(category="General", defaultValue="true")]
-
-    /**
-     *  If true, specifies that a missing or empty
-     *  value causes a validation error.
-     *
+
+    /**
+     *  If true, specifies that a missing or empty
+     *  value causes a validation error.
+     *
      *  @default true
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public var required:Boolean = true;
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get required():Boolean
+    {
+        return _required;
+    }
+
+    public function set required(value:Boolean):void
+    {
+        _required = value;
+    }

     //----------------------------------
     //  resourceManager
@@ -1135,6 +1145,5 @@
     {
         resourcesChanged();
     }
-}
-
 }
+}


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

--- frameworks/projects/mx/src/mx/skins/halo/ProgressMaskSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/ProgressMaskSkin.as
@@ -0,0 +1,68 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.skins.halo
+{
+
+import flash.display.Graphics;
+import mx.skins.ProgrammaticSkin;
+
+/**
+ *  The skin for the mask of the ProgressBar's determinate and indeterminate bars.
+ *  The mask defines the area in which the progress bar or
+ *  indeterminate progress bar is displayed.
+ *  By default, the mask defines the progress bar to be inset 1 pixel from the track.
+ *
+ *  @see mx.controls.ProgressBar
+ */
+public class ProgressMaskSkin extends ProgrammaticSkin
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function ProgressMaskSkin()
+    {
+        super();
+    }
+
+     //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(w:Number, h:Number):void
+    {
+        super.updateDisplayList(w, h);
+
+        // draw the mask
+        var g:Graphics = graphics;
+        g.clear();
+        g.beginFill(0xFFFF00);
+        g.drawRect(1, 1, w - 2, h - 2);
+        g.endFill();
+    }
+
+
+}
+
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 2971
Author:   clucier@adobe.com
Date:     2008-08-23T20:56:35.601535Z

Log Message:
-----------
Preliminary work to support Pixel Bender shaders as filters in Flex, as well as a Filter Animator, to allow for
Pixel Bender based filters (and others) to be animated during effect sequences. Checking in for safe keeping.
Reviewer: Glenn, Chet
QA: Not Yet, Minispec review/signoff pending.
Docs: NA, Minispec review/signoff pending.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/AnimateFilterInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/AnimateFilter.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateFilter.as
+++ frameworks/projects/spark/src/spark/effects/AnimateFilter.as
@@ -0,0 +1,118 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flex.effects
+{
+
+import flex.effects.easing.IEaser;
+import flex.effects.effectClasses.AnimateFilterInstance;
+
+import mx.core.mx_internal;
+import mx.effects.Effect;
+import mx.effects.IEffectInstance;
+import mx.events.EffectEvent;
+import mx.filters.IBitmapFilter;
+import mx.styles.IStyleClient;
+
+use namespace mx_internal;
+
+/**
+ * This effect applies an IBitmapFilter instance and allows you to animate
+ * an arbitrary set of properties of the filter between values, as specified
+ * by the propertyValuesList.
+ *
+ * Example usage is as follows:
+ *
+ * @example Using the AnimateFilter effect to animate a hypothetical FishEye
+ * shader's radius from 0 to 50.
+ *
+ * <listing version="3.0">
+ * var button:Button = new Button();
+ * var shader:ShaderFilter = new ShaderFilter(new FishEyeLens());
+ * var anim:AnimateFilter = new AnimateFilter(button, shader);
+ * anim.propertyValuesList = [new PropertyValuesHolder("radius", [0,50])];
+ * anim.play();
+ * </listing>
+ */
+public class AnimateFilter extends Animate
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private static var AFFECTED_PROPERTIES:Array = [ "filters" ];
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function AnimateFilter(target:Object = null, filter:IBitmapFilter = null)
+    {
+        super(target);
+        instanceClass = AnimateFilterInstance;
+        this.bitmapFilter = filter;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  bitmapFilter
+    //----------------------------------
+
+    /**
+     *  IBitmapFilter instance to apply and animate.
+     */
+    public var bitmapFilter:IBitmapFilter;
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * By default, the affected properties are the same as those specified
+     * in the propertyValuesList array. If subclasses affect
+     * or track a different set of properties, they should override this
+     * method.
+     */
+    override public function getAffectedProperties():Array /* of String */
+    {
+        return AFFECTED_PROPERTIES;
+    }
+
+
+    /**
+     *  @private
+     */
+    override protected function initInstance(instance:IEffectInstance):void
+    {
+        super.initInstance(instance);
+        var animateInstance:AnimateFilterInstance = instance as AnimateFilterInstance;
+        animateInstance.bitmapFilter = bitmapFilter;
+    }
+}
+}


A little UI love for the # of players slider.

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

--- src/as/com/threerings/parlor/client/DefaultFlexTableConfigurator.as
+++ src/as/com/threerings/parlor/client/DefaultFlexTableConfigurator.as
@@ -21,9 +21,15 @@

 package com.threerings.parlor.client {

+import mx.binding.utils.BindingUtils;
+
+import mx.containers.Grid;
+
 import mx.controls.CheckBox;
 import mx.controls.HSlider;
 import mx.controls.Label;
+
+import com.threerings.flex.GridUtil;

 import com.threerings.parlor.data.TableConfig;
 import com.threerings.parlor.util.ParlorContext;
@@ -60,7 +66,9 @@
             _playerSlider.value = desiredPlayers;
             _playerSlider.minimum = minPlayers;
             _playerSlider.maximum = maxPlayers;
+            _playerSlider.liveDragging = true;
             _playerSlider.snapInterval = 1;
+            _playerSlider.showDataTip = false;

         } else {
             _config.desiredPlayerCount = desiredPlayers;
@@ -84,7 +92,15 @@
             // TODO: proper translation
             var playerLabel :Label = new Label();
             playerLabel.text = "Players:";
-            gconf.addControl(playerLabel, _playerSlider);
+
+            var countLabel :Label = new Label();
+            BindingUtils.bindProperty(countLabel, "text",
+                _playerSlider, "value");
+
+            var grid :Grid = new Grid();
+            GridUtil.addRow(grid, countLabel, _playerSlider);
+
+            gconf.addControl(playerLabel, grid);
         }

         if (_privateCheck != null) {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/states/AddItems.as
+++ frameworks/projects/framework/src/mx/states/AddItems.as
@@ -460,7 +460,7 @@
     {
         try
         {
-            if (propertyName == null && (dest is IVisualElementContainer))
+            if ((propertyName == null || propertyName == "mxmlContent") && (dest is IVisualElementContainer))
                 return IVisualElementContainer(dest).getElementIndex(object as IVisualElement);

             if (propertyName == null && dest is IChildList)


Transferred from the Adobe Open Source Subversion Repository

Revision: 2557
Author:   jimurphy@adobe.com
Date:     2008-07-22T14:15:44.500232Z

Log Message:
-----------
Merge 3.0.x revisions [2544,2546,2551] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.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/containers/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/mx/src/mx/containers/FormHeading.as
+++ frameworks/projects/mx/src/mx/containers/FormHeading.as
@@ -243,7 +243,7 @@
 	private function createLabel():void
 	{
 		// See if we need to create our labelObj.
-		if (_label.length > 0)
+		if (_label && _label.length > 0)
 		{
 			if (!labelObj)
 			{
@@ -264,7 +264,7 @@
 		}

 		// See if we need to destroy our labelObj.
-		if (_label.length == 0 && labelObj)
+		if ((_label==null || _label.length == 0) && labelObj)
 		{
 			removeChild(labelObj);
 			labelObj = null;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/events/ListEventReason.as
+++ frameworks/projects/mx/src/mx/events/ListEventReason.as
@@ -17,6 +17,16 @@
  *  ListEvent object where the value of the type property is
  *  ListEvent.ITEM_EDIT_END.

+ *
+
+ *  @langversion 3.0
+
+ *  @playerversion Flash 9
+
+ *  @playerversion AIR 1.1
+
+ *  @productversion Flex 3
+
  */
 public final class ListEventReason
 {
@@ -33,6 +43,11 @@
      *  want to save the edited data. Even if you call the preventDefault() method
      *  from within your event listener for the itemEditEnd event,
      *  Flex still calls the destroyItemEditor() method to close the editor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const CANCELLED:String = "cancelled";

@@ -42,6 +57,11 @@
      *  Even if you call the preventDefault() method from within your event
      *  listener for the itemEditEnd event,
      *  Flex still calls the destroyItemEditor() method to close the editor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const OTHER:String = "other";

@@ -55,6 +75,11 @@
      *  the current item. If you call the preventDefault() method and
      *  also call the destroyItemEditor() method, you block the move to the new item,
      *  but the item editor closes.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const NEW_ROW:String = "newRow";
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3727
Author:   jszeto@adobe.com
Date:     2008-10-17T22:34:12.409079Z

Log Message:
-----------
Fix masking for GraphicElements

SDK-17337 Masking broken for GraphicElements

We no longer attach the mask to the GraphicElement's parent. Because the mask can not be a child of the maskee, we create a new drawnDisplayObject and attach it and the mask to the displayObject property.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElementHost.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -243,31 +243,6 @@

         assignDisplayObjects();
         needsDisplayObjectAssignment = false;
-
-        /* if (maskElements)
-        {
-            for (var k:Object in maskElements)
-            {
-                var maskElement:DisplayObject = k as DisplayObject;
-                if (maskElement && (!maskElement.parent || maskElement.parent !== this))
-                {
-                    super.addChild(maskElement);
-                    var maskComp:UIComponent = maskElement as UIComponent;
-                    if (maskComp)
-                    {
-                        maskComp.validateNow();
-                        maskComp.setActualSize(maskComp.getExplicitOrMeasuredWidth(),
-                                               maskComp.getExplicitOrMeasuredHeight());
-                    }
-
-                    var maskTarget:IGraphicElement = maskElements[k] as IGraphicElement;
-                    if (maskTarget)
-                    {
-                        maskTarget.applyMask();
-                    }
-                }
-            }
-        } */
     }

     /**
@@ -280,7 +255,7 @@
             contentChanged = false;
             initializeChildrenArray();

-            maskChanged = true; //TODO (rfrishbe): need this maskChanged?
+            maskChanged = true;
         }

     	// Need to initializeChildrenArray before calling super.commitProperties
@@ -1041,45 +1016,6 @@
         invalidateProperties();
     }

-    /**
-     *  Dictionary to keep track of mask elements.  Because mask elements can be applied
-     *  to GraphicElements, which may not be DisplayObjects, the Group needs to know this
-     *  to map GraphicElements to DisplayObjects later on since masking takes place
-     *  at the Flash Player level.
-     */
-    protected var maskElements:Dictionary;
-
-    /**
-     *  @private
-     */
-    override public function addMaskElement(mask:DisplayObject, target:IGraphicElement):void
-    {
-        if (!maskElements)
-            maskElements = new Dictionary();
-
-        maskElements[mask] = target;
-        contentChanged = true;
-        // TODO!! Remove this once GraphicElements use the LayoutManager. Currently the
-        // callLater is necessary because addMaskElement gets called inside of commitProperties
-        callLater(invalidateProperties);
-
-    }
-
-    /**
-     *  @private
-     */
-    override public function removeMaskElement(mask:DisplayObject, target:IGraphicElement):void
-    {
-        if (maskElements && mask in maskElements)
-        {
-            delete maskElements[mask];
-            contentChanged = true;
-             // TODO!! Remove this once GraphicElements use the LayoutManager. Currently the
-            // callLater is necessary because removeMaskElement gets called inside of commitProperties
-            callLater(invalidateProperties);
-        }
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Properties: ScaleGrid


Transferred from the Adobe Open Source Subversion Repository

Revision: 12943
Author:   gosmith@adobe.com
Date:     2009-12-15T04:57:18.720091Z

Log Message:
-----------
Dealt with my FIXMEs, except for one involving Label truncation which I reassigned to Carol to assess.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -1228,7 +1228,7 @@

                 // 4. Get the initial truncation position on the target
                 // line given this allowed width.
-                // FIXME (gosmith): What if textLines[truncLineIndex] is a backgroundColor
+                // FIXME (cframpto): What if textLines[truncLineIndex] is a backgroundColor
                 // Shape instead of a TextLine?
                 var truncateAtCharPosition:int = getTruncationPosition(
                     TextLine(textLines[truncLineIndex]), allowedWidth);


Transferred from the Adobe Open Source Subversion Repository

Revision: 6020
Author:   cframpto@adobe.com
Date:     2009-04-08T16:15:03.450604Z

Log Message:
-----------
- Tighten up SimpleText truncation a bit.  It's ready for testing.
- Fix optimization to check if there is only one measured line.  If SimpleText, have to check the number of composed lines as well as make sure the text isn't overset.
- Cleanup a bit.

QE Notes:
Doc Notes:
Bugs: SDK-18747 (truncation)
Reviewers: will be Gordon

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

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -737,27 +737,35 @@

             // 1. Measure the space that the truncation indicator will take
             // by composing the truncation resource using the same bounds
-            // and formats.
-            staticTextElement.text = mx_internal::truncationIndicatorResource;
-            var measureLines:Array = new Array();
-            var measureBounds:Rectangle = new Rectangle(0, 0, width, NaN);
-
-            createTextLinesFromTextBlock(staticTextBlock,
-                                         measureLines,
-                                         measureBounds);
-
-            releaseLinesFromTextBlock(measureLines);
-
+            // and formats.  Cache this and reuse until the indicator
+            // is modified.
+            if (!mx_internal::truncationIndicatorLines)
+                mx_internal::truncationIndicatorLines = new Array();
+
+            var indicatorLines:Array = mx_internal::truncationIndicatorLines;
+            if (indicatorLines.length == 0)
+            {
+                staticTextElement.text = mx_internal::truncationIndicatorResource;
+
+                var measureBounds:Rectangle = new Rectangle(0, 0, width, NaN);
+
+                createTextLinesFromTextBlock(staticTextBlock,
+                                             indicatorLines,
+                                             measureBounds);
+
+                releaseLinesFromTextBlock(indicatorLines);
+            }
+
             // 2. Move target line for truncation higher by as many lines
             // as the number of full lines taken by the truncation
             // indicator.
-            truncLineIndex -= (measureLines.length - 1);
+            truncLineIndex -= (indicatorLines.length - 1);
             if (truncLineIndex >= 0)
             {
                 // 3. Calculate allowed width (width left over from the
                 // last line of the truncation indicator).
                 var measuredTextLine:TextLine =
-                        TextLine(measureLines[measureLines.length-1]);
+                    TextLine(indicatorLines[indicatorLines.length - 1]);
                 var allowedWidth:Number =
                     measuredTextLine.specifiedWidth -
                     measuredTextLine.unjustifiedTextWidth;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5220
Author:   chaase@adobe.com
Date:     2009-03-10T15:55:06.496289Z

Log Message:
-----------
New Transform effects to handle correctly doing Move, Rotate, and Scale operations simultaneously. Also, added keyframe capabilities to new effects system (necessary for the transform effects, shouldn't affect operation of other effects). Fixed various issues with effects/transition infrastructure as necessary. Added transform utility functions to UIComponent, AdvancedLayoutFeatures, and GraphicElement.

QE Notes: This will break existing new effects tests due to changes in core Animation and AnimationEvent classes, QE is disabling them for now and will add them back in as changes are made.
Doc Notes: None
Bugs:
Reviewer: Ely (transform utilities) and Jason (the rest)
tests: checkintests, Mustella tests/Effects, tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/AnimationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Rotate3D.as
+++ frameworks/projects/spark/src/spark/effects/Rotate3D.as
@@ -0,0 +1,168 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.effects
+{
+import mx.effects.IEffectInstance;
+
+import spark.effects.effectClasses.AnimateTransformInstance;
+
+/**
+ * This class is a utility wrapper around the AnimateTransform effect, exposing the
+ * properties that make sense for someone wishing to merely rotate a target object
+ * in 3D, around the x, y, or z axes, based around some transform center.
+ *
+ *
Like all AnimateTransform-based effects, this effect will only work on subclasses
+ * of UIComponent and GraphicElement, as these effects depend on specific
+ * transform functions in those classes. Also, all of these effects run one single
+ * effect instance on any given target at a time, which means that they will
+ * share the transform center set by any of the contributing effects.

+ */
+public class AnimateTransformRotate3D extends AnimateTransformRotate
+{
+    include "../../mx/core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Constructor.
+     *
+     * @param target The Object to animate with this effect.
+     */
+    public function AnimateTransformRotate3D(target:Object=null)
+    {
+        super(target);
+        instanceClass = AnimateTransformInstance;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  angleXFrom
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     * The starting angle of rotation of the target object around
+     * the x axis, expressed in degrees.
+     * Valid values range from 0 to 360.
+     */
+    public var angleXFrom:Number;
+
+    //----------------------------------
+    //  angleXTo
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     * The ending angle of rotation of the target object around
+     * the x axis, expressed in degrees.
+     * Values can be either positive or negative.
+     *
+     *
If the value of angleTo is less
+     * than the value of angleFrom,
+     * the target rotates in a counterclockwise direction.
+     * Otherwise, it rotates in clockwise direction.
+     * If you want the target to rotate multiple times,
+     * set this value to a large positive or small negative number.

+     */
+    public var angleXTo:Number;
+
+    //----------------------------------
+    //  angleXBy
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     * Degrees by which to rotate the target object around the
+     * x axis. Value may be negative.
+     *
+     *
If the value of angleXBy is negative,
+     * the target rotates in a counterclockwise direction.
+     * Otherwise, it rotates in clockwise direction.
+     * If you want the target to rotate multiple times,
+     * set this value to a large positive or small negative number.

+     */
+    public var angleXBy:Number;
+
+    //----------------------------------
+    //  angleYFrom
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     * The starting angle of rotation of the target object around
+     * the y axis, expressed in degrees.
+     * Valid values range from 0 to 360.
+     */
+    public var angleYFrom:Number;
+
+    //----------------------------------
+    //  angleYTo
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     * The ending angle of rotation of the target object around
+     * the y axis, expressed in degrees.
+     * Values can be either positive or negative.
+     *
+     *
If the value of angleTo is less
+     * than the value of angleFrom,
+     * the target rotates in a counterclockwise direction.
+     * Otherwise, it rotates in clockwise direction.
+     * If you want the target to rotate multiple times,
+     * set this value to a large positive or small negative number.

+     */
+    public var angleYTo:Number;
+
+    //----------------------------------
+    //  angleYBy
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     * Degrees by which to rotate the target object around the
+     * y axis. Value may be negative.
+     *
+     *
If the value of angleYBy is negative,
+     * the target rotates in a counterclockwise direction.
+     * Otherwise, it rotates in clockwise direction.
+     * If you want the target to rotate multiple times,
+     * set this value to a large positive or small negative number.

+     */
+    public var angleYBy:Number;
+
+    /**
+     * @private
+     */
+    override protected function initInstance(instance:IEffectInstance):void
+    {
+        addMotionPath("rotationX", angleXFrom, angleXTo, angleXBy);
+        addMotionPath("rotationY", angleYFrom, angleYTo, angleYBy);
+        super.initInstance(instance);
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/ScrollPolicy.as
+++ frameworks/projects/framework/src/mx/core/ScrollPolicy.as
@@ -19,6 +19,11 @@
  *
  *  @see mx.core.Container
  *  @see mx.core.ScrollControlBase
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public final class ScrollPolicy
 {
@@ -35,11 +40,21 @@
 	 *  The size of the owner is not adjusted to account
 	 *  for the scrollbars when they appear, so this may cause the
 	 *  scrollbar to obscure the contents of the control or container.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const AUTO:String = "auto";

 	/**
 	 *  Never show the scrollbar.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const OFF:String = "off";

@@ -48,6 +63,11 @@
 	 *  The size of the scrollbar is automatically added to the size
 	 *  of the owner's contents to determine the size of the owner
 	 *  if explicit sizes are not specified.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const ON:String = "on";
 }