Transferred from the Adobe Open Source Subversion Repository

Revision: 6266
Author:   egeorgie@adobe.com
Date:     2009-04-24T23:09:01.304621Z

Log Message:
-----------
Layout PARB changes

Major (most probably will require updates):
- LayoutBase.getScrollPositionDelta() -> getScrollPositionDeltaToElement()
- HorizontalLayout, VerticalLayout method inView() -> fractionOfElementInView()
- LayoutElementFactory is deleted, interface ILayoutElement is implemented by UIComponent, GraphicElement, VisualSprite, no need for casting in those cases, cast to ILayoutElement in case of type Object.
- TileLayout.elementHorizontalAlign -> horizontalAlign
- TileLayout.elementVerticalAlign -> verticalAlign
- TileJustifyRows -> RowAlign
- TileJustifyColumsn > ColumnAlign
- TileLayout.justifyRows -> rowAlign
- TileLayout.justifyColumns -> columnAling
- TileJustifyRows.NONE, "none" -> TOP, "top"
- TileJustifyRows.GAP_SIZE, "gapSize" -> JUSTIFY_USING_GAP, "justifyUsingGap"
- TileJustifyRows.ROW_SIZE, "rowSize" -> JUSTIFY_USING_HEIGHT, "justifyUsingHeight"
- TileJustifyColumns.NONE, "none" -> LEFT, "left"
- TileJustifyColumns.GAP_SIZE, "gapSize" -> JUSTIFY_USING_GAP, "justifyUsingGap"
- TileJustifyColumns.COLUMN_SIZE, "columnSize" -> JUSTIFY_USING_WIDTH, "justifyUsingWidth"
- TileLayout.set rowCount -> set requestedRowCount
- add TileLayout.get requestedRowCount
- TileLayout.set columnCount -> set requestedColumnCount
- add TileLayout.get requestedColumnCount

Minor (may require updates, but not that probable):
- get baselinePosition() is moved from IVisualElement to ILayoutElement.
- setLayoutBoundsSize() does not have default NaN values for width & height (but still logic is the same).
- name of ILayoutInterface methods' parameter "postTransform" is renamed to "postLayoutTransform".
- name of ILayoutInterface methods' parameter "triggerLayout" is renamed to "invalidateLayout".
- LayoutBase methods invalidateTargetSizeAndDisplayList() and invalidateTargetSize() are removed.
- LayoutBase method getTargetScrollRect() is renamed to getScrollRect().

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Hans, Ryan
tests: checkintests, mustella (gumbo/layout, gumbo/group, gumbo/dataGroup)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as</path>
<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/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/RowAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileJustifyRows.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Animate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/ColumnAlign.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileJustifyColumns.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/TextBaseClass.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</path>

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

--- frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
+++ frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
@@ -2818,9 +2818,9 @@
         var m:Matrix = _transform.matrix;
         var m3:Matrix3D =  _transform.matrix3D;
         if(m != null)
-            setLayoutMatrix(m.clone(), true /*triggerLayout*/);
+            setLayoutMatrix(m.clone(), true /*invalidateLayout*/);
         else if(m3 != null)
-            setLayoutMatrix3D(m3.clone(), true /*triggerLayout*/);
+            setLayoutMatrix3D(m3.clone(), true /*invalidateLayout*/);
     }

     private function transformPropertyChangeHandler(event:PropertyChangeEvent):void
@@ -2909,7 +2909,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function setLayoutMatrix(value:Matrix, triggerLayout:Boolean):void
+    public function setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void
     {
         hasDeltaIdentityTransform = false;
         if (_layoutFeatures == null)
@@ -2927,7 +2927,7 @@

         //invalidateProperties();

-        if (triggerLayout)
+        if (invalidateLayout)
             invalidateParentSizeAndDisplayList();
     }

@@ -2958,7 +2958,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function setLayoutMatrix3D(value:Matrix3D, triggerLayout:Boolean):void
+    public function setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void
     {
         if (_layoutFeatures == null)
             initAdvancedLayoutFeatures();
@@ -2969,7 +2969,7 @@

         //invalidateProperties();

-        if (triggerLayout)
+        if (invalidateLayout)
             invalidateParentSizeAndDisplayList();
     }

@@ -3266,14 +3266,14 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getPreferredBoundsWidth(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getPreferredBoundsWidth(this,postTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getPreferredBoundsHeight(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getPreferredBoundsHeight(this,postTransform? nonDeltaLayoutMatrix():null);
+    public function getPreferredBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getPreferredBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    public function getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getPreferredBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3284,14 +3284,14 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getMinBoundsWidth(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getMinBoundsWidth(this,postTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getMinBoundsHeight(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getMinBoundsHeight(this,postTransform? nonDeltaLayoutMatrix():null);
+    public function getMinBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMinBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    public function getMinBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMinBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3302,14 +3302,14 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getMaxBoundsWidth(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getMaxBoundsWidth(this,postTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getMaxBoundsHeight(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getMaxBoundsHeight(this,postTransform? nonDeltaLayoutMatrix():null);
+    public function getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMaxBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    public function getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMaxBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3320,10 +3320,10 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getBoundsXAtSize(width:Number, height:Number, postTransform:Boolean = true):Number
+    public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
         return LayoutElementUIComponentUtils.getBoundsXAtSize(this, width, height,
-                                                              postTransform ? nonDeltaLayoutMatrix() : null);
+                                                              postLayoutTransform ? nonDeltaLayoutMatrix() : null);
     }

     /**
@@ -3334,10 +3334,10 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getBoundsYAtSize(width:Number, height:Number, postTransform:Boolean = true):Number
+    public function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
         return LayoutElementUIComponentUtils.getBoundsYAtSize(this, width, height,
-                                                              postTransform ? nonDeltaLayoutMatrix() : null);
+                                                              postLayoutTransform ? nonDeltaLayoutMatrix() : null);
     }

     /**
@@ -3348,14 +3348,14 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getLayoutBoundsWidth(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getLayoutBoundsWidth(this,postTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getLayoutBoundsHeight(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getLayoutBoundsHeight(this,postTransform? nonDeltaLayoutMatrix():null);
+    public function getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getLayoutBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    public function getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getLayoutBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3366,14 +3366,14 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function getLayoutBoundsX(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getLayoutBoundsX(this,postTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getLayoutBoundsY(postTransform:Boolean=true):Number
-    {
-        return LayoutElementUIComponentUtils.getLayoutBoundsY(this,postTransform? nonDeltaLayoutMatrix():null);
+    public function getLayoutBoundsX(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getLayoutBoundsX(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    public function getLayoutBoundsY(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getLayoutBoundsY(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3384,9 +3384,9 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function setLayoutBoundsPosition(x:Number, y:Number, postTransform:Boolean=true):void
-    {
-        LayoutElementUIComponentUtils.setLayoutBoundsPosition(this,x,y,postTransform? nonDeltaLayoutMatrix():null);
+    public function setLayoutBoundsPosition(x:Number, y:Number, postLayoutTransform:Boolean = true):void
+    {
+        LayoutElementUIComponentUtils.setLayoutBoundsPosition(this,x,y,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3397,11 +3397,11 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function setLayoutBoundsSize(width:Number = Number.NaN,
-                                  height:Number = Number.NaN,
-                                  postTransform:Boolean=true):void
-    {
-        LayoutElementUIComponentUtils.setLayoutBoundsSize(this,width,height,postTransform? nonDeltaLayoutMatrix():null);
+    public function setLayoutBoundsSize(width:Number,
+                                        height:Number,
+                                        postLayoutTransform:Boolean = true):void
+    {
+        LayoutElementUIComponentUtils.setLayoutBoundsSize(this,width,height,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     protected function nonDeltaLayoutMatrix():Matrix


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

--- frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as
+++ frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as
@@ -0,0 +1,309 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.text.FontStyle;
+import flash.utils.Dictionary;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  A singleton to contain a list of all the embeded fonts in use
+ *  and the associated SWF/moduleFactory where the fonts are defined.
+ */
+public class EmbeddedFontRegistry implements IEmbeddedFontRegistry
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var fonts:Object = {};
+
+	/**
+	 *  @private
+	 */
+	private static var instance:IEmbeddedFontRegistry;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	public static function getInstance():IEmbeddedFontRegistry
+	{
+		if (!instance)
+			instance = new EmbeddedFontRegistry();
+
+		return instance;
+	}
+
+	/**
+	 *  @private
+	 *	Creates a key for the embedded font.
+	 *
+	 *  @param font	FlexFont object, may not be null.
+	 *
+	 *  @return String key
+	 */
+	private static function createFontKey(font:EmbeddedFont):String
+	{
+		return font.fontName + font.fontStyle;
+	}
+
+	/**
+	 * Create an embedded font from a font key.
+	 *
+	 * @param key A string that represents a key created by createFontKey(), may not be null.
+	 *
+	 * return An embedded font with the attributes from the key.
+	 */
+	 private static function createEmbeddedFont(key:String):EmbeddedFont
+	 {
+		var fontName:String;
+		var fontBold:Boolean;
+		var fontItalic:Boolean;
+
+		var index:int = endsWith(key,FontStyle.REGULAR);
+		if (index > 0)
+		{
+			fontName = key.substring(0, index);
+			return new EmbeddedFont(fontName, false, false);
+		}
+
+		index = endsWith(key, FontStyle.BOLD);
+		if (index > 0)
+		{
+			fontName = key.substring(0, index);
+			return new EmbeddedFont(fontName, true, false);
+		}
+
+		index = endsWith(key, FontStyle.BOLD_ITALIC);
+		if (index > 0)
+		{
+			fontName = key.substring(0, index);
+			return new EmbeddedFont(fontName, true, true);
+		}
+
+		index = endsWith(key, FontStyle.ITALIC);
+		if (index > 0)
+		{
+			fontName = key.substring(0, index);
+			return new EmbeddedFont(fontName, false, true);
+		}
+
+		return new EmbeddedFont("", false, false);
+	 }
+
+	/**
+	 * Test if a string end with another string.
+	 *
+	 * @returns index into string if it ends with the matching string, otherwise returns -1.
+	 */
+	private static function endsWith(s:String, match:String):int
+	{
+		var index:int = s.lastIndexOf(match);
+
+		if (index > 0 && (index + match.length == s.length))
+		{
+			return index;
+		}
+
+		return -1;
+	}
+
+	/**
+	 *  @private
+	 *  Registers fonts from the info["fonts"] startup information.
+	 *
+	 *  @param fonts Object obtained from the info["fonts"] call
+	 *  on a moduleFactory object.
+	 *
+	 *  @param moduleFactory The module factory of the caller.
+	 */
+	public static function registerFonts(fonts:Object,
+										 moduleFactory:IFlexModuleFactory):void
+	{
+		var fontRegistry:IEmbeddedFontRegistry = IEmbeddedFontRegistry(
+			Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+
+		// Loop thru all the font objects and put them in the registry
+		for (var f:Object in fonts)
+		{
+			var fontObj:Object = fonts[f];
+
+			 // For each value of "regular", "bold", "italic", and "boldItalic"
+			 // register the font name.
+			 for (var fieldIter:String in fontObj)
+			 {
+			 	if (fontObj[fieldIter] == false)
+			 		continue; // no font to register
+
+			 	var bold:Boolean;
+			 	var italic:Boolean;
+			 	if (fieldIter == "regular")
+			 	{
+			 		bold = false;
+			 		italic = false;
+			 	}
+			 	else if (fieldIter == "boldItalic")
+			 	{
+			 		bold = true;
+			 		italic = true;
+			 	}
+			 	else if (fieldIter == "bold")
+				{
+					bold = true;
+					italic = false;
+			 	}
+			 	else if (fieldIter == "italic")
+				{
+					bold = false;
+					italic = true;
+			 	}
+
+				fontRegistry.registerFont(
+					new EmbeddedFont(String(f), bold, italic), moduleFactory);
+			 }
+		}
+	}
+
+	/**
+	 *  Convert a font styles into a String as using by flash.text.FontStyle.
+	 *
+	 *  @param bold true if the font is bold, false otherwise.
+	 *
+	 *  @param italic true if the font is italic, false otherwise.
+	 *
+	 *  @return A String that matches one of the values in flash.text.FontStyle.
+	 */
+	public static function getFontStyle(bold:Boolean, italic:Boolean):String
+	{
+        var style:String = FontStyle.REGULAR;
+
+        if (bold && italic)
+            style = FontStyle.BOLD_ITALIC;
+        else if (bold)
+            style = FontStyle.BOLD;
+        else if (italic)
+            style = FontStyle.ITALIC;
+
+		return style;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+     *  @inheritDoc
+	 */
+	public function registerFont(font:EmbeddedFont,
+								 moduleFactory:IFlexModuleFactory):void
+	{
+		var fontKey:String = createFontKey(font);
+		var fontDictionary:Dictionary = fonts[fontKey];
+		if (!fontDictionary)
+		{
+			fontDictionary = new Dictionary(true); // use weak ref for keys
+			fonts[fontKey] = fontDictionary;
+		}
+		fontDictionary[moduleFactory] = 1;
+	}
+
+	/**
+     *  @inheritDoc
+	 */
+	public function deregisterFont(font:EmbeddedFont,
+								   moduleFactory:IFlexModuleFactory):void
+	{
+		var fontKey:String = createFontKey(font);
+		var fontDictionary:Dictionary = fonts[fontKey];
+		if (fontDictionary != null)
+		{
+			delete fontDictionary[moduleFactory];
+
+			var count:int = 0;
+			for (var obj:Object in fontDictionary)
+			{
+			    count++;
+			}
+
+			if (count == 0)
+    			delete fonts[fontKey];
+		}
+	}
+
+	/**
+     *  @inheritDoc
+	 */
+	public function getFonts():Array
+	{
+		var fontArray:Array = [];
+
+		for (var key:String in fonts)
+		{
+			fontArray.push(createEmbeddedFont(key));
+		}
+
+		return fontArray;
+	}
+
+	/**
+     *  @inheritDoc
+	 */
+	public function getAssociatedModuleFactory(
+						font:EmbeddedFont,
+						defaultModuleFactory:IFlexModuleFactory):
+						IFlexModuleFactory
+	{
+		var fontDictionary:Dictionary = fonts[createFontKey(font)];
+		if (fontDictionary)
+		{
+			// First lookup in the dictionary. If not found, then
+			// take the first moduelFactory in the dictionary.
+			// A module can register a font that is not unique and still
+			// use that font as long as its components specify the moduleFactory.
+			// A module can use fonts in other modules but
+			// to get consistent behavior the font should be unique.
+			var found:int = fontDictionary[defaultModuleFactory];
+
+			if (found)
+				return defaultModuleFactory;
+
+			for (var iter:Object in fontDictionary)
+			{
+				return iter as IFlexModuleFactory;
+			}
+		}
+
+		return 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@1260891 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/formatters/PhoneFormatter.as
+++ frameworks/projects/framework/src/mx/formatters/PhoneFormatter.as
@@ -65,6 +65,11 @@
  *  @includeExample examples/PhoneFormatterExample.mxml
  *
  *  @see mx.formatters.SwitchSymbolFormatter
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class PhoneFormatter extends Formatter
 {
@@ -78,6 +83,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function PhoneFormatter()
     {
@@ -114,6 +124,11 @@
      *  prepend the area code.
      *
      *  @default -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get areaCode():Object
 	{
@@ -155,6 +170,11 @@
      *  property is rendered by a seven-digit format.
      *
      *  @default "(###) "
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get areaCodeFormat():String
 	{
@@ -196,6 +216,11 @@
      *  that represent a specified phone number format.
      *
      *  @default "(###) ###-####"
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get formatString():String
 	{
@@ -239,6 +264,11 @@
      *  of the formatString property.
      *
      *  @default "+()#- ."
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function get validPatternChars():String
 	{
@@ -286,6 +316,11 @@
      *
      *  @return Formatted String. Empty if an error occurs. A description
      *  of the error condition is written to the error property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function format(value:Object):String
     {


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

--- frameworks/projects/framework/src/mx/resources/ResourceManager.as
+++ frameworks/projects/framework/src/mx/resources/ResourceManager.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.resources
 {


* 增加了 2 个特殊字段

* 增加了 2 个特殊字段

--- age/src/age/renderers/ObjectRenderer.as
+++ age/src/age/renderers/ObjectRenderer.as
@@ -81,6 +81,11 @@
 			addRenderer(mouseResponder);
 			// 固定图层数为 3
 			numNativeRenderers = 3;
+
+			if (AGE.config.isDebugMode && AGE.config.isShowWireframe)
+			{
+				numNativeRenderers += 2;
+			}
 		}

 		/**
@@ -133,6 +138,10 @@
 		 * </ul>
 		 */
 		protected var shadowRenderer:ShadowRenderer;
+
+		protected var hitBoxRenderer:WireframeLayerRenderer;
+
+		protected var attackBoxRenderer:WireframeLayerRenderer;

 		/**
 		 * 所有子渲染器


Investigate this at a later time

Investigate this at a later time

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

--- src/org/igniterealtime/xiff/conference/RoomOccupant.as
+++ src/org/igniterealtime/xiff/conference/RoomOccupant.as
@@ -115,7 +115,11 @@
 		{
 			return true;
 		}
+		public function set online( value:Boolean ):void
+		{
+		}

+
 		/**
 		 *
 		 */


Merging 'splitLow' and 'splitHigh' into one method that reuses calculations that apply to both halves of the result

--- raw/src/org/yellcorp/lib/geom/curves/QuadBezier.as
+++ raw/src/org/yellcorp/lib/geom/curves/QuadBezier.as
@@ -123,28 +123,23 @@

     public function split(t:Number, outLow:QuadBezier, outHigh:QuadBezier):void
     {
-        splitLow(t, outLow);
-        splitHigh(t, outHigh);
-    }
+        var q0x:Number = p0.x + (p1.x - p0.x) * t;
+        var q1x:Number = p1.x + (p2.x - p1.x) * t;
+        var rx:Number = q0x + (q1x - q0x) * t;

-    public function splitLow(t:Number, out:QuadBezier):QuadBezier
-    {
-        out.p0.x = p0.x;
-        out.p0.y = p0.y;
-        out.p1.x = p0.x + (p1.x - p0.x) * t;
-        out.p1.y = p0.y + (p1.y - p0.y) * t;
-        sample(t, out.p2);
-        return out;
-    }
+        var q0y:Number = p0.y + (p1.y - p0.y) * t;
+        var q1y:Number = p1.y + (p2.y - p1.y) * t;
+        var ry:Number = q0y + (q1y - q0y) * t;

-    public function splitHigh(t:Number, out:QuadBezier):QuadBezier
-    {
-        sample(t, out.p0);
-        out.p1.x = p1.x + (p2.x - p1.x) * t;
-        out.p1.y = p1.y + (p2.y - p1.y) * t;
-        out.p2.x = p2.x;
-        out.p2.y = p2.y;
-        return out;
+        if (outLow)
+        {
+            outLow.setCoords(p0.x, p0.y, q0x, q0y, rx, ry);
+        }
+
+        if (outHigh)
+        {
+            outLow.setCoords(rx, ry, q1x, q1y, p2.x, p2.y);
+        }
     }

     public function boundingBox(out:Rectangle):Rectangle


Change internal storage name so that beads can host other beads.

git-svn-id: 00225d326fbeb9978ee2ea3564602c0fe18eb5d2@1440062 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/as/src/org/apache/flex/core/UIBase.as
+++ frameworks/as/src/org/apache/flex/core/UIBase.as
@@ -97,12 +97,12 @@
 		// from AS, just call addBead()
 		public var beads:Array;

-		private var strand:Vector.<IBead>;
+		private var _beads:Vector.<IBead>;
 		public function addBead(bead:IBead):void
 		{
-			if (!strand)
-				strand = new Vector.<IBead>;
-			strand.push(bead);
+			if (!_beads)
+				_beads = new Vector.<IBead>;
+			_beads.push(bead);
 			if (bead is IBeadModel)
 				_model = bead as IBeadModel;
 			bead.strand = this;
@@ -110,7 +110,7 @@

 		public function getBeadByType(classOrInterface:Class):IBead
 		{
-			for each (var bead:IBead in strand)
+			for each (var bead:IBead in _beads)
 			{
 				if (bead is classOrInterface)
 					return bead;
@@ -120,13 +120,13 @@

 		public function removeBead(value:IBead):IBead
 		{
-			var n:int = strand.length;
+			var n:int = _beads.length;
 			for (var i:int = 0; i < n; i++)
 			{
-				var bead:IBead = strand[i];
+				var bead:IBead = _beads[i];
 				if (bead == value)
 				{
-					strand.splice(i, 1);
+					_beads.splice(i, 1);
 					return bead;
 				}
 			}


force to reload manifest by tweaking the URL. this it to avoid issues with browser/flash that are reloading from cache even if the remote URL has been updated see http://stackoverflow.com/questions/14448219/as3-resetting-urlloader-cache should improve https://github.com/mangui/HLSprovider/issues/65

--- src/org/mangui/HLS/streaming/ManifestLoader.as
+++ src/org/mangui/HLS/streaming/ManifestLoader.as
@@ -81,7 +81,11 @@
             _current_level = 0;
             _canStart = false;
             _reload_playlists_timer = getTimer();
-            _urlloader.load(new URLRequest(_url));
+            /*
+            add time parameter to force reload URL, there are some issues with browsers reloading from cache even if the URL has been updated ...
+            see http://stackoverflow.com/questions/14448219/as3-resetting-urlloader-cache
+            */
+            _urlloader.load(new URLRequest(_url +"?time=" + new Date().getTime()));
         };


Улучшения

Улучшения

--- src/main/org/shypl/common/loader/AbstractLoader.as
+++ src/main/org/shypl/common/loader/AbstractLoader.as
@@ -32,7 +32,7 @@
 			if (!completed && !_canceled) {
 				_canceled = true;

-				FileLoader.LOGGER.trace("Loading cancel {}", _url);
+				FileLoader.LOGGER.debug("Cancel load {}", _url);

 				if (_attemptLoadingCall != null) {
 					_attemptLoadingCall.cancel();
@@ -85,7 +85,7 @@

 		protected final function handleLoadingCompleteEvent(event:Event):void {
 			_loading = false;
-			FileLoader.LOGGER.trace("Loaded {}", _url);
+			FileLoader.LOGGER.debug("Complete load {}", _url);
 			if (!completed) {
 				produceResult();
 				freeLoading();
@@ -118,7 +118,7 @@
 			if (_loading) {
 				throw new IllegalStateException();
 			}
-			FileLoader.LOGGER.trace("Load {}", _url);
+			FileLoader.LOGGER.debug("Start load {}", _url);
 			attemptLoading();
 			return true;
 		}


code cleanup

code cleanup

--- WeaveJS/src/weavejs/utils/JS.as
+++ WeaveJS/src/weavejs/utils/JS.as
@@ -163,7 +163,7 @@
 		}

 		/**
-		 * Tests if something looks like a Class.
+		 * Implementation of "classDef is Class"
 		 */
 		public static function isClass(classDef:Object):Boolean
 		{
@@ -218,7 +218,7 @@

 		/**
 		 * Safe version of 'as' operator
-		 * - won't compile "obj as this.classDef" incorrectly as "...Language.as(obj, classDef)"
+		 * Using this will avoid the bug where "obj as this.classDef" compiles incorrectly as "...Language.as(obj, classDef)"
 		 */
 		public static function AS(leftOperand:Object, rightOperand:Class):*
 		{
@@ -234,12 +234,8 @@
 		{
 			var superClass:Object;

-			if (leftOperand == null)
+			if (leftOperand == null || rightOperand == null)
 				return false;
-
-			if (leftOperand && rightOperand == null) {
-				return false;
-			}

 			// (adufilie) separated instanceof check to catch more cases.
 			if (leftOperand instanceof rightOperand)


changed dynamic object property access to use bracket operators

--- WeaveUISpark/src/weave/Weave.as
+++ WeaveUISpark/src/weave/Weave.as
@@ -312,7 +312,7 @@
 		{
 			// thumbnail should go first in the stream because we will often just want to extract the thumbnail and nothing else.
 			var output:WeaveArchive = new WeaveArchive();
-			var component:UIComponent = WeaveAPI.topLevelApplication.visApp;
+			var component:UIComponent = WeaveAPI.topLevelApplication['visApp'];
 			// screenshot thumbnail
 			try
 			{
@@ -422,7 +422,7 @@

 		public static function loadDraggedCSV(content:Object):void
 		{
-			WeaveAPI.topLevelApplication.visApp.CSVWizardWithData(content);
+			WeaveAPI.topLevelApplication['visApp'].CSVWizardWithData(content);
 		}

 		private static const WEAVE_RELOAD_SHARED_OBJECT:String = "WeaveExternalReload";
@@ -515,7 +515,7 @@
 				catch (e:Error)
 				{
 					if (e.errorID == 2060 && e.getStackTrace() == null)
-						e.message = StandardLib.substitute("ExternalInterface caller {0} cannot access the current JavaScript security domain.", WeaveAPI.topLevelApplication.url);
+						e.message = StandardLib.substitute("ExternalInterface caller {0} cannot access the current JavaScript security domain.", WeaveAPI.topLevelApplication['url']);
 					reportError(e);
 				}
 			}


Clock hand/color tweaks

Clock hand/color tweaks

--- src/Displays/Clock.as
+++ src/Displays/Clock.as
@@ -13,6 +13,7 @@
 		private var _fraction:Number;
 		private var hand:FlxSprite;
 		private var _handFraction:Number;
+		private var on:Boolean;
 		public function Clock(X:int, Y:int, Fraction:Number) {
 			super(X, Y);
 			_fraction = Fraction;
@@ -20,8 +21,10 @@
 		}

 		private function init():void {
-			var existed:Boolean = FlxG.checkBitmapCache("Clock-" + fraction);
-			makeGraphic(RADIUS * 2, RADIUS * 2, mostlyOn ? COLOR_ON : COLOR_OFF, true, "Clock-" + fraction);
+			on = handIndicatesOn();
+			var bitmapString:String = "Clock-" + fraction + "-" + on;
+			var existed:Boolean = FlxG.checkBitmapCache(bitmapString);
+			makeGraphic(RADIUS * 2, RADIUS * 2, mostlyOn ? COLOR_ON : COLOR_OFF, true, bitmapString);
 			if (existed)
 				return;

@@ -92,6 +95,8 @@
 			if (_handFraction != Fraction) {
 				_handFraction = Fraction;
 				initHand();
+				if (handIndicatesOn() != on)
+					init();
 			}
 		}

@@ -124,13 +129,27 @@
 			return _fraction < 0.5;
 		}

+		protected function handIndicatesOn():Boolean {
+			return handFraction >= 1 - fraction;
+		}
+
 		protected function minorColor():uint {
 			return mostlyOn ? COLOR_OFF : COLOR_ON;
 		}

+		protected function get COLOR_ON():uint {
+			return on ? BRIGHT_COLOR_ON : DARK_COLOR_ON;
+		}
+
+		protected function get COLOR_OFF():uint {
+			return on ? DARK_COLOR_OFF : BRIGHT_COLOR_OFF;
+		}
+
 		private const RADIUS:int = 16;
-		private const COLOR_ON:uint = 0xfff0ea67;
-		private const COLOR_OFF:uint = 0xff699df5;
+		private const DARK_COLOR_ON:uint = 0xfff0ea67;
+		private const DARK_COLOR_OFF:uint = 0xff5482c4;
+		private const BRIGHT_COLOR_ON:uint = 0xfffff85f;
+		private const BRIGHT_COLOR_OFF:uint = 0xff143666;
 		private const OUTER_COLOR:uint = 0xff7070a0;

 		[Embed(source = "../../lib/art/outline.png")] private const _outline:Class;


Modify TweenToZone to ensure it restarts each time

--- src/org/flintparticles/twoD/actions/TweenToZone.as
+++ src/org/flintparticles/twoD/actions/TweenToZone.as
@@ -32,6 +32,7 @@
 {
 	import org.flintparticles.common.actions.ActionBase;
 	import org.flintparticles.common.emitters.Emitter;
+	import org.flintparticles.common.initializers.Initializer;
 	import org.flintparticles.common.particles.Particle;
 	import org.flintparticles.twoD.particles.Particle2D;
 	import org.flintparticles.twoD.zones.Zone2D;
@@ -50,7 +51,7 @@
 	 * function used. This action should be used in conjunction with the Age action.
 	 */

-	public class TweenToZone extends ActionBase
+	public class TweenToZone extends ActionBase implements Initializer
 	{
 		private var _zone:Zone2D;

@@ -66,6 +67,7 @@
 		public function TweenToZone( zone:Zone2D )
 		{
 			_zone = zone;
+			priority = -10;
 		}

 		/**
@@ -81,6 +83,33 @@
 		}

 		/**
+		 *
+		 */
+		override public function addedToEmitter( emitter:Emitter ):void
+		{
+			if( ! emitter.hasInitializer( this ) )
+			{
+				emitter.addInitializer( this );
+			}
+		}
+
+		override public function removedFromEmitter( emitter:Emitter ):void
+		{
+			emitter.removeInitializer( this );
+		}
+
+		/**
+		 *
+		 */
+		public function initialize( emitter:Emitter, particle:Particle ):void
+		{
+			var p:Particle2D = Particle2D( particle );
+			var pt:Point = _zone.getLocation();
+			var data:TweenToZoneData = new TweenToZoneData( p.x, p.y, pt.x, pt.y );
+			p.dictionary[this] = data;
+		}
+
+		/**
 		 * Calculates the current position of the particle based on it's energy.
 		 *
 		 * <p>This method is called by the emitter and need not be called by the
@@ -95,17 +124,11 @@
 		override public function update( emitter:Emitter, particle:Particle, time:Number ):void
 		{
 			var p:Particle2D = Particle2D( particle );
-			var data:TweenToZoneData;
 			if( ! p.dictionary[this] )
 			{
-				var pt:Point = _zone.getLocation();
-				data = new TweenToZoneData( p.x, p.y, pt.x, pt.y );
-				p.dictionary[this] = data;
+				initialize( emitter, particle );
 			}
-			else
-			{
-				data = p.dictionary[this];
-			}
+			var data:TweenToZoneData = p.dictionary[this];
 			p.x = data.endX + data.diffX * p.energy;
 			p.y = data.endY + data.diffY * p.energy;
 		}


Prevent IQ id generator from incrementing when handling an IQ.
Only should increment when creating a new IQ.

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

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -868,7 +868,7 @@
 		 */
 		protected function handleIQ( node:XMLNode ):IQ
 		{
-			var iq:IQ = new IQ();
+			var iq:IQ = new IQ( null, null, "temp" );

 			// Populate the IQ with the incoming data
 			if ( !iq.deserialize( node ) )


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -0,0 +1,113 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.component
+{
+
+import flash.geom.Point;
+
+/**
+ *  The HScrollBar (horizontal ScrollBar) control lets you control
+ *  the portion of data that is displayed when there is too much data
+ *  to fit horizontally in a display area.
+ *
+ *
This control extends the base ScrollBar control.

+ *
+ *
Although you can use the HScrollBar control as a stand-alone control,
+ *  you usually combine it as part of another group of components to
+ *  provide scrolling functionality.

+ */
+public class HScrollBar extends ScrollBar
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function HScrollBar()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * The size of the track on an HScrollBar equals the width of the track.
+     */
+    override protected function get trackSize():Number
+    {
+        if (track)
+            return track.width;
+        else
+           return 0;
+    }
+
+    /**
+     * HScrollBar's thumbSize determines the width of the thumb button.
+     * The button's minWidth property acts as a lower bound on this size.
+     */
+    override protected function set thumbSize(size:Number):void
+    {
+        super.thumbSize = Math.max(size, thumb.minWidth);
+        thumb.width = thumbSize;
+    }
+    override protected function get thumbSize():Number
+    {
+        return super.thumbSize;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Position the thumb button according to the given thumbPos parameter,
+     * relative to the current x location of the track in the scrollbar control.
+     *
+     * @param thumbPos A number representing the new position of the thumb
+     * button in the control.
+     */
+    override protected function positionThumb(thumbPos:Number):void
+    {
+        if (thumb)
+        {
+            var trackPos:Number = track ? track.x : 0;
+            thumb.x = trackPos + thumbPos;
+        }
+    }
+
+    /**
+     * The position of the thumb on an HScrollBar is equal to the given
+     * localX parameter.
+     *
+     * @param localX The x position relative to the scrollbar control
+     * @param localY The y position relative to the scrollbar control
+     */
+    override protected function getScrollPosition(localX:Number,
+                                                  localY:Number):Number
+    {
+        return localX;
+    }
+}
+
+}


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

--- frameworks/projects/spark/src/spark/accessibility/TabBarAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/TabBarAccImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      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: 13097
Author:   cframpto@adobe.com
Date:     2009-12-18T02:36:41.995341Z

Log Message:
-----------
Add ISystemCursorClient so that it is possible to detect whether system cursor should be displayed in mouseOverHandler.  In particular this will detect if it is a RichEditableText component.  This removes a FIXME.

QE notes:
Doc notes:
Bugs:
Reviewer: Alex, Glenn
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISystemCursorClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -66,6 +66,7 @@

 import mx.core.IFlexModuleFactory;
 import mx.core.IIMESupport;
+import mx.core.ISystemCursorClient;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
@@ -410,7 +411,7 @@
  *  @productversion Flex 4
  */
 public class RichEditableText extends UIComponent
-    implements IFocusManagerComponent, IIMESupport, IViewport
+    implements IFocusManagerComponent, IIMESupport, ISystemCursorClient, IViewport
 {
     include "../core/Version.as";

@@ -460,7 +461,8 @@
         // Pre-FP10.1, set default tab stops in TLF.  Without this, if there
         // is a tab and TLF is measuring width, the tab will
         // measure as the rest of the remaining width up to 10000.
-        GlobalSettings.enableDefaultTabStops = !Configuration.playerEnablesArgoFeatures;
+        GlobalSettings.enableDefaultTabStops =
+            !Configuration.playerEnablesArgoFeatures;

         staticConfiguration =
             Configuration(TextContainerManager.defaultConfiguration).clone();
@@ -868,6 +870,26 @@
         invalidateDisplayList();
     }

+    //--------------------------------------------------------------------------
+    //
+    //  Properties: ISystemCursorClient
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  True if the system cursor should always be shown when the mouse
+     *  moves over the component.  If false, the custom cursor will be shown.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get showSystemCursor():Boolean
+    {
+        return editable;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties: IViewport


Prevent HLSTimeTrait from prematurely ending live streams due to duration fluctuation of live playlist

--- src/org/mangui/osmf/plugins/traits/HLSTimeTrait.as
+++ src/org/mangui/osmf/plugins/traits/HLSTimeTrait.as
@@ -3,8 +3,10 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  package org.mangui.osmf.plugins.traits {
     import org.mangui.hls.HLS;
+    import org.mangui.hls.constant.HLSTypes;
     import org.mangui.hls.event.HLSEvent;
     import org.osmf.traits.TimeTrait;
+    import org.osmf.events.TimeEvent;

     CONFIG::LOGGING {
     import org.mangui.hls.utils.Log;
@@ -33,6 +35,15 @@
             super.dispose();
         }

+        override protected function signalComplete():void
+        {
+            // live streams shouldn't end based on TimeTrait
+            if (_hls.type !== HLSTypes.LIVE)
+            {
+                dispatchEvent(new TimeEvent(TimeEvent.COMPLETE));
+            }
+        }
+
         /** Update playback position/duration **/
         private function _mediaTimeHandler(event : HLSEvent) : void {
             var newDuration : Number = event.mediatime.duration;


implemented setPainters() function on AuroraPainterButtonSkin that returns reference to the object for method chaining.

--- src/org/openPyro/aurora/AuroraPainterButtonSkin.as
+++ src/org/openPyro/aurora/AuroraPainterButtonSkin.as
@@ -1,4 +1,7 @@
 package org.openPyro.aurora{
+	import flash.display.DisplayObject;
+	import flash.text.TextFormat;
+
 	import org.openPyro.controls.Button;
 	import org.openPyro.controls.Label;
 	import org.openPyro.controls.events.ButtonEvent;
@@ -8,9 +11,10 @@
 	import org.openPyro.events.PyroEvent;
 	import org.openPyro.painters.IPainter;

-	import flash.display.DisplayObject;
-	import flash.text.TextFormat;
-
+	/**
+	 * Class used for creating Button skins specified by painters that define
+	 * the different button states.
+	 */
 	public class AuroraPainterButtonSkin extends UIControl implements IStateFulClient
 	{
 		/**
@@ -124,6 +128,17 @@
 			this.invalidateDisplayList();
 		}

+		public function setPainters(upPainter:IPainter, overPainter:IPainter=null, downPainter:IPainter=null):AuroraPainterButtonSkin{
+			painters = upPainter;
+			if(overPainter){
+				this.overPainter = overPainter
+			}
+			if(downPainter){
+				this.downPainter = downPainter;
+			}
+			return this;
+		}
+
 /*		public function set stroke(str:Stroke):void
 		{
 			_stroke = str;


Transferred from the Adobe Open Source Subversion Repository

Revision: 1339
Author:   dloverin@adobe.com
Date:     2008-04-22T15:32:14.516139Z

Log Message:
-----------
Initial check-in for the Marshall Plan changes.

The following managers have been modified to communicate with each other using Events:
SystemManager
FocusManager
PopUpManagerImpl
LayoutManager.

SystemManagerProxy is a new manager class. It acts as a parent for popups that are added to the top-level system manager from other sandboxes. SystemMangerProxy is added to the top-level system manager, carrying along its child popup with it.

SWFLoader.as has been modified to listen for new SystemManagers that are added in a sandbox or loaded into a peer ApplicationDomain.

Non-manager classes have been modified to use the new api in ISystemManager2 and IFocusManager2. Another common modification is to catch security errors when a component tries to access its parent.

Panel
Alert
Button
ListBase
IContainer
UIComponent
IFocusManagerContainer
NameUtil

New Events:
AddEventListenerRequest
FocusRequest
PopupRequest
RemoveEventListenerRequest
SandboxBridgeEvent
SandboxBridgeRequest
SandboxMouseEvent
ShowAlertRequest
ShowModalWindowRequest
SizeRequest

New Package:
sandbox

New Utility:
EventUtil - utilities for Event and EventDispatcher.

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/IFocusManager2.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/ShowModalWindowRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/AddEventListenerRequest.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/utils/NameUtil.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/SandboxBridgeEvent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/RemoveEventListenerRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/core/IContainer.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/ShowAlertRequest.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/sandbox/SandboxBridgeGroup.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/sandbox/ISandboxBridgeProvider.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/sandbox/ISandboxBridgeGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/ISystemManager2.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/PopupRequest.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/core/ProxyEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/IFocusManagerContainer.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/SandboxBridgeRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/sandbox</path>
<path kind="file" action="A">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/IFocusManagerBridge.as</path>

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

--- frameworks/projects/framework/src/mx/utils/EventUtil.as
+++ frameworks/projects/framework/src/mx/utils/EventUtil.as
@@ -0,0 +1,52 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.utils
+{
+
+import flash.events.MouseEvent;
+
+/**
+ * Utilities to help in handling Events or Event Dispatching.
+ *
+ */
+public class EventUtil
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 * Determine if the type of an event is a mouse event.
+	 *
+	 * @return true if the type is a one of the events in MouseEvent, false otherwise.
+	 *
+	 */
+	public static function isMouseEvent(type:String):Boolean
+	{
+		if (type == MouseEvent.CLICK || type == MouseEvent.DOUBLE_CLICK ||
+			type == MouseEvent.MOUSE_DOWN || type == MouseEvent.MOUSE_MOVE ||
+			type == MouseEvent.MOUSE_OUT || type == MouseEvent.MOUSE_OVER ||
+			type == MouseEvent.MOUSE_UP ||  type == MouseEvent.MOUSE_WHEEL ||
+			type == MouseEvent.ROLL_OUT ||  type == MouseEvent.ROLL_OVER)
+		{
+			return true;
+		}
+
+		return false;
+	}
+
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6609
Author:   gruehle@adobe.com
Date:     2009-05-04T22:47:31.285324Z

Log Message:
-----------
Add theme attribute to theme-specific style metadata.

Example of a halo-specific style:
[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

Example of a spark-specific style:
[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

Style metadata without a theme attribute is theme-agnostic, and works with either spark or halo.

Bugs: SDK-20606

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FillStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.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/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/IconColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SelectedFillColorsStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.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/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/mx/src/mx/core/ScrollControlBase.as
+++ frameworks/projects/mx/src/mx/core/ScrollControlBase.as
@@ -56,7 +56,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="baseColor", type="uint", format="Color", inherit="yes")]
+[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of the content area of the component.
@@ -68,7 +68,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes")]
+[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of focus ring when the component is in focus
@@ -80,7 +80,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="focusColor", type="uint", format="Color", inherit="yes")]
+[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Style name for horizontal scrollbar.  This allows more control over
@@ -106,7 +106,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="symbolColor", type="uint", format="Color", inherit="yes")]
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Style name for vertical scrollbar.  This allows more control over


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPAttribute.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPAttribute.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+import mx.collections.IList;
+
+/**
+ *  The IOLAPAttribute interface represents
+ *  an attribute within a dimension of an OLAP schema.
+ *.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IOLAPAttribute extends IOLAPHierarchy
+{
+
+}
+}