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

--- frameworks/projects/rpc/src/mx/rpc/xml/SchemaTypeRegistry.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/SchemaTypeRegistry.as
@@ -0,0 +1,204 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+import flash.utils.getDefinitionByName;
+import flash.utils.getQualifiedClassName;
+
+/**
+ * XMLDecoder uses this class to map an XML Schema type by QName to an
+ * ActionScript Class so that it can create strongly typed objects when
+ * decoding content. If the type is unqualified the QName uri may
+ * be left null or set to the empty String.
+ *

+ * It is important to note that the desired Class must be linked into the SWF
+ * and possess a default constructor in order for the XMLDecoder to create a
+ * new instance of the type, otherwise an anonymous Object will be used to
+ * hold the decoded properties.
+ *

+ */
+public class SchemaTypeRegistry
+{
+    //--------------------------------------------------------------------------
+    //
+    // Class Methods
+    //
+    //--------------------------------------------------------------------------
+
+    public static function getInstance():SchemaTypeRegistry
+    {
+        if (_instance == null)
+            _instance = new SchemaTypeRegistry();
+
+        return _instance;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * @private
+     */
+    public function SchemaTypeRegistry()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Looks for a registered Class for the given type.
+     * @param type The QName or String representing the type name.
+     * @return Returns the Class for the given type, or null of the type
+     * has not been registered.
+     */
+    public function getClass(type:Object):Class
+    {
+        var c:Class;
+        if (type != null)
+        {
+            var key:String = getKey(type);
+            var definitionName:String = classMap[key] as String;
+
+            if (definitionName != null)
+                c = getDefinitionByName(definitionName) as Class;
+        }
+        return c;
+    }
+
+    /**
+     * @param type The QName or String representing the collection type name.
+     */
+    public function getCollectionClass(type:Object):Class
+    {
+        var c:Class;
+        if (type != null)
+        {
+            var key:String = getKey(type);
+            var definitionName:String = collectionMap[key] as String;
+
+            if (definitionName != null)
+                c = getDefinitionByName(definitionName) as Class;
+        }
+        return c;
+    }
+
+    /**
+     * Maps a type QName to a Class definition. The definition can be a String
+     * representation of the fully qualified class name or an instance of the
+     * Class itself.
+     * @param type The QName or String representation of the type name.
+     * @param definition The Class itself or class name as a String.
+     */
+    public function registerClass(type:Object, definition:Object):void
+    {
+        register(type, definition, classMap);
+    }
+
+    /**
+     * Maps a type name to a collection Class. A collection is either the
+     * top level Array type, or an implementation of mx.collections.IList.
+     * The definition can be a String representation of the fully qualified
+     * class name or an instance of the Class itself.
+     */
+    public function registerCollectionClass(type:Object, definition:Object):void
+    {
+        register(type, definition, collectionMap);
+    }
+
+    /**
+     * Removes a Class from the registry for the given type.
+     * @param type The QName or String representation of the type name.
+     */
+    public function unregisterClass(type:Object):void
+    {
+        if (type != null)
+        {
+            var key:String = getKey(type);
+            delete classMap[key];
+        }
+    }
+
+    /**
+     * Removes a collection Class from the registry for the given type.
+     * @param type The QName or String representation of the collection type
+     * name.
+     */
+    public function unregisterCollectionClass(type:Object):void
+    {
+        if (type != null)
+        {
+            var key:String = getKey(type);
+            delete collectionMap[key];
+        }
+    }
+
+    /**
+     * @private
+     * Converts the given type name into a consistent String representation
+     * that serves as the key to the type map.
+     * @param type The QName or String representation of the type name.
+     */
+    private function getKey(type:Object):String
+    {
+        var key:String;
+        if (type is QName)
+        {
+            var typeQName:QName = type as QName;
+            if (typeQName.uri == null || typeQName.uri == "")
+                key = typeQName.localName;
+            else
+                key = typeQName.toString();
+        }
+        else
+        {
+            key = type.toString();
+        }
+        return key;
+    }
+
+    /**
+     * @private
+     */
+    private function register(type:Object, definition:Object, map:Object):void
+    {
+        var key:String = getKey(type);
+        var definitionName:String;
+        if (definition is String)
+            definitionName = definition as String;
+        else
+            definitionName = getQualifiedClassName(definition);
+
+        map[key] = definitionName;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var classMap:Object = {};
+    private var collectionMap:Object = {};
+    private static var _instance:SchemaTypeRegistry;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -1095,10 +1095,10 @@

         // Set the font context in non-UIComponent children.
         // UIComponent children use moduleFactory.
-        if (child is IFontContextComponent && !child is UIComponent &&
-            IFontContextComponent(child).fontContext == null)
-        {
-            IFontContextComponent(child).fontContext = moduleFactory;
+        if (element is IFontContextComponent && !(element is UIComponent) &&
+            IFontContextComponent(element).fontContext == null)
+        {
+            IFontContextComponent(element).fontContext = moduleFactory;
         }

         if (element is IGraphicElement)


Unwrapped.

Unwrapped.

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

--- src/as/com/threerings/flash/MediaContainer.as
+++ src/as/com/threerings/flash/MediaContainer.as
@@ -623,8 +623,7 @@
     /**
      * Update the graphics to indicate how much is loaded.
      */
-    protected function updateLoadingProgress (
-            soFar :Number, total :Number) :void
+    protected function updateLoadingProgress (soFar :Number, total :Number) :void
     {
         // nada, by default
     }


Removed cruft that long ago was promoted to its own file.

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

--- src/as/com/threerings/presents/dobj/DEvent.as
+++ src/as/com/threerings/presents/dobj/DEvent.as
@@ -116,32 +116,3 @@
     protected static const UNSET_OLD_ENTRY :DSet_Entry = new DummyEntry();
 }
 }
-
-/*
-import com.threerings.presents.dobj.DSet_Entry;
-
-import com.threerings.io.ObjectInputStream;
-import com.threerings.io.ObjectOutputStream;
-
-class DummyEntry implements DSet_Entry
-{
-    public function DummyEntry ()
-    {
-    }
-
-    public function getKey () :Object
-    {
-        return null; // dummy
-    }
-
-    public function writeObject (out :ObjectOutputStream) :void
-    {
-        // dummy
-    }
-
-    public function readObject (ins :ObjectInputStream) :void
-    {
-        // dummy
-    }
-}
-*/


Added equals method to ManagedObjectId.

Added equals method to ManagedObjectId.

--- src/Modi/ManagedObjectId.as
+++ src/Modi/ManagedObjectId.as
@@ -43,5 +43,10 @@
         {
             return _objectId != "none" && _objectId != "";
         }
+
+        public function equals(other:ManagedObjectId):Boolean
+        {
+            return _objectId == other.objectId;
+        }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17501
Author:   jasonsj@adobe.com
Date:     2010-08-27T19:44:32.469540Z

Log Message:
-----------
Added titleDisplay CSS ID selector for styling titleContent separately from other content of ActionBar. Fixes SDK-27583 where verticalAlign=JUSTIFY and fontSize style in ActionBar were sizing TextInput to be larger than normal.
Fixed ActionButtonSkin and NavigationButtonSkin measurement to use ButtonSkinBase measurements.

QE notes:
Doc notes:
Bugs:
SDK-27583 TextInput default height is too large in ActionBar
SDK-27593 ActionContent and NavigationContent buttons are getting truncated
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -11,16 +11,13 @@

 package spark.skins.mobile
 {
-import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.text.TextLineMetrics;

-import mx.core.FlexGlobals;
 import mx.core.ILayoutElement;
 import mx.core.UIComponent;
 import mx.core.UITextField;
 import mx.core.mx_internal;
-import mx.styles.ISimpleStyleClient;

 import spark.components.ActionBar;
 import spark.components.Group;
@@ -67,9 +64,13 @@
     public var hostComponent:ActionBar;

     public var navigationGroup:Group;
+
     public var titleGroup:Group;
+
     public var actionGroup:Group;
+
     public var titleDisplay:TitleDisplayComponent;
+
     private var border:SpriteVisualElement;

     // FIXME (jasonsj): pending mobile styling spec
@@ -89,40 +90,39 @@
         navigationGroup = new Group();
         var hLayout:HorizontalLayout = new HorizontalLayout();
         hLayout.horizontalAlign = HorizontalAlign.LEFT;
-        hLayout.verticalAlign = VerticalAlign.JUSTIFY;
+        hLayout.verticalAlign = VerticalAlign.MIDDLE;
         hLayout.gap = 0;
         hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight =
             hLayout.paddingBottom = 0;
         navigationGroup.layout = hLayout;
-        addChild(navigationGroup);

         titleGroup = new Group();
         hLayout = new HorizontalLayout();
         hLayout.horizontalAlign = HorizontalAlign.LEFT;
-        hLayout.verticalAlign = VerticalAlign.JUSTIFY;
+        hLayout.verticalAlign = VerticalAlign.MIDDLE;
         hLayout.gap = 0;
         hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight =
             hLayout.paddingBottom = 0;
         titleGroup.layout = hLayout;
-        addChild(titleGroup);

         actionGroup = new Group();
         hLayout = new HorizontalLayout();
         hLayout.horizontalAlign = HorizontalAlign.RIGHT;
-        hLayout.verticalAlign = VerticalAlign.JUSTIFY;
+        hLayout.verticalAlign = VerticalAlign.MIDDLE;
         hLayout.gap = 0;
         hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight =
             hLayout.paddingBottom = 0;
         actionGroup.layout = hLayout;
+
+        titleDisplay = new TitleDisplayComponent();
+        titleDisplay.percentWidth = 100;
+
+        initializeStyles();
+
+        addChild(navigationGroup);
+        addChild(titleGroup);
         addChild(actionGroup);
-
-        var titleDisplayComp:TitleDisplayComponent = new TitleDisplayComponent();
-        titleDisplayComp.percentWidth = 100;
-        titleDisplayComp.styleName = this;
-        titleDisplay = titleDisplayComp;
-        addChild(titleDisplayComp);
-
-        initializeStyles();
+        addChild(titleDisplay);
     }

     protected function initializeStyles():void
@@ -131,21 +131,23 @@
         navigationGroup.id = "navigationGroup";
         titleGroup.id = "titleGroup";
         actionGroup.id = "actionGroup";
+        titleDisplay.id = "titleDisplay";
     }

     override protected function measure():void
     {
-        var titleComponent:ILayoutElement = (titleGroup.numElements > 0) ? titleGroup : null;
         var titleWidth:Number = 0;
         var titleHeight:Number = 0;

-        if (!titleComponent && (titleDisplay is ILayoutElement))
-            titleComponent = ILayoutElement(titleDisplay);
-
-        if (titleComponent)
-        {
-            titleWidth = titleComponent.getPreferredBoundsWidth();
-            titleHeight = titleComponent.getPreferredBoundsHeight();
+        if (titleGroup && (titleGroup.numElements > 0))
+        {
+            titleWidth = titleGroup.getPreferredBoundsWidth();
+            titleHeight = titleGroup.getPreferredBoundsHeight();
+        }
+        else if (titleDisplay)
+        {
+            titleWidth = titleDisplay.getPreferredBoundsWidth() + (TITLE_PADDING * 2);
+            titleHeight = titleDisplay.getPreferredBoundsHeight();
         }

         measuredMinWidth = measuredWidth =
@@ -257,7 +259,6 @@
 }
 }
 import flash.events.Event;
-import flash.text.TextFormatAlign;
 import flash.text.TextLineMetrics;

 import mx.core.UIComponent;
@@ -294,9 +295,6 @@
     {
         super.createChildren();

-        // FIXME (jasonsj): pending mobile styling spec:
-        //                  drop shadow style
-        //                  textAlign
         titleDisplay = MobileTextField(createInFontContext(MobileTextField));
         titleDisplay.styleProvider = this;
         titleDisplay.editable = false;


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

--- frameworks/projects/spark/src/spark/effects/animation/RepeatBehavior.as
+++ frameworks/projects/spark/src/spark/effects/animation/RepeatBehavior.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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.animation


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

--- frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
+++ frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
@@ -113,7 +113,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="borderColor", type="uint", format="Color", inherit="no")]
+[Style(name="borderColor", type="uint", format="Color", inherit="no", theme="halo")]

 /**
  *  Color of focus ring when the component is in focus
@@ -125,7 +125,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")]

 /**
  *  Invert the direction of the thumbs.
@@ -280,7 +280,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-[Style(name="trackColors", type="Array", arrayType="uint", format="Color", inherit="no")]
+[Style(name="trackColors", type="Array", arrayType="uint", format="Color", inherit="no", theme="halo")]

 /**
  *  Specifies whether to enable track highlighting between thumbs


Always use id for keyframe lookup in Movie

--- runtime/src/main/as/flump/display/Movie.as
+++ runtime/src/main/as/flump/display/Movie.as
@@ -146,13 +146,13 @@
         this.movie = movie;
         var lastItem :String;
         for (var ii :int = 0; ii < keyframes.length && lastItem == null; ii++) {
-            lastItem = keyframes[ii].libraryItem;
+            lastItem = keyframes[ii].id;
         }
         if (!flipbook && lastItem == null) movie.addChild(new Sprite());// Label only layer
         else {
             var multipleItems :Boolean = flipbook;
             for (ii = 0; ii < keyframes.length && !multipleItems; ii++) {
-                multipleItems = keyframes[ii].libraryItem != lastItem;
+                multipleItems = keyframes[ii].id != lastItem;
             }
             if (!multipleItems) movie.addChild(idToDisplayObject(lastItem));
             else {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18259
Author:   deeptika@adobe.com
Date:     2010-10-21T09:02:19.811454Z

Log Message:
-----------
Automation support for item-editing, column resize and header clicks in spark DG
(New xml should be taken from changelist 290001 in perforce)

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkDataGridTabularData.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkUITextFieldGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/manifest_automation_spark.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/AutomationSparkClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/skins/spark/SparkDefaultGridHeaderRendererAutomationImpl.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/gridClasses</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/SparkRichEditableTextAutomationHelper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkDropDownListBaseAutomationImpl.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/gridClasses/SparkGridItemRendererAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGridAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkDropDownListBaseAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkDropDownListBaseAutomationImpl.as
@@ -275,8 +275,16 @@
 					// Usually we dispatch mouseClick events. But as they are handled in a different way
 					// for this component, we are dispatching a roll_over and mouse_down events
 					isOpen = false;
-					help.replayMouseEvent(sparkDropDownListBase.openButton, new MouseEvent(MouseEvent.ROLL_OVER));
-					help.replayMouseEvent(sparkDropDownListBase.openButton, new MouseEvent(MouseEvent.MOUSE_DOWN));
+					if(sparkDropDownListBase.dropDown && event.type == DropDownEvent.OPEN)
+					{
+						// Don't replay open event if combo box is already open. Otherwise it closes it.
+						return true;
+					}
+					else
+					{
+						help.replayMouseEvent(sparkDropDownListBase.openButton, new MouseEvent(MouseEvent.ROLL_OVER));
+						help.replayMouseEvent(sparkDropDownListBase.openButton, new MouseEvent(MouseEvent.MOUSE_DOWN));
+					}

 				}


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

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


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

--- frameworks/projects/mx/src/mx/accessibility/DataGridAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/DataGridAccImpl.as
@@ -27,6 +27,11 @@
 /**
  *  DataGridAccImpl is a subclass of AccessibilityImplementation
  *  which implements accessibility for the DataGrid class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class DataGridAccImpl extends ListBaseAccImpl
 {
@@ -92,6 +97,11 @@
 	 *  Afterwards, when instances of DataGrid are initialized,
 	 *  their accessibilityImplementation property
 	 *  will be set to an instance of this class.

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function enableAccessibility():void
 	{
@@ -123,6 +133,11 @@
 	 *
 	 *  @param master The UIComponent instance that this AccImpl instance
 	 *  is making accessible.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function DataGridAccImpl(master:UIComponent)
 	{


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

--- frameworks/projects/mx/src/mx/accessibility/ListBaseAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ListBaseAccImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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: 5026
Author:   pfarland@adobe.com
Date:     2009-02-20T20:27:07.892548Z

Log Message:
-----------
Changing pseudo-selector matching by allowing an object to decide whether its state matches a pseudo-selector. This allows top level components like FxApplication to decide whether a pseudo-selector matches its document state OR its skin state.

Also modified StyleManager data structure to allow multiple identical selectors to exist per subject while retaining declaration order. This allows programmatic addition of CSSStyleDeclaration's with identical selectors.

Finally, added preparation for qualified vs unqualified class names in type selectors. This is not yet enabled.

QA: Yes, please retest SDK-19127
Doc: Not yet.
Checkintests: Pass
mustella: AdvancedCSS, and other component style testsuites such as Button and MenuBar passed.
Review: Discussed pseudo-selector approach with Glenn. Other API changes will be part of final PARB review.
Bugs:
SDK-19127 - [Advanced CSS] Pseudo Selectors do not work when you change the "currentState" property of an FxApplication.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.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/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProxy.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/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleManager.as
+++ frameworks/projects/framework/src/mx/styles/StyleManager.as
@@ -195,9 +195,9 @@
      *  is the right most simple type selector in a potential selector chain.
      *
      *  @param subject The style subject.
-     *  @return Object of the style declarations of this subject.
+     *  @return Array of style declarations for this subject.
      */
-    public static function getStyleDeclarations(subject:String):Object
+    public static function getStyleDeclarations(subject:String):Array
     {
         return impl.getStyleDeclarations(subject);
     }


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

--- frameworks/projects/mx/src/mx/events/DataGridEventReason.as
+++ frameworks/projects/mx/src/mx/events/DataGridEventReason.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7078
Author:   jimurphy@adobe.com
Date:     2009-05-19T17:37:04.234888Z

Log Message:
-----------
Merged beta1 revisions 7038,7042,7052,7066 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/webapps/webtier/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/webtier/j2ee/coldfusion/build.xml</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/webapps/webtier/WEB-INF/flex/flex-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -951,6 +951,8 @@
      */
     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
+        renderFillForMouseOpaque();
+
         if (layout && layout.useVirtualLayout)
         {
             virtualLayoutUnderway = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20346
Author:   mhorn@adobe.com
Date:     2011-02-17T17:01:02.113472Z

Log Message:
-----------
fix some broken xrefs and make other minor asdoc updates

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

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

--- frameworks/projects/spark/src/spark/core/IGraphicElement.as
+++ frameworks/projects/spark/src/spark/core/IGraphicElement.as
@@ -21,20 +21,20 @@
  *  DisplayObject management.
  *
  *
One typical use case is DisplayObject sharing.
- *  Group, which implements IGraphicElementContainer, organizes its
+ *  the Group class, which implements IGraphicElementContainer, organizes its
  *  IGraphicElement children in sequences that share and draw to
  *  the same DisplayObject.
  *  The DisplayObject is created by the first element in the
  *  sequence.

  *
- *
Another use case is when an element does not derrive from
+ *
Another use case is when an element does not derive from
  *  DisplayObject but instead maintains, creates and/or destroys
- *  its own DisplayObject. The IGraphicElementContainer will ensure to
+ *  its own DisplayObject. The IGraphicElementContainer will
  *  call the element to create the DisplayObject, add the
- *  DisplayObject as its child at the correct index as well as
+ *  DisplayObject as its child at the correct index, and
  *  handle its removal.

  *
- *
Typically a developer extends the GraphicElement class
+ *
Typically, you extend the GraphicElement class
  *  instead of directly implementing the IGraphciElement
  *  interface. The GraphicElement class already provides most of the
  *  required functionality.

@@ -82,7 +82,7 @@

     /**
      *  Indicates the association between this IGraphicElement and its
-     *  display objects.  The IGraphicElementContainer manages this
+     *  display objects. The IGraphicElementContainer manages this
      *  property and the values are one of the DisplayObjectSharingMode enum class.
      *
      *

@@ -127,19 +127,19 @@
      *  Creates a new DisplayObject where this IGraphicElement
      *  is drawn.
      *
-     *  Subsequent calls to the getter of the displayObject property must
-     *  return the same display object.
-     *
-     *  After the DisplayObject is created, the parent IGraphicElementContainer
-     *  will pass along the display objects to the rest of the elements in the sequence.
-     *
-     *  The IGraphicElementContainer ensures that this method is called only when needed.
+     *
Subsequent calls to the getter of the displayObject property must
+     *  return the same display object.

+     *
+     *
After the DisplayObject is created, the parent IGraphicElementContainer
+     *  will pass along the display objects to the rest of the elements in the sequence.

+     *
+     *
The IGraphicElementContainer ensures that this method is called only when needed.

      *
      *
If the element wants to participate in the DisplayObject
      *  sharing, then the new DisplayObject must implement IShareableDisplayObject.
      *  This interface is being used by the IGraphicElementContainer to manage invalidation and
      *  redrawing of the graphic element sequence and typically is not directly
-     *  used by the Developer.

+     *  used by the developer.

      *
      *
To reevaluate the shared sequences, call the
      *  invalidateGraphicElementSharing() method
@@ -153,8 +153,8 @@
      *  @return The display object created.
      *
      *  @see #displayObject
-     *  @see spark.components.IGraphicElementContainer#invalidateGraphicElementSharing
-     *  @see spark.components.IGraphicElementContainer#discardDisplayObject
+     *  @see spark.core.IGraphicElementContainer#invalidateGraphicElementSharing
+     *  @see spark.core.IGraphicElementContainer#discardDisplayObject
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -192,7 +192,7 @@
      *
      *  @see #canShareWithPrevious
      *  @see #canShareWithNext
-     *  @see spark.components.IGraphicElementContainer#invalidateGraphicElementSharing
+     *  @see spark.core.IGraphicElementContainer#invalidateGraphicElementSharing
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -211,7 +211,8 @@
      *  In those cases, this method is not called.

      *
      *  @param element The element that comes before this element in the sequence.
-     *  @return Returns true when this element is compatible with the previous
+     *
+     *  @return Returns true when this element is compatible with the previous
      *  element in the sequence.
      *
      *  @see #canShareWithNext
@@ -230,7 +231,8 @@
      *  in the sequence.
      *
      *  @param element The element that comes after this element in the sequence.
-     *  @return Returns true when this element is compatible with the previous
+     *
+     *  @return Returns true when this element is compatible with the previous
      *  element in the sequence.
      *
      *  @see #canShareWithPrevious
@@ -245,8 +247,8 @@

     /**
      *  Called by IGraphicElementContainer when an IGraphicElement
-     *  is added to or removed from the host.
-     *
Developers typically never need to call this method.

+     *  is added to or removed from the host component.
+     *
You typically never need to call this method.

      *
      *  @param parent The IGraphicElementContainer of this IGraphicElement.
      *


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

--- frameworks/projects/spark/src/spark/events/SkinPartEvent.as
+++ frameworks/projects/spark/src/spark/events/SkinPartEvent.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 spark.events
 {


fixed missing dataSource property in PartitionDataTransform hierarchy

--- WeaveData/src/weave/data/Transforms/PartitionDataTransform.as
+++ WeaveData/src/weave/data/Transforms/PartitionDataTransform.as
@@ -73,7 +73,7 @@
 					dependency: partitionColumn,
 					label: WeaveAPI.globalHashMap.getName(this),
 					hasChildBranches: true,
-					children: function():Array {
+					children: function(parentNode:ColumnTreeNode):Array {
 						var partitionValues:Array = VectorUtils.union(
 							partitionColumn.keys.map(
 								function(key:IQualifiedKey, ..._):String {
@@ -83,7 +83,8 @@
 						);
 						return partitionValues.map(
 							function(partitionValue:String, ..._):* {
-								return {
+								return {
+									dataSource: parentNode.dataSource,
 									dependency: inputColumns,
 									data: partitionValue,
 									hasChildBranches: false,


http://www.igniterealtime.org/community/thread/41159

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

--- src/org/igniterealtime/xiff/vcard/VCard.as
+++ src/org/igniterealtime/xiff/vcard/VCard.as
@@ -38,6 +38,7 @@
 	import org.igniterealtime.xiff.data.im.RosterItemVO;
 	import org.igniterealtime.xiff.data.vcard.VCardExtension;
 	import org.igniterealtime.xiff.events.VCardEvent;
+	import org.igniterealtime.xiff.util.DateTimeParser;

 	/**
 	 * @eventType org.igniterealtime.xiff.events.VCardEvent.AVATAR_LOADED
@@ -449,7 +450,7 @@
 						{
 							var value:String = photo.text();

-							if (photo.localName() == "BINVAL" && value.length > 0 )
+							if ( photo.localName() == "BINVAL" && value.length > 0 )
 							{
 								/*
 								var decoder:Base64Decoder = new Base64Decoder();
@@ -457,7 +458,7 @@
 								_imageBytes = decoder.flush();
 								*/

-								_imageBytes = Base64.decodeToByteArray( value );
+								_imageBytes = Base64.decodeToByteArrayB( value );
 								dispatchEvent( new VCardEvent( VCardEvent.AVATAR_LOADED,
 															   this, true, false ) );
 							}
@@ -559,9 +560,7 @@
 						var bday:String = child.children()[ 0 ];
 						if ( bday != null && bday.length > 8 )
 						{
-							var dateParts:Array = bday.split( "-" );
-							birthDay = new Date( dateParts[ 0 ], int( dateParts[ 1 ] ) -
-												 1, dateParts[ 2 ] );
+							birthDay = DateTimeParser.string2date( bday );
 						}
 						break;


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

--- frameworks/projects/advancedgrids/src/mx/collections/HierarchicalData.as
+++ frameworks/projects/advancedgrids/src/mx/collections/HierarchicalData.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: 19337
Author:   mhorn@adobe.com
Date:     2010-12-13T22:01:27.841985Z

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

Modified Paths:
--------------
<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/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.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/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</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/ListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.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/HSliderTrackSkin.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/ViewNavigatorSkin.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/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.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/HScrollBarSkin.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@1265718 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
@@ -20,6 +20,14 @@
 import spark.skins.mobile.supportClasses.MobileSkin;

+/**
+ *  ActionScript-based skin for VScrollBar components in mobile applications.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
 public class VScrollBarSkin extends MobileSkin
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6464
Author:   hmuller@adobe.com
Date:     2009-05-01T19:25:47.821633Z

Log Message:
-----------
Fixed LayoutBase::getScrollPositionDeltaToElement() for useVirtualLayout=true.  Added LayoutBase::getElementBounds() and added a "get" prefix to the four existing LayoutBase::elementBoundsBelowScrollRect() per the PARB.

QE Notes: The four protected LayoutBase method renames shouldn't break any tests ...
Doc Notes:
Bugs: sdk-20891
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -33,8 +33,8 @@
  *  the measure() method, which calculates the target's default
  *  size.

  *
- *
Subclasses may override methods like elementBoundsAboveScrollRect()
- *  and elementBoundsBelowScrollRect() to customize the way
+ *
Subclasses may override methods like getElementBoundsAboveScrollRect()
+ *  and getElementBoundsBelowScrollRect() to customize the way
  *  the target behaves when it's connected to scrollbars.

  *
  *
Subclasses that support virtualization must respect the
@@ -589,6 +589,49 @@
         var hsp:Number = g.horizontalScrollPosition;
         return new Rectangle(hsp, vsp, g.width, g.height);
     }
+
+    /**
+     *  Returns the specified element's layout bounds as a Rectangle or null
+     *  if the index is invalid, the corresponding element is null
+     *  or includeInLayout=false, or if this layout's target is null.
+     *
+     *  Layout subclasses that support useVirtualLayout=true must
+     *  override this method to compute a potentially approximate value for
+     *  elements that are not in view.
+     *
+     *  @return Returns the specified element's layout bounds.
+     *  @param index Index of the layout element.
+     *
+     *  @see mx.core.ILayoutElement#getLayoutBoundsX
+     *  @see mx.core.ILayoutElement#getLayoutBoundsY
+     *  @see mx.core.ILayoutElement#getLayoutBoundsWidth
+     *  @see mx.core.ILayoutElement#getLayoutBoundsHeight
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    protected function getElementBounds(index:int):Rectangle
+    {
+        var g:GroupBase = target;
+        if (!g)
+            return null;
+
+         var n:int = g.numElements;
+         if ((index < 0) || (index >= n))
+            return null;
+
+         var elt:ILayoutElement = g.getElementAt(index);
+         if (!elt || !elt.includeInLayout)
+            return null;
+
+         var eltX:Number = elt.getLayoutBoundsX();
+         var eltY:Number = elt.getLayoutBoundsY();
+         var eltW:Number = elt.getLayoutBoundsWidth();
+         var eltH:Number = elt.getLayoutBoundsHeight();
+         return new Rectangle(eltX, eltY, eltW, eltH);
+    }

     /**
      *  Returns the bounds of the first layout element that either spans or
@@ -609,9 +652,9 @@
      *  @return Returns the bounds of the first element that spans or is to
      *  the left of the scrollRect’s left edge.
      *
-     *  @see #elementBoundsRightOfScrollRect
-     *  @see #elementBoundsAboveScrollRect
-     *  @see #elementBoundsBelowScrollRect
+     *  @see #getElementBoundsRightOfScrollRect
+     *  @see #getElementBoundsAboveScrollRect
+     *  @see #getElementBoundsBelowScrollRect
      *  @see #getHorizontalScrollPositionDelta
      *
      *  @langversion 3.0
@@ -619,7 +662,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    protected function elementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle
+    protected function getElementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle
     {
         var bounds:Rectangle = new Rectangle();
         bounds.left = scrollRect.left - 1;
@@ -646,9 +689,9 @@
      *  @return Returns the bounds of the first element that spans or is to
      *  the right of the scrollRect’s right edge.
      *
-     *  @see #elementBoundsLeftOfScrollRect
-     *  @see #elementBoundsAboveScrollRect
-     *  @see #elementBoundsBelowScrollRect
+     *  @see #getElementBoundsLeftOfScrollRect
+     *  @see #getElementBoundsAboveScrollRect
+     *  @see #getElementBoundsBelowScrollRect
      *  @see #getHorizontalScrollPositionDelta
      *
      *  @langversion 3.0
@@ -656,7 +699,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    protected function elementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle
+    protected function getElementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle
     {
         var bounds:Rectangle = new Rectangle();
         bounds.left = scrollRect.right;
@@ -687,9 +730,9 @@
      *  @return Returns the bounds of the first element that spans or is
      *  above the scrollRect’s top edge.
      *
-     *  @see #elementBoundsLeftOfScrollRect
-     *  @see #elementBoundsRightScrollRect
-     *  @see #elementBoundsBelowScrollRect
+     *  @see #getElementBoundsLeftOfScrollRect
+     *  @see #getElementBoundsRightScrollRect
+     *  @see #getElementBoundsBelowScrollRect
      *  @see #getVerticalScrollPositionDelta
      *
      *  @langversion 3.0
@@ -697,7 +740,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    protected function elementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
+    protected function getElementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
     {
         var bounds:Rectangle = new Rectangle();
         bounds.top = scrollRect.top - 1;
@@ -724,9 +767,9 @@
      *  @return Returns the bounds of the first element that spans or is
      *  below the scrollRect’s bottom edge.
      *
-     *  @see #elementBoundsLeftOfScrollRect
-     *  @see #elementBoundsRightScrollRect
-     *  @see #elementBoundsAboveScrollRect
+     *  @see #getElementBoundsLeftOfScrollRect
+     *  @see #getElementBoundsRightScrollRect
+     *  @see #getElementBoundsAboveScrollRect
      *  @see #getVerticalScrollPositionDelta
      *
      *  @langversion 3.0
@@ -734,7 +777,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    protected function elementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
+    protected function getElementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
     {
         var bounds:Rectangle = new Rectangle();
         bounds.top = scrollRect.bottom;
@@ -790,13 +833,13 @@
      *
      *

      *
-     *  The implementation calls elementBoundsLeftOfScrollRect() and
-     *  elementBoundsRightOfScrollRect() to determine the bounds of
+     *  The implementation calls getElementBoundsLeftOfScrollRect() and
+     *  getElementBoundsRightOfScrollRect() to determine the bounds of
      *  the elements.  Layout classes usually override those methods instead of
      *  getHorizontalScrollPositionDelta().
      *
-     *  @see #elementBoundsLeftOfScrollRect
-     *  @see #elementBoundsRightOfScrollRect
+     *  @see #getElementBoundsLeftOfScrollRect
+     *  @see #getElementBoundsRightOfScrollRect
      *  @see #getHorizontalScrollPositionDelta
      *
      *  @langversion 3.0
@@ -823,21 +866,21 @@
         // to scroll to the END and minDelta scrolls to HOME.
         var maxDelta:Number = g.contentWidth - scrollRect.right;
         var minDelta:Number = -scrollRect.left;
-        var elementBounds:Rectangle;
+        var getElementBounds:Rectangle;
         switch(scrollUnit)
         {
             case ScrollUnit.LEFT:
             case ScrollUnit.PAGE_LEFT:
                 // Find the bounds of the first non-fully visible element
                 // to the left of the scrollRect.
-                elementBounds = elementBoundsLeftOfScrollRect(scrollRect);
+                getElementBounds = getElementBoundsLeftOfScrollRect(scrollRect);
                 break;

             case ScrollUnit.RIGHT:
             case ScrollUnit.PAGE_RIGHT:
                 // Find the bounds of the first non-fully visible element
                 // to the right of the scrollRect.
-                elementBounds = elementBoundsRightOfScrollRect(scrollRect);
+                getElementBounds = getElementBoundsRightOfScrollRect(scrollRect);
                 break;

             case ScrollUnit.HOME:
@@ -850,7 +893,7 @@
                 return 0;
         }

-        if (!elementBounds)
+        if (!getElementBounds)
             return 0;

         var delta:Number = 0;
@@ -859,37 +902,37 @@
             case ScrollUnit.LEFT:
                 // Snap the left edge of element to the left edge of the scrollRect.
                 // The element is the the first non-fully visible element left of the scrollRect.
-                delta = Math.max(elementBounds.left - scrollRect.left, -scrollRect.width);
+                delta = Math.max(getElementBounds.left - scrollRect.left, -scrollRect.width);
             break;
             case ScrollUnit.RIGHT:
                 // Snap the right edge of the element to the right edge of the scrollRect.
                 // The element is the the first non-fully visible element right of the scrollRect.
-                delta = Math.min(elementBounds.right - scrollRect.right, scrollRect.width);
+                delta = Math.min(getElementBounds.right - scrollRect.right, scrollRect.width);
             break;
             case ScrollUnit.PAGE_LEFT:
             {
                 // Snap the right edge of the element to the right edge of the scrollRect.
                 // The element is the the first non-fully visible element left of the scrollRect.
-                delta = elementBounds.right - scrollRect.right;
+                delta = getElementBounds.right - scrollRect.right;

                 // Special case: when an element is wider than the scrollRect,
                 // we want to snap its left edge to the left edge of the scrollRect.
                 // The delta will be limited to the width of the scrollRect further below.
                 if (delta >= 0)
-                    delta = Math.max(elementBounds.left - scrollRect.left, -scrollRect.width);
+                    delta = Math.max(getElementBounds.left - scrollRect.left, -scrollRect.width);
             }
             break;
             case ScrollUnit.PAGE_RIGHT:
             {
                 // Align the left edge of the element to the left edge of the scrollRect.
                 // The element is the the first non-fully visible element right of the scrollRect.
-                delta = elementBounds.left - scrollRect.left;
+                delta = getElementBounds.left - scrollRect.left;

                 // Special case: when an element is wider than the scrollRect,
                 // we want to snap its right edge to the right edge of the scrollRect.
                 // The delta will be limited to the width of the scrollRect further below.
                 if (delta <= 0)
-                    delta = Math.min(elementBounds.right - scrollRect.right, scrollRect.width);
+                    delta = Math.min(getElementBounds.right - scrollRect.right, scrollRect.width);
             }
             break;
         }
@@ -947,13 +990,13 @@
      *
      *

      *
-     *  The implementation calls elementBoundsAboveScrollRect() and
-     *  elementBoundsBelowScrollRect() to determine the bounds of
+     *  The implementation calls getElementBoundsAboveScrollRect() and
+     *  getElementBoundsBelowScrollRect() to determine the bounds of
      *  the elements.  Layout classes usually override those methods instead of
      *  getVerticalScrollPositionDelta().
      *
-     *  @see #elementBoundsAboveScrollRect
-     *  @see #elementBoundsBelowScrollRect
+     *  @see #getElementBoundsAboveScrollRect
+     *  @see #getElementBoundsBelowScrollRect
      *  @see #getVerticalScrollPositionDelta
      *
      *  @langversion 3.0
@@ -980,21 +1023,21 @@
         // to scroll to the END and minDelta scrolls to HOME.
         var maxDelta:Number = g.contentHeight - scrollRect.bottom;
         var minDelta:Number = -scrollRect.top;
-        var elementBounds:Rectangle;
+        var getElementBounds:Rectangle;
         switch(scrollUnit)
         {
             case ScrollUnit.UP:
             case ScrollUnit.PAGE_UP:
                 // Find the bounds of the first non-fully visible element
                 // that spans right of the scrollRect.
-                elementBounds = elementBoundsAboveScrollRect(scrollRect);
+                getElementBounds = getElementBoundsAboveScrollRect(scrollRect);
                 break;

             case ScrollUnit.DOWN:
             case ScrollUnit.PAGE_DOWN:
                 // Find the bounds of the first non-fully visible element
                 // that spans below the scrollRect.
-                elementBounds = elementBoundsBelowScrollRect(scrollRect);
+                getElementBounds = getElementBoundsBelowScrollRect(scrollRect);
                 break;

             case ScrollUnit.HOME:
@@ -1007,7 +1050,7 @@
                 return 0;
         }

-        if (!elementBounds)
+        if (!getElementBounds)
             return 0;

         var delta:Number = 0;
@@ -1016,37 +1059,37 @@
             case ScrollUnit.UP:
                 // Snap the top edge of element to the top edge of the scrollRect.
                 // The element is the the first non-fully visible element above the scrollRect.
-                delta = Math.max(elementBounds.top - scrollRect.top, -scrollRect.height);
+                delta = Math.max(getElementBounds.top - scrollRect.top, -scrollRect.height);
             break;
             case ScrollUnit.DOWN:
                 // Snap the bottom edge of the element to the bottom edge of the scrollRect.
                 // The element is the the first non-fully visible element below the scrollRect.
-                delta = Math.min(elementBounds.bottom - scrollRect.bottom, scrollRect.height);
+                delta = Math.min(getElementBounds.bottom - scrollRect.bottom, scrollRect.height);
             break;
             case ScrollUnit.PAGE_UP:
             {
                 // Snap the bottom edge of the element to the bottom edge of the scrollRect.
                 // The element is the the first non-fully visible element below the scrollRect.
-                delta = elementBounds.bottom - scrollRect.bottom;
+                delta = getElementBounds.bottom - scrollRect.bottom;

                 // Special case: when an element is taller than the scrollRect,
                 // we want to snap its top edge to the top edge of the scrollRect.
                 // The delta will be limited to the height of the scrollRect further below.
                 if (delta >= 0)
-                    delta = Math.max(elementBounds.top - scrollRect.top, -scrollRect.height);
+                    delta = Math.max(getElementBounds.top - scrollRect.top, -scrollRect.height);
             }
             break;
             case ScrollUnit.PAGE_DOWN:
             {
                 // Align the top edge of the element to the top edge of the scrollRect.
                 // The element is the the first non-fully visible element below the scrollRect.
-                delta = elementBounds.top - scrollRect.top;
+                delta = getElementBounds.top - scrollRect.top;

                 // Special case: when an element is taller than the scrollRect,
                 // we want to snap its bottom edge to the bottom edge of the scrollRect.
                 // The delta will be limited to the height of the scrollRect further below.
                 if (delta <= 0)
-                    delta = Math.min(elementBounds.bottom - scrollRect.bottom, scrollRect.height);
+                    delta = Math.min(getElementBounds.bottom - scrollRect.bottom, scrollRect.height);
             }
             break;
         }
@@ -1095,28 +1138,13 @@
      */
      public function getScrollPositionDeltaToElement(index:int):Point
      {
-        var g:GroupBase = target;
-        if (!g || !clipAndEnableScrolling)
-            return null;
-
-         var n:int = g.numElements;
-         if ((index < 0) || (index >= n))
-            return null;
-
-         var element:ILayoutElement = g.getElementAt(index);
-         if (!element || !element.includeInLayout)
-            return null;
-
-         var scrollR:Rectangle = getScrollRect();
-         if (!scrollR)
+         var elementR:Rectangle = getElementBounds(index);
+         if (!elementR)
             return null;

-         // TODO EGeorgie: helper method?
-         var elementX:Number = element.getLayoutBoundsX();
-         var elementY:Number = element.getLayoutBoundsY();
-         var elementW:Number = element.getLayoutBoundsWidth();
-         var elementH:Number = element.getLayoutBoundsHeight();
-         var elementR:Rectangle = new Rectangle(elementX, elementY, elementW, elementH);
+         var scrollR:Rectangle = getScrollRect();
+         if (!scrollR || !target.clipAndEnableScrolling)
+            return null;

          if (scrollR.containsRect(elementR) || elementR.containsRect(scrollR))
             return null;


Fixed crash in editor.

Fixed crash in editor.

--- Bin/Data/Scripts/Editor/EditorNodeWindow.as
+++ Bin/Data/Scripts/Editor/EditorNodeWindow.as
@@ -487,8 +487,14 @@
     }
     if (type == VAR_RESOURCEREF)
     {
-        ShortStringHash resourceType = serializables[0].attributeInfos[index].type == VAR_RESOURCEREF ?
-            serializables[0].attributes[index].GetResourceRef().type : serializables[0].attributes[index].GetResourceRefList().type;
+        ShortStringHash resourceType;
+        VariantType attrType = serializables[0].attributeInfos[index].type;
+        if (attrType == VAR_RESOURCEREF)
+            resourceType = serializables[0].attributes[index].GetResourceRef().type;
+        else if (attrType == VAR_RESOURCEREFLIST)
+            resourceType = serializables[0].attributes[index].GetResourceRefList().type;
+        else if (attrType == VAR_VARIANTVECTOR)
+            resourceType = serializables[0].attributes[index].GetVariantVector()[subIndex].GetResourceRef().type;

         // Create the resource name on a separate non-interactive line to allow for more space
         CreateAttributeEditorParentTitle(list, name);


fixed BoundingBox.testRay()

fixed BoundingBox.testRay()

--- src/aerys/minko/type/bounding/BoundingBox.as
+++ src/aerys/minko/type/bounding/BoundingBox.as
@@ -17,8 +17,10 @@
 	{
 		use namespace minko_math;

-		minko_math var _min			: Vector4		= new Vector4();
-		minko_math var _max			: Vector4		= new Vector4();
+		private static const TMP_VECTOR4	: Vector4	= new Vector4();
+
+		minko_math var _min			: Vector4			= new Vector4();
+		minko_math var _max			: Vector4			= new Vector4();

 		minko_math var _vertices	: Vector.<Number>	= new Vector.<Number>(24, true);

@@ -57,6 +59,7 @@

 		/**
 		 * http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtinter3.htm
+		 * http://gitorious.org/dimension/dimension/blobs/master/libdimension/prtree.c#line490
 		 *
 		 * @param ray
 		 * @param transform
@@ -64,20 +67,26 @@
 		 *
 		 */
 		public function testRay(ray 		: Ray,
-								transform	: Matrix4x4	= null) : Boolean
+								transform	: Matrix4x4	= null,
+								maxDistance	: Number	= Number.POSITIVE_INFINITY) : Boolean
 		{
 			var localOrigin 	: Vector4	= transform
-				? transform.transformVector(ray.origin)
+				? transform.transformVector(ray.origin, TMP_VECTOR4)
 				: ray.origin;
+			var ox				: Number	= localOrigin.x;
+			var oy				: Number	= localOrigin.y;
+			var oz				: Number	= localOrigin.z;
+
 			var localDirection	: Vector4	= transform
-				? transform.deltaTransformVector(ray.direction)
+				? transform.deltaTransformVector(ray.direction, TMP_VECTOR4)
 				: ray.direction;

 			localDirection.normalize();

-			var ox		: Number	= localOrigin.x;
-			var oy		: Number	= localOrigin.y;
-			var oz		: Number	= localOrigin.z;
+			var dx		: Number	= 1.0 / localDirection.x;
+			var dy		: Number	= 1.0 / localDirection.y;
+			var dz		: Number	= 1.0 / localDirection.z;
+
 			var minX	: Number	= _min.x;
 			var minY	: Number	= _min.y;
 			var minZ	: Number	= _min.z;
@@ -85,7 +94,25 @@
 			var maxY	: Number	= _max.y;
 			var maxZ	: Number	= _max.z;

-			return false;
+			var tx1		: Number	= (minX - ox) * dx;
+			var tx2		: Number	= (maxX - ox) * dx;
+
+			var tmin	: Number	= Math.min(tx1, tx2);
+			var tmax	: Number	= Math.max(tx1, tx2);
+
+			var ty1		: Number	= (minY - oy) * dy;
+			var ty2		: Number	= (maxY - oy) * dy;
+
+			tmin = Math.max(tmin, Math.min(ty1, ty2));
+			tmax = Math.min(tmax, Math.max(ty1, ty2));
+
+			var tz1		: Number	= (minZ - oz) * dz;
+			var tz2		: Number	= (maxZ - oz) * dz;
+
+			tmin = Math.max(tmin, Math.min(tz1, tz2));
+			tmax = Math.min(tmax, Math.max(tz1, tz2));
+
+			return tmax >= Math.max(0, tmin) && tmin < maxDistance;
 		}

 		public function clone() : BoundingBox


M Init texture resource with 1x1 pixel bitmap in loader, to avoid context error during texture load

--- src/aerys/minko/type/loader/TextureLoader.as
+++ src/aerys/minko/type/loader/TextureLoader.as
@@ -59,6 +59,8 @@
 			_mipmap				= enableMipmapping;

 			_textureResource 	= new TextureResource();
+			_textureResource.setContentFromBitmapData(new BitmapData(1, 1), enableMipmapping);
+
 			_isComplete 		= false;
 			_error				= new Signal('TextureLoader.error');
 			_progress			= new Signal('TextureLoader.progress');


fixed TextureLoader to always create an empty TextureResource and fill it whenever possible

--- src/aerys/minko/type/loader/TextureLoader.as
+++ src/aerys/minko/type/loader/TextureLoader.as
@@ -58,15 +58,17 @@
 		{
 			_mipmap		= enableMipmapping;

-			_isComplete = false;
-			_error		= new Signal();
-			_progress	= new Signal();
-			_complete	= new Signal();
+			_textureResource 	= new TextureResource();
+			_isComplete 		= false;
+			_error				= new Signal();
+			_progress			= new Signal();
+			_complete			= new Signal();
 		}

 		public function load(request : URLRequest) : void
 		{
 			var loader : URLLoader = new URLLoader();
+
 			loader.dataFormat = URLLoaderDataFormat.BINARY;
 			loader.addEventListener(ProgressEvent.PROGRESS, onLoadProgressHandler);
 			loader.addEventListener(Event.COMPLETE, onLoadCompleteHandler);
@@ -149,7 +151,6 @@

 			if (displayObject is Bitmap)
 			{
-				_textureResource = new TextureResource();
 				_textureResource.setContentFromBitmapData(Bitmap(displayObject).bitmapData, _mipmap);
 				_complete.execute(this, _textureResource);
 				_isComplete = true;
@@ -157,6 +158,7 @@
 			else
 			{
 				var className : String = getQualifiedClassName(displayObject);
+
 				className = className.substr(className.lastIndexOf(':') + 1);
 				_isComplete = true;
 				throw new Error('No texture can be created from an object of type \'' + className + '\'');
@@ -172,5 +174,25 @@

 			return textureLoader.textureResource;
 		}
+
+		public static function load(request				: URLRequest,
+									enableMipMapping 	: Boolean = true) : TextureResource
+		{
+			var textureLoader : TextureLoader = new TextureLoader(enableMipMapping);
+
+			textureLoader.load(request);
+
+			return textureLoader.textureResource;
+		}
+
+		public static function loadBytes(bytes				: ByteArray,
+										 enableMipMapping 	: Boolean = true) : TextureResource
+		{
+			var textureLoader : TextureLoader = new TextureLoader(enableMipMapping);
+
+			textureLoader.loadBytes(bytes);
+
+			return textureLoader.textureResource;
+		}
 	}
 }


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

--- frameworks/projects/framework/src/mx/accessibility/AccImpl.as
+++ frameworks/projects/framework/src/mx/accessibility/AccImpl.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-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.accessibility
 {


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

--- frameworks/projects/framework/src/mx/core/FlexSimpleButton.as
+++ frameworks/projects/framework/src/mx/core/FlexSimpleButton.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4410
Author:   jszeto@adobe.com
Date:     2009-01-06T22:48:36.629482Z

Log Message:
-----------
FXG Bug Fixes

SDK-18287 RTE when trying to use databinding with FXG graphic assets

Added Bindable metadata back to FilledElement.fill and StrokedElement.stroke. These were causing RTEs because databinding was
attempting to access the fill or stroke before they were created.

SDK-17650 LinearGradient scaleX attribute doesn't work when linear gradient is rotated

When scaleX is set, we now honor the value when the gradient is rotated. Graphics.createGradientBox normally tries to "fit" the gradient into the available space when it is rotated.

SDK-17645 Data binding will not be able to detect assignments to LinearGradient rotation property

Added Bindable metadata to GradientBase.rotation

SDK-18293 mx.filters.ColorMatrixFilter matrix property needs to support a comma delimited String of values

Changed the matrix property from type Array to type Object. The underlying backing variable remains an array. The setter will convert a comma delimited string into an array. The getter will always return an array.

QE Notes: LinearGradient looks different than before when using scaleX and rotation together. Add tests for ColorMatrixFilter.
Doc Notes: Need docs for ColorMatrixFilter. Changed behavior of LinearGradient.scaleX and LinearGradient.rotation.
Bugs: SDK-18287, SDK-17650, SDK-17645, SDK-18293
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/GradientBase.as
+++ frameworks/projects/framework/src/mx/graphics/GradientBase.as
@@ -233,6 +233,7 @@
      */
     private var _rotation:Number = 0.0;

+    [Bindable("propertyChange")]
     [Inspectable(category="General")]

     /**


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

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

 package mx.containers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21377
Author:   smgilson@adobe.com
Date:     2011-06-13T16:36:00.843017Z

Log Message:
-----------
Fix three ASDoc bugs: SDK-30543, and Watson bugs 2770122 and 2876705

QE notes:
Doc notes:
Bugs: SDK-30543, 2770122, and 2876705
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.as</path>

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -675,13 +675,26 @@
     [Inspectable(defaultValue="mx.preloaders.DownloadProgressBar")]

     /**
-     *  Specifies the path of a SWC component class or ActionScript
-     *  component class that defines a custom progress bar.
-     *  A SWC component must be in the same directory as the MXML file
-     *  or in the WEB-INF/flex/user_classes directory of your Flex
-     *  web application.
+     *  The application container supports an application preloader that
+     *  uses a download progress bar to show the download and initialization progress
+     *  of an application SWF file.
+     *  By default, the application preloader is enabled.
+     *  The preloader tracks how many bytes have been downloaded and continually
+     *  updates the progress bar.
+     *
+     *
Use this property to specify the path of a
+     *  component that defines a custom progress indicator.
+     *  To create a custom progress indicator, you typically create a subclass of the
+     *  SparkDownloadProgressBar or DownloadProgressBar class, or create a subclass of
+     *  the flash.display.Sprite class that implements the
+     *  mx.preloaders.IPreloaderDisplay interface.

      *
      *
Note: This property cannot be set by ActionScript code; it must be set in MXML code.

+     *
+     *  @see mx.preloaders.SparkDownloadProgressBar
+     *  @see mx.preloaders.DownloadProgressBar
+     *  @see flash.display.Sprite
+     *  @see mx.preloaders.IPreloaderDisplay
      *
      *  @langversion 3.0
      *  @playerversion Flash 10