Transferred from the Adobe Open Source Subversion Repository

Revision: 10464
Author:   rfrishbe@adobe.com
Date:     2009-09-21T17:40:30.663638Z

Log Message:
-----------
Removing support in Flex framework for compatibility version < 3.  We won't support compatibility-version 2 or 2.01 anymore.  We only keep compatibility-version for one full release, so for Flex 4, we only support compatibility-version = 3.x.

This should reduce our code-size some as we no longer need this old code.  I didn't clean up the compiler's support for compatibility-versioning as it didn't seem worth the effort.

QE notes: -
Doc notes: -
Bugs: SDK-15360
Reviewer: Kevin
Tests run: checkintests, Joan ran all mustella tests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/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/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.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/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.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/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserYearArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuBarItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PanelSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.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/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/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/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/Flex.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>

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

--- frameworks/projects/mx/src/mx/controls/TextInput.as
+++ frameworks/projects/mx/src/mx/controls/TextInput.as
@@ -30,7 +30,6 @@
 import mx.controls.listClasses.IDropInListItemRenderer;
 import mx.controls.listClasses.IListItemRenderer;
 import mx.core.EdgeMetrics;
-import mx.core.FlexVersion;
 import mx.core.IDataRenderer;
 import mx.core.IFlexDisplayObject;
 import mx.core.IFlexModuleFactory;
@@ -458,17 +457,6 @@
      */
     override public function get baselinePosition():Number
     {
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-        {
-            var t:String = text;
-            if (t == "")
-                t = " ";
-
-            return (border && border is IRectangularBorder ?
-                    IRectangularBorder(border).borderMetrics.top :
-                    0)  + measureText(t).ascent;
-        }
-
         if (!validateBaselinePosition())
             return NaN;

@@ -1961,8 +1949,7 @@
             w = DEFAULT_MEASURED_MIN_WIDTH;
             h = measureText(" ").height +
                 bm.top + bm.bottom + UITextField.TEXT_HEIGHT_PADDING;
-            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
-                h += getStyle("paddingTop") + getStyle("paddingBottom");
+            h += getStyle("paddingTop") + getStyle("paddingBottom");
         }
         else
         {
@@ -1971,12 +1958,9 @@

             w = lineMetrics.width + bm.left + bm.right + 8;
             h = lineMetrics.height + bm.top + bm.bottom + UITextField.TEXT_HEIGHT_PADDING;
-
-            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
-            {
-                w += getStyle("paddingLeft") + getStyle("paddingRight");
-                h += getStyle("paddingTop") + getStyle("paddingBottom");
-            }
+
+            w += getStyle("paddingLeft") + getStyle("paddingRight");
+            h += getStyle("paddingTop") + getStyle("paddingBottom");
         }

         measuredWidth = Math.max(w, measuredWidth);
@@ -2018,13 +2002,10 @@
         textField.x = bm.left;
         textField.y = bm.top;

-        if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
-        {
-            textField.x += paddingLeft;
-            textField.y += paddingTop;
-            widthPad += paddingLeft + paddingRight;
-            heightPad += paddingTop + paddingBottom;
-        }
+        textField.x += paddingLeft;
+        textField.y += paddingTop;
+        widthPad += paddingLeft + paddingRight;
+        heightPad += paddingTop + paddingBottom;

         textField.width = Math.max(0, unscaledWidth - widthPad);
         textField.height = Math.max(0, unscaledHeight - heightPad);
@@ -2108,8 +2089,6 @@
             textField.multiline = false;
             textField.tabEnabled = true;
             textField.wordWrap = false;
-            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-                textField.styleName = this;

             textField.addEventListener(Event.CHANGE, textField_changeHandler);
             textField.addEventListener(TextEvent.TEXT_INPUT,


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

--- frameworks/projects/spark/src/spark/core/Version.as
+++ frameworks/projects/spark/src/spark/core/Version.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////

 import mx.core.mx_internal;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12280
Author:   smgilson@adobe.com
Date:     2009-11-30T17:45:36.448234Z

Log Message:
-----------
ASDoc updates in preperation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Move.as
+++ frameworks/projects/spark/src/spark/effects/Move.as
@@ -59,6 +59,8 @@
  *   />
  *  </pre>
  *
+ *  @includeExample examples/MoveEffectExample.mxml
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5


switch this back to && so we only go down this path when sized to content

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
@@ -98,7 +98,7 @@

             var host:UIBase = value as UIBase;

-            if (host.isWidthSizedToContent() || host.isHeightSizedToContent())
+            if (host.isWidthSizedToContent() && host.isHeightSizedToContent())
             {
                 // if both dimensions are sized to content, then only draw the
                 // borders, etc, after a child is added.  The children in an MXML


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as
+++ frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as
@@ -76,9 +76,9 @@
  *  Flex automatically updates them as the user navigates
  *  within the the FileSystemList or FileSystemDataGrid control.

  *
- *
The button does not cause navigation to occur by itself. You must write an
- * event listeners that respond to the click and itemClick events
- * in order to make the button functional. Typically your code
+ *
The button does not cause navigation to occur by itself. You must write
+ *  event listeners that respond to the click and itemClick events
+ *  in order to make the button functional. Typically your code
  *  calls either the navigateBack()
  *  or the navigateForward() method of the FileSystemList
  *  or FileSystemDataGrid control to navigate the control.
@@ -145,7 +145,10 @@
     //----------------------------------

     /**
-     *  The data provider for the FileSystemHistoryButton control.
+     *  The data provider for the FileSystemHistoryButton control. This should
+	 *  be a collection of File objects containing directory locations -- commonly
+	 *  the backHistory or forwardHistory property of
+	 *  a FileSystemList or FileSystemDataGrid control.
      */
     public function get dataProvider():Object
     {


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

--- frameworks/projects/framework/src/mx/effects/effectClasses/PauseInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/PauseInstance.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 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: 6205
Author:   gruehle@adobe.com
Date:     2009-04-23T01:38:10.074915Z

Log Message:
-----------
Add Spark download progress bar. This one operates a bit differently than the Halo version. When the file is being downloaded, the track expands. When the app is initializing, the bar expands in the track. It does not contain any text.

The Halo DLPB is still available. If you want to use it, add 'preloader="mx.preloaders.DownloadProgressBar"' to your Application tag.

Bugs: n/a
QA: Yes, ready for testing
Doc: The new preloaderBaseColor property added to both Application classes includes a first pass at ASDoc comments.
Reviewer: Alex

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/SparkDownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</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/flex4/src/spark/components/Application.as</path>

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

--- frameworks/projects/framework/src/mx/preloaders/SparkDownloadProgressBar.as
+++ frameworks/projects/framework/src/mx/preloaders/SparkDownloadProgressBar.as
@@ -0,0 +1,1007 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.preloaders
+{
+
+import flash.display.DisplayObject;
+import flash.display.GradientType;
+import flash.display.Graphics;
+import flash.display.Loader;
+import flash.display.LoaderInfo;
+import flash.display.Sprite;
+import flash.events.Event;
+import flash.events.IOErrorEvent;
+import flash.events.ProgressEvent;
+import flash.events.TimerEvent;
+import flash.geom.ColorTransform;
+import flash.geom.Matrix;
+import flash.geom.Rectangle;
+import flash.net.URLRequest;
+import flash.system.ApplicationDomain;
+import flash.system.LoaderContext;
+import flash.text.TextField;
+import flash.text.TextFormat;
+import flash.utils.Timer;
+import flash.utils.getDefinitionByName;
+import flash.utils.getTimer;
+
+import mx.core.FlexVersion;
+import mx.events.FlexEvent;
+import mx.events.RSLEvent;
+import mx.graphics.RectangularDropShadow;
+import mx.graphics.RoundedRectangle;
+import mx.managers.ISystemManager;
+
+/**
+ *  The DownloadProgressBar class displays download progress.
+ *  It is used by the Preloader control to provide user feedback
+ *  while the application is downloading and loading.
+ *
+ *
The download progress bar displays information about
+ *  two different phases of the application:
+ *  the download phase and the initialization phase.

+ *
+ *
In the <mx:Application> tag, use the
+ *  the preloader property to specify the name of your subclass.

+ *
+ *
You can implement a custom download progress bar component
+ *  by creating a subclass of the DownloadProgressBar class.
+ *  Do not implement a download progress bar as an MXML component
+ *  because it loads too slowly.

+ *
+ *  @see mx.core.Application
+ *  @see mx.preloaders.IPreloaderDisplay
+ *  @see mx.preloaders.Preloader
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class SparkDownloadProgressBar extends Sprite implements IPreloaderDisplay
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function SparkDownloadProgressBar()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var _barWidth:Number;
+
+	/**
+	 *  @private
+	 */
+	private var _bgSprite:Sprite;
+
+	/**
+	 *  @private
+	 */
+	private var _barSprite:Sprite;
+
+	/**
+	 *  @private
+	 */
+	private var _barFrameSprite:Sprite;
+
+	/**
+	 *  @private
+	 */
+	private var _startTime:int;
+
+	/**
+	 *  @private
+	 */
+	private var _showingDisplay:Boolean = false;
+
+	/**
+	 *  @private
+	 */
+	private var _displayStartCount:uint = 0;
+
+	/**
+	 *  @private
+	 */
+	private var _initProgressCount:uint = 0;
+
+	/**
+	 *  The total number of validation events you expect to get
+	 *  in the initializing phase.  This should be an integer
+	 *  greater or equal to 4 (and note that if it is greater than 4
+	 *  you might have an inefficiency in your initialization code)
+	 *
+	 *  @default 6
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 4
+	 */
+	protected var initProgressTotal:uint = 6;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  visible
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the visible property.
+	 */
+	private var _visible:Boolean = false;
+
+	/**
+	 *  Specifies whether the download progress bar is visible.
+	 *
+	 *
When the Preloader control determines that the progress bar should be displayed,
+	 *  it sets this value to true. When the Preloader control determines that
+	 *  the progress bar should be hidden, it sets the value to false.

+	 *
+	 *
A subclass of the DownloadProgressBar class should never modify this property.
+	 *  Instead, you can override the setter method to recognize when
+	 *  the Preloader control modifies it, and perform any necessary actions.

+	 *
+	 *  @default false
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	override public function get visible():Boolean
+	{
+		return _visible;
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function set visible(value:Boolean):void
+	{
+		if (!_visible && value)
+			show();
+
+		else if (_visible && !value )
+			hide();
+
+		_visible = value;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties: IPreloaderDisplay
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  backgroundAlpha
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the backgroundAlpha property.
+	 */
+	private var _backgroundAlpha:Number = 1;
+
+	/**
+     *  Alpha level of the SWF file or image defined by
+     *  the backgroundImage property, or the color defined by
+	 *  the backgroundColor property.
+	 *  Valid values range from 0 to 1.0.
+	 *
+	 *
You can specify either a backgroundColor
+	 *  or a backgroundImage, but not both.

+	 *
+	 *  @default 1.0
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get backgroundAlpha():Number
+	{
+		if (!isNaN(_backgroundAlpha))
+			return _backgroundAlpha;
+		else
+			return 1;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set backgroundAlpha(value:Number):void
+	{
+		_backgroundAlpha = value;
+	}
+
+	//----------------------------------
+	//  backgroundColor
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the backgroundColor property.
+	 */
+	private var _backgroundColor:uint;
+
+	/**
+     *  Background color of a download progress bar.
+     *  You can have either a backgroundColor or a
+     *  backgroundImage, but not both.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get backgroundColor():uint
+	{
+		return _backgroundColor;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set backgroundColor(value:uint):void
+	{
+		_backgroundColor = value;
+	}
+
+	//----------------------------------
+	//  backgroundImage
+	//----------------------------------
+
+	/**
+	 *  The background image of the application,
+	 *  which is passed in by the preloader.
+	 *  You can specify either a backgroundColor
+	 *  or a backgroundImage, but not both.
+	 *
+	 *
A value of null means "not set".
+	 *  If this style and the backgroundColor style are undefined,
+	 *  the component has a transparent background.

+	 *
+	 *
The preloader does not display embedded images.
+	 *  You can only use images loaded at runtime.

+	 *
+	 *  @default null
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get backgroundImage():Object
+	{
+		return null;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set backgroundImage(value:Object):void
+	{
+		// noop
+	}
+
+	//----------------------------------
+	//  backgroundSize
+	//----------------------------------
+
+	/**
+     *  Scales the image specified by backgroundImage
+     *  to different percentage sizes.
+     *  A value of "100%" stretches the image
+     *  to fit the entire component.
+     *  To specify a percentage value, you must include the percent sign (%).
+     *  A value of "auto", maintains
+     *  the original size of the image.
+	 *
+	 *  @default "auto"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get backgroundSize():String
+	{
+		return null;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set backgroundSize(value:String):void
+	{
+		// noop
+	}
+
+	//----------------------------------
+	//  preloader
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the preloader property.
+	 */
+	private var _preloader:Sprite;
+
+	/**
+	 *  The Preloader class passes in a reference to itself to the display class
+	 *  so that it can listen for events from the preloader.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function set preloader(value:Sprite):void
+	{
+		_preloader = value;
+
+		value.addEventListener(ProgressEvent.PROGRESS, progressHandler);
+		value.addEventListener(Event.COMPLETE, completeHandler);
+
+		value.addEventListener(RSLEvent.RSL_PROGRESS, rslProgressHandler);
+		value.addEventListener(RSLEvent.RSL_COMPLETE, rslCompleteHandler);
+		value.addEventListener(RSLEvent.RSL_ERROR, rslErrorHandler);
+
+		value.addEventListener(FlexEvent.INIT_PROGRESS, initProgressHandler);
+		value.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteHandler);
+	}
+
+	//----------------------------------
+	//  stageHeight
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the stageHeight property.
+	 */
+	private var _stageHeight:Number = 375;
+
+	/**
+	 *  The height of the stage,
+	 *  which is passed in by the Preloader class.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get stageHeight():Number
+	{
+		return _stageHeight;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set stageHeight(value:Number):void
+	{
+		_stageHeight = value;
+	}
+
+	//----------------------------------
+	//  stageWidth
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the stageHeight property.
+	 */
+	private var _stageWidth:Number = 500;
+
+	/**
+	 *  The width of the stage,
+	 *  which is passed in by the Preloader class.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get stageWidth():Number
+	{
+		return _stageWidth;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set stageWidth(value:Number):void
+	{
+		_stageWidth = value;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods:IPreloaderDisplay
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Called by the Preloader after the download progress bar
+	 *  has been added as a child of the Preloader.
+	 *  This should be the starting point for configuring your download progress bar.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function initialize():void
+	{
+		_startTime = getTimer();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+
+	/**
+	 *  Creates the subcomponents of the display.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function createChildren():void
+	{
+		var g:Graphics = graphics;
+
+		// Draw the background first
+		// Same value as StyleManager.NOT_A_COLOR. However, we don't want to bring in StyleManager at this point.
+		if (backgroundColor != 0xFFFFFFFF)
+		{
+			g.beginFill(backgroundColor, backgroundAlpha);
+			g.drawRect(0, 0, stageWidth, stageHeight);
+		}
+
+		// Determine the size
+		var totalWidth:Number = Math.min(stageWidth - 10, 207);
+		var totalHeight:Number = 19;
+		var startX:Number = Math.round((stageWidth - totalWidth) / 2);
+		var startY:Number = Math.round((stageHeight - totalHeight) / 2);
+
+		_barWidth = totalWidth - 10;
+
+		_bgSprite = new Sprite();
+		_barFrameSprite = new Sprite();
+		_barSprite = new Sprite();
+
+		addChild(_bgSprite);
+		addChild(_barFrameSprite);
+		addChild(_barSprite);
+
+		_barFrameSprite.x = _barSprite.x = startX + 5;
+		_barFrameSprite.y = _barSprite.y = startY + 5;
+
+		// Draw the background/shadow
+		g = _bgSprite.graphics;
+		g.lineStyle(1, 0x636363);
+		g.beginFill(0xE8E8E8);
+		g.drawRect(startX, startY, totalWidth, totalHeight);
+		g.endFill();
+		g.lineStyle();
+
+		g = graphics;
+		var ds:RectangularDropShadow = new RectangularDropShadow();
+		ds.color = 0x000000;
+		ds.angle = 90;
+		ds.alpha = .6;
+		ds.distance = 2;
+		ds.drawShadow(g,
+					  startX,
+				 	  startY,
+					  totalWidth,
+					  totalHeight);
+
+
+		var DEFAULT_COLOR:uint = 0xCCCCCC;
+		var DEFAULT_COLOR_VALUE:uint = 0xCC;
+
+		// We don't have a reliable way to get the system manager for the currently
+		// loading application. During normal progres bar instantiation, the parent.parent
+		// is the system manager loading the app, so that is what we'll use.
+		// This is only needed to grab the "preloaderBaseColor" property from the info()
+		// structure.
+		var sm:ISystemManager = parent.parent as ISystemManager;
+		var baseColorObj:Object = sm ? sm.info()["preloaderBaseColor"] : null;
+		var baseColor:uint = baseColorObj != null ? uint(baseColorObj) : DEFAULT_COLOR;
+
+		if (baseColor != DEFAULT_COLOR)
+		{
+			var colorTransform:ColorTransform = new ColorTransform();
+
+            colorTransform.redOffset = ((baseColor & (0xFF << 16)) >> 16) - DEFAULT_COLOR_VALUE;
+            colorTransform.greenOffset = ((baseColor & (0xFF << 8)) >> 8) - DEFAULT_COLOR_VALUE;
+            colorTransform.blueOffset = (baseColor & 0xFF) - DEFAULT_COLOR_VALUE;
+
+            _bgSprite.transform.colorTransform = colorTransform;
+            _barFrameSprite.transform.colorTransform = colorTransform;
+            _barSprite.transform.colorTransform = colorTransform;
+		}
+	}
+
+
+	/**
+	 *  Updates the outer portion of the download progress bar to
+	 *  indicate download progress.
+	 *
+	 *  @param completed Number of bytes of the application SWF file
+	 *  that have been downloaded.
+	 *
+	 *  @param total Size of the application SWF file in bytes.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+	protected function setDownloadProgress(completed:Number, total:Number):void
+	{
+		const outerHighlightColors:Array = [0xFFFFFF, 0xFFFFFF];
+		const outerHighlightAlphas:Array = [0.12, 0.80];
+		const fillColors:Array = [0xA9A9A9, 0xBDBDBD];
+		const fillAlphas:Array = [1, 1];
+		const ratios:Array = [0, 255];
+
+		var w:Number = Math.round(_barWidth * Math.min(completed / total, 1));
+		var h:Number = 9;
+		var g:Graphics = _barFrameSprite.graphics;
+		var m:Matrix = new Matrix();
+
+		m.createGradientBox(w, h, 90);
+
+		g.clear();
+
+		// Outer highlight
+		g.lineStyle(1);
+		g.lineGradientStyle("linear", outerHighlightColors, outerHighlightAlphas, ratios, m);
+		g.drawRect(0, 0, w, h);
+
+		// border/fill
+		g.lineStyle(1, 0x636363);
+		g.beginGradientFill("linear", fillColors, fillAlphas, ratios, m);
+		g.drawRect(1, 1, w - 2, h - 2);
+		g.endFill();
+
+		// highlight
+		g.lineStyle(1, 0, 0.12);
+		g.moveTo(2, h - 1);
+		g.lineTo(2, 2);
+		g.lineTo(w - 2, 2);
+		g.lineTo(w - 2, h - 1);
+	}
+
+
+	/**
+	 *  Updates the inner portion of the download progress bar to
+	 *  indicate initialization progress.
+	 *
+	 *  @param completed Number of initialization steps that
+	 *  have been completed
+	 *
+	 *  @param total Total number of initialization steps
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+	protected function setInitProgress(completed:Number, total:Number):void
+	{
+		const highlightColors:Array = [0xFFFFFF, 0xEAEAEA];
+		const fillColors:Array = [0xFFFFFF, 0xD8D8D8];
+		const alphas:Array = [1, 1];
+		const ratios:Array = [0, 255];
+
+		var w:Number = Math.round(_barWidth * Math.min(completed / total, 1));
+		var h:Number = 9;
+		var g:Graphics = _barSprite.graphics;
+		var m:Matrix = new Matrix();
+
+		m.createGradientBox(w - 6, h - 2, 90, 2, 2);
+
+		g.clear();
+
+		// highlight/fill
+		g.lineStyle(1);
+		g.lineGradientStyle("linear", highlightColors, alphas, ratios, m);
+		g.beginGradientFill("linear", fillColors, alphas, ratios, m);
+		g.drawRect(2, 2, w - 4, h - 4);
+		g.endFill();
+
+		// divider line
+		g.lineStyle(1, 0, 0.55);
+		g.moveTo(w - 1, 2);
+		g.lineTo(w - 1, h - 1);
+	}
+
+	/**
+	 *  @private
+	 *  Make the display class visible.
+	 */
+	private function show():void
+	{
+		_showingDisplay = true;
+		createChildren();
+	}
+
+	/**
+	 *  @private
+	 */
+	private function hide():void
+	{
+	}
+
+	/**
+	 *  Defines the algorithm for determining whether to show
+	 *  the download progress bar while in the download phase.
+	 *
+	 *  @param elapsedTime number of milliseconds that have elapsed
+	 *  since the start of the download phase.
+	 *
+	 *  @param event The ProgressEvent object that contains
+	 *  the bytesLoaded and bytesTotal properties.
+	 *
+	 *  @return If the return value is true, then show the
+	 *  download progress bar.
+	 *  The default behavior is to show the download progress bar
+	 *  if more than 700 milliseconds have elapsed
+	 *  and if Flex has downloaded less than half of the bytes of the SWF file.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function showDisplayForDownloading(elapsedTime:int,
+											  event:ProgressEvent):Boolean
+	{
+		return elapsedTime > 700 &&
+			event.bytesLoaded < event.bytesTotal / 2;
+	}
+
+	/**
+	 *  Defines the algorithm for determining whether to show the download progress bar
+	 *  while in the initialization phase, assuming that the display
+	 *  is not currently visible.
+	 *
+	 *  @param elapsedTime number of milliseconds that have elapsed
+	 *  since the start of the download phase.
+	 *
+	 *  @param count number of times that the initProgress event
+	 *  has been received from the application.
+	 *
+	 *  @return If true, then show the download progress bar.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function showDisplayForInit(elapsedTime:int, count:int):Boolean
+	{
+		return elapsedTime > 300 && count == 2;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Event handlers
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Event listener for the ProgressEvent.PROGRESS event.
+	 *  This implementation updates the progress bar
+	 *  with the percentage of bytes downloaded.
+	 *
+	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function progressHandler(event:ProgressEvent):void
+	{
+		var loaded:uint = event.bytesLoaded;
+		var total:uint = event.bytesTotal;
+
+		var elapsedTime:int = getTimer() - _startTime;
+
+		// Only show the Loading phase if it will appear for awhile.
+		if (!_showingDisplay && showDisplayForDownloading(elapsedTime, event))
+			show();
+
+		if (_showingDisplay)
+			setDownloadProgress(event.bytesLoaded, event.bytesTotal);
+	}
+
+	/**
+	 *  Event listener for the Event.COMPLETE event.
+	 *  The default implementation does nothing.
+	 *
+	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function completeHandler(event:Event):void
+	{
+	}
+
+	/**
+	 *  Event listener for the RSLEvent.RSL_PROGRESS event.
+	 *  The default implementation does nothing.
+	 *
+	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function rslProgressHandler(event:RSLEvent):void
+	{
+	}
+
+	/**
+	 *  Event listener for the RSLEvent.RSL_COMPLETE event.
+	 *
+	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function rslCompleteHandler(event:RSLEvent):void
+	{
+	}
+
+	/**
+	 *  Event listener for the RSLEvent.RSL_ERROR event.
+	 *  This event listner handles any errors detected when downloading an RSL.
+	 *
+	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function rslErrorHandler(event:RSLEvent):void
+	{
+		_preloader.removeEventListener(ProgressEvent.PROGRESS,
+									   progressHandler);
+
+		_preloader.removeEventListener(Event.COMPLETE,
+									   completeHandler);
+
+		_preloader.removeEventListener(RSLEvent.RSL_PROGRESS,
+									   rslProgressHandler);
+
+		_preloader.removeEventListener(RSLEvent.RSL_COMPLETE,
+									   rslCompleteHandler);
+
+		_preloader.removeEventListener(RSLEvent.RSL_ERROR,
+									   rslErrorHandler);
+
+		_preloader.removeEventListener(FlexEvent.INIT_PROGRESS,
+									   initProgressHandler);
+
+		_preloader.removeEventListener(FlexEvent.INIT_COMPLETE,
+									   initCompleteHandler);
+
+		if (!_showingDisplay)
+			show();
+
+		var errorField:ErrorField = new ErrorField(this);
+		errorField.show(event.errorText);
+	}
+
+	/**
+	 *  Event listener for the FlexEvent.INIT_PROGRESS event.
+	 *  This implementation updates the progress bar
+	 *  each time the event is dispatched, and changes the text of the label.
+	 *
+	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function initProgressHandler(event:Event):void
+	{
+		var elapsedTime:int = getTimer() - _startTime;
+		_initProgressCount++;
+
+		if (!_showingDisplay &&
+			showDisplayForInit(elapsedTime, _initProgressCount))
+		{
+			_displayStartCount = _initProgressCount;
+			show();
+
+			// If we are showing the progress for the first
+			// time here, we need to call setDownloadProgress() once to draw
+			// the progress bar background.
+			setDownloadProgress(100, 100);
+		}
+
+		if (_showingDisplay)
+		{
+			setInitProgress(_initProgressCount, initProgressTotal);
+		}
+	}
+
+	/**
+	 *  @private
+	 */
+	private function initCompleteHandler(event:Event):void
+	{
+		dispatchEvent(new Event(Event.COMPLETE));
+	}
+
+}
+
+}
+
+import flash.display.DisplayObject;
+import flash.display.Sprite;
+import flash.text.TextField;
+import flash.text.TextFormat;
+import flash.system.Capabilities;
+import flash.text.TextFieldAutoSize;
+import flash.display.DisplayObjectContainer;
+import flash.display.Stage;
+import mx.preloaders.SparkDownloadProgressBar;
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+/**
+ * @private
+ *
+ * Area to display error messages to help debug startup problems.
+ *
+ */
+class ErrorField extends Sprite
+{
+    private var downloadProgressBar:SparkDownloadProgressBar;
+    private const MIN_WIDTH_INCHES:int = 2;                    // min width of error message in inches
+    private const MAX_WIDTH_INCHES:int = 6;                    // max width of error message in inches
+    private const TEXT_MARGIN_PX:int = 10;
+
+
+ 	//----------------------------------
+	//  labelFormat
+	//----------------------------------
+
+	/**
+	 *  The TextFormat object of the TextField component of the label.
+	 *  This is a read-only property which you must override
+	 *  if you need to change it.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	protected function get labelFormat():TextFormat
+	{
+		var tf:TextFormat = new TextFormat();
+		tf.color = 0x000000;
+
+		tf.font = "Arial";
+		tf.size = 12;
+		return tf;
+	}
+
+
+   /**
+   * @private
+   *
+   * @param - parent - parent of the error field.
+   */
+    public function ErrorField(downloadProgressBar:SparkDownloadProgressBar)
+    {
+    	super();
+        this.downloadProgressBar = downloadProgressBar;
+    }
+
+
+    /**
+    * Create and show the error message.
+    *
+    * @param errorText - text for error message.
+    *
+    *  @langversion 3.0
+    *  @playerversion Flash 9
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
+    */
+    public function show(errorText:String):void
+    {
+    	if (errorText == null || errorText.length == 0)
+    		return;
+
+        var screenWidth:Number = downloadProgressBar.stageWidth;
+        var screenHeight:Number = downloadProgressBar.stageHeight;
+
+        // create the text field for the message and
+        // add it to the parent.
+        var textField:TextField = new TextField();
+
+        textField.autoSize = TextFieldAutoSize.LEFT;
+        textField.multiline = true;
+        textField.wordWrap = true;
+	    textField.background = true;
+     	textField.defaultTextFormat = labelFormat;
+        textField.text = errorText;
+
+        textField.width = Math.max(MIN_WIDTH_INCHES * Capabilities.screenDPI, screenWidth - (TEXT_MARGIN_PX * 2));
+        textField.width = Math.min(MAX_WIDTH_INCHES * Capabilities.screenDPI, textField.width);
+        textField.y = Math.max(0, screenHeight - TEXT_MARGIN_PX - textField.height);
+
+        // center field horizontally
+        textField.x = (screenWidth - textField.width) / 2;
+
+        downloadProgressBar.parent.addChild(this);
+        this.addChild(textField);
+
+    }
+}


Enable processes to run outside flashplayer-stdio envionment.

--- src/stdio/Process.as
+++ src/stdio/Process.as
@@ -13,10 +13,15 @@

     public function Process() {
       instance = this
-      connect(function (): void {
-        listen_for_uncaught_errors()
+
+      if (get_parameter("stdin")) {
+        connect(function (): void {
+          listen_for_uncaught_errors()
+          main()
+        })
+      } else {
         main()
-      })
+      }
     }

     public function main(): void {


init. ArcBallController.pitch to Math.PI / 2

--- src/aerys/minko/scene/controller/camera/ArcBallController.as
+++ src/aerys/minko/scene/controller/camera/ArcBallController.as
@@ -175,6 +175,7 @@
 		{
 			super();

+			_pitch = Math.PI * .5;
 			_lookAt.changed.add(updateNextFrameHandler);
 			_up.changed.add(updateNextFrameHandler);
 		}


fixed bug in natural breaks when there were more bins than distinct values

--- WeaveData/src/weave/data/BinningDefinitions/NaturalJenksBinningDefinition.as
+++ WeaveData/src/weave/data/BinningDefinitions/NaturalJenksBinningDefinition.as
@@ -28,6 +28,7 @@
 	import weave.api.registerLinkableChild;
 	import weave.api.reportError;
 	import weave.compiler.StandardLib;
+	import weave.core.LinkableHashMap;
 	import weave.core.LinkableNumber;
 	import weave.core.StageUtils;
 	import weave.data.AttributeColumns.SecondaryKeyNumColumn;
@@ -272,46 +273,40 @@

 		private function _handleJenksBreaks():void
 		{
-			var countNum:Number = numOfBins.value;
-			var kClassCount:Number =  _sortedValues.length;
-			var kClass:Array = [];
-
-			for(var i:int = 0; i < countNum +1; i++)
-			{
-				kClass.push(0);
-			}
-
+			var k:int,
+				value:Number,
+				data:Array = _sortedValues,
+				kclass:Array = [],
+				countNum:int = 1;
+
+			// don't attempt to generate more bins than there are distinct values
+			value = data[0];
+			for (k = 1; k < data.length; k++)
+			{
+				if (value != data[k])
+				{
+					value = data[k];
+					countNum++;
+					if (countNum >= numOfBins.value)
+						break;
+				}
+			}
+
 			// the calculation of classes will never include the upper and
 			// lower bounds, so we need to explicitly set them
-			kClass[countNum] = _sortedValues[_sortedValues.length -1];
-
-			kClass[0] = _sortedValues[0];
-
+			kclass[countNum] = data[data.length - 1];
+			kclass[0] = data[0];

 			// the lower_class_limits matrix is used as indexes into itself
-			// here: the `kClassCount` variable is reused in each iteration.
-			if(kClassCount>countNum) // we only do this step if the number of values is greater than the number of bins.
-			{
-				while (countNum >=2)
-				{
-					var id:Number = _lower_class_limits[kClassCount][countNum] -2;
-					kClass[countNum -1] = _sortedValues[id];
-					kClassCount = _lower_class_limits[kClassCount][countNum] -1;
-					countNum --;
-				}
-			}
-			// check to see if the 0 and 1 in the array are the same - if so, set 0
-			// to 0:
-			if (kClass[0] == kClass[1])
-			{
-				kClass[0] = 0
-			}
-
-			var binMin:Number;
-			var binMax:Number;
-
-
-			for (var iBin:int = 0; iBin < numOfBins.value; iBin++)
+			// here: the `k` variable is reused in each iteration.
+			k = data.length - 1;
+			while (countNum > 1) {
+				kclass[countNum - 1] = data[_lower_class_limits[k][countNum] - 2];
+				k = _lower_class_limits[k][countNum] - 1;
+				countNum--;
+			}
+
+			for (var iBin:int = 0; iBin < kclass.length - 1; iBin++)
 			{
 				var minIndex:Number;
 				if(iBin == 0)
@@ -320,7 +315,7 @@
 				}
 				else
 				{
-					minIndex = _previousSortedValues.lastIndexOf(kClass[iBin]);
+					minIndex = _previousSortedValues.lastIndexOf(kclass[iBin]);
 					minIndex = minIndex +1;
 				}

@@ -334,12 +329,12 @@
 				else
 				{
 					/* Get the index of the next break */
-					maxIndex = _previousSortedValues.lastIndexOf(kClass[iBin+1]);
+					maxIndex = _previousSortedValues.lastIndexOf(kclass[iBin+1]);
 				}

 				if(maxIndex == -1)
 				{
-					_tempNumberClassifier.max.value = _tempNumberClassifier.min.value ;
+					_tempNumberClassifier.max.value = _tempNumberClassifier.min.value;
 				}
 				else
 				{
@@ -347,17 +342,35 @@
 				}
 				_tempNumberClassifier.minInclusive.value = true;
 				_tempNumberClassifier.maxInclusive.value = true;
+
+				if (_tempNumberClassifier.min.value > _tempNumberClassifier.max.value)
+					continue;

 				//first get name from overrideBinNames
 				var name:String = getOverrideNames()[iBin];
 				//if it is empty string set it from generateBinLabel
-				if(!name)
+				if (!name)
 					name = _tempNumberClassifier.generateBinLabel(_column);
+
 				output.requestObjectCopy(name, _tempNumberClassifier);
 			}

 			// trigger callbacks now because we're done updating the output
 			asyncResultCallbacks.triggerCallbacks();
+		}
+
+		protected function fixMinMaxInclusive():void
+		{
+			var a:Array = output.getObjects(NumberClassifier);
+			for (var i:int = 0; i < a.length; i++)
+			{
+				var nc1:NumberClassifier = a[i];
+				var nc2:NumberClassifier = a[i+1];
+				if (nc1 && nc2 && nc1.max.value == nc2.min.value)
+					nc2.minInclusive.value = !(nc1.maxInclusive.value = (nc1.min.value == nc1.max.value || !nc1.minInclusive.value));
+				var newName1:String = getOverrideNames()[i] || nc1.generateBinLabel(_column);
+				output.renameObject(output.getName(nc1), newName1);
+			}
 		}

 		private function getSumOfNumbers(list:Array):Number


Transferred from the Adobe Open Source Subversion Repository

Revision: 18240
Author:   deeptika@adobe.com
Date:     2010-10-20T09:18:06.060725Z

Log Message:
-----------
Legend code clean up - Readding a few API which were accidentally removed in previous checkin
Adding default styles to CSS files

QE notes: MXCharts.css is added for projects without spark.swc. That css should be added to -theme argument.
Doc notes: MXCharts.css is added for projects without spark.swc. That css should be added to -theme argument.
Bugs:
Reviewer:
Tests run: checkintests, cyclone server
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/Legend.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/MXCharts.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/data_management.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/Legend.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/MXCharts.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/charts.css</path>

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

--- frameworks/projects/charts/src/mx/charts/Legend.as
+++ frameworks/projects/charts/src/mx/charts/Legend.as
@@ -1,7 +1,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2007 Adobe Systems Incorporated
+//  Copyright 2009 Adobe Systems Incorporated
 //  All Rights Reserved.
 //
 //  NOTICE: Adobe permits you to use, modify, and distribute this file
@@ -142,7 +142,7 @@
 	[Event(name="itemMouseUp", type="mx.charts.events.LegendMouseEvent")]

 	/**
-	 *  Dispatched after a child has been added to a container.
+	 *  Dispatched after a child has been added to a legend.
 	 *
 	 *
The childAdd event is dispatched when the addChild()
 	 *  or addChildAt() method is called.
@@ -171,8 +171,8 @@
 	[Event(name="childAdd", type="mx.events.ChildExistenceChangedEvent")]

 	/**
-	 *  Dispatched after the index (among the container children)
-	 *  of a container child changes.
+	 *  Dispatched after the index (among the legend children)
+	 *  of a legend child changes.
 	 *  This event is only dispatched for the child specified as the argument to
 	 *  the setChildIndex() method; it is not dispatched
 	 *  for any other child whose index changes as a side effect of the call
@@ -191,7 +191,7 @@
 	[Event(name="childIndexChange", type="mx.events.IndexChangedEvent")]

 	/**
-	 *  Dispatched before a child of a container is removed.
+	 *  Dispatched before a child of a legend is removed.
 	 *
 	 *
This event is delivered when any of the following methods is called:
 	 *  removeChild(), removeChildAt(),
@@ -209,8 +209,8 @@
 	/**
 	 *  Dispatched when the data property changes.
 	 *
-	 *
When a container is used as a renderer in a List or other components,
-	 *  the data property is used pass to the container
+	 *
When a legend is used as a renderer in a List or other components,
+	 *  the data property is used pass to the legend
 	 *  the data to display.

 	 *
 	 *  @eventType mx.events.FlexEvent.DATA_CHANGE
@@ -251,103 +251,14 @@
 	//  Styles
 	//--------------------------------------

-	//include "../styles/metadata/BarColorStyle.as"
-	//include "../styles/metadata/BorderStyles.as"
-	//include "../styles/metadata/ContainerBackgroundStyles.as"
+	include "../styles/metadata/BorderStyles.as"
 	include "../styles/metadata/PaddingStyles.as"
 	include "../styles/metadata/TextStyles.as"
+	include "../styles/metadata/GapStyles.as"

 	//--------------------------------------
 	//  Styles
 	//--------------------------------------
-
-	/**
-	 *  Horizontal alignment of each child inside its tile cell.
-	 *  Possible values are "left", "center", and
-	 *  "right".
-	 *  If the value is "left", the left edge of each child
-	 *  is at the left edge of its cell.
-	 *  If the value is "center", each child is centered horizontally
-	 *  within its cell.
-	 *  If the value is "right", the right edge of each child
-	 *  is at the right edge of its cell.
-	 *
-	 *  @default "left"
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]
-
-	/**
-	 *  Number of pixels between children in the horizontal direction.
-	 *
-	 *  @default 8
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="horizontalGap", type="Number", format="Length", inherit="no")]
-
-	/**
-	 *  Number of pixels between the container's bottom border and its content area.
-	 *
-	 *  @default 0
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="paddingBottom", type="Number", format="Length", inherit="no")]
-
-	/**
-	 *  Number of pixels between the container's top border and its content area.
-	 *
-	 *  @default 0
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="paddingTop", type="Number", format="Length", inherit="no")]
-
-	/**
-	 *  Vertical alignment of each child inside its tile cell.
-	 *  Possible values are "top", "middle", and
-	 *  "bottom".
-	 *  If the value is "top", the top edge of each child
-	 *  is at the top edge of its cell.
-	 *  If the value is "middle", each child is centered vertically
-	 *  within its cell.
-	 *  If the value is "bottom", the bottom edge of each child
-	 *  is at the bottom edge of its cell.
-	 *
-	 *  @default "top"
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="verticalAlign", type="String", enumeration="bottom,middle,top", inherit="no")]
-
-	/**
-	 *  Number of pixels between children in the vertical direction.
-	 *
-	 *  @default 6
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="verticalGap", type="Number", format="Length", inherit="no")]

 	/**
 	 *  Accent color used by component skins. The default button skin uses this color
@@ -374,7 +285,70 @@
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
 	 */
-	[Style(name="backgroundAttachment", type="String", inherit="no")]
+	[Style(name="backgroundAttachment", type="String", inherit="no")]
+
+	/**
+	 *  Alpha level of the color defined by the backgroundColor
+	 *  property, of the image or SWF file defined by the backgroundImage
+	 *  style.
+	 *  Valid values range from 0.0 to 1.0. For most controls, the default value is 1.0,
+	 *  but for ToolTip controls, the default value is 0.95 and for Alert controls, the default value is 0.9.
+	 *
+	 *  @default 1.0
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="backgroundAlpha", type="Number", inherit="no", theme="halo, spark")]
+
+	/**
+	 *  Background color of a component.
+	 *  You can have both a backgroundColor and a
+	 *  backgroundImage set.
+	 *  Some components do not have a background.
+	 *  The DataGrid control ignores this style.
+	 *  The default value is undefined, which means it is not set.
+	 *  If both this style and the backgroundImage style
+	 *  are undefined, the component has a transparent background.
+	 *
+	 *
For the Application container, this style specifies the background color
+	 *  while the application loads, and a background gradient while it is running.
+	 *  Flex calculates the gradient pattern between a color slightly darker than
+	 *  the specified color, and a color slightly lighter than the specified color.

+	 *
+	 *
The default skins of most Flex controls are partially transparent. As a result, the background color of
+	 *  a container partially "bleeds through" to controls that are in that container. You can avoid this by setting the
+	 *  alpha values of the control's fillAlphas property to 1, as the following example shows:
+	 *

+	 *  <mx:Container backgroundColor="0x66CC66"/>
+	 *      <mx:ControlName ... fillAlphas="[1,1]"/>
+	 *  </mx:Container>

+	 *

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="backgroundColor", type="uint", format="Color", inherit="no", theme="halo, spark")]
+
+	/**
+	 *  Determines the color of a ProgressBar.
+	 *  A ProgressBar is filled with a vertical gradient between this color
+	 *  and a brighter color computed from it.
+	 *  This style has no effect on other components, but can be set on a container
+	 *  to control the appearance of all progress bars found within.
+	 *  The default value is undefined, which means it is not set.
+	 *  In this case, the themeColor style property is used.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="barColor", type="uint", format="Color", inherit="yes", theme="halo")]

 	/**
 	 *  The alpha of the content background for this component.
@@ -436,6 +410,26 @@
 	[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]

 	/**
+	 *  Horizontal alignment of each child inside its tile cell.
+	 *  Possible values are "left", "center", and
+	 *  "right".
+	 *  If the value is "left", the left edge of each child
+	 *  is at the left edge of its cell.
+	 *  If the value is "center", each child is centered horizontally
+	 *  within its cell.
+	 *  If the value is "right", the right edge of each child
+	 *  is at the right edge of its cell.
+	 *
+	 *  @default "left"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]
+
+	/**
 	 *  The name of the horizontal scrollbar style.
 	 *
 	 *  @default undefined
@@ -448,19 +442,39 @@
 	[Style(name="horizontalScrollBarStyleName", type="String", inherit="no")]

 	/**
-	 *  The name of the vertical scrollbar style.
-	 *
-	 *  @default undefined
+	 *  Specifies the label placement of the legend element.
+	 *  Valid values are "top", "bottom",
+	 *  "right", and "left".
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
 	 */
-	[Style(name="verticalScrollBarStyleName", type="String", inherit="no")]
+	[Style(name="labelPlacement", type="String", enumeration="top,bottom,right,left", inherit="yes")]

 	/**
-	 *  Number of pixels between the container's bottom border
+	 *  Specifies the height of the legend element.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="markerHeight", type="Number", format="Length", inherit="yes")]
+
+	/**
+	 *  Specifies the width of the legend element.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="markerWidth", type="Number", format="Length", inherit="yes")]
+
+	/**
+	 *  Number of pixels between the legend's bottom border
 	 *  and the bottom of its content area.
 	 *
 	 *  @default 0
@@ -473,7 +487,7 @@
 	[Style(name="paddingBottom", type="Number", format="Length", inherit="no")]

 	/**
-	 *  Number of pixels between the container's top border
+	 *  Number of pixels between the legend's top border
 	 *  and the top of its content area.
 	 *
 	 *  @default 0
@@ -496,13 +510,62 @@
 	 *  @playerversion AIR 1.5
 	 *  @productversion Flex 4
 	 */
-	[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
+	[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+	/**
+	 *  Specifies the line stroke for the legend element.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="stroke", type="Object", inherit="no")]
+
+	/**
+	 *  Vertical alignment of each child inside its tile cell.
+	 *  Possible values are "top", "middle", and
+	 *  "bottom".
+	 *  If the value is "top", the top edge of each child
+	 *  is at the top edge of its cell.
+	 *  If the value is "middle", each child is centered vertically
+	 *  within its cell.
+	 *  If the value is "bottom", the bottom edge of each child
+	 *  is at the bottom edge of its cell.
+	 *
+	 *  @default "top"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="verticalAlign", type="String", enumeration="bottom,middle,top", inherit="no")]
+
+	/**
+	 *  The name of the vertical scrollbar style.
+	 *
+	 *  @default undefined
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	[Style(name="verticalScrollBarStyleName", type="String", inherit="no")]

 	[ResourceBundle("core")]

 	//--------------------------------------
 	//  Excluded APIs
 	//--------------------------------------
+	[Exclude(name="defaultButton", kind="property")]
+	[Exclude(name="horizontalScrollPolicy", kind="property")]
+	[Exclude(name="icon", kind="property")]
+	[Exclude(name="label", kind="property")]
+	[Exclude(name="tileHeight", kind="property")]
+	[Exclude(name="tileWidth", kind="property")]
+	[Exclude(name="verticalScrollPolicy", kind="property")]

 	[Exclude(name="focusIn", kind="event")]
 	[Exclude(name="focusOut", kind="event")]
@@ -514,44 +577,49 @@
 	[Exclude(name="focusInEffect", kind="effect")]
 	[Exclude(name="focusOutEffect", kind="effect")]

+
+	//--------------------------------------
+	//  Other metadata
+	//--------------------------------------
+
+	[DefaultBindingProperty(destination="dataProvider")]
+
+	[DefaultTriggerEvent("itemClick")]
+
+	[IconFile("Legend.png")]
+
 	/**
-	 *  The Container class is an abstract base class for components that
-	 *  controls the layout characteristics of child components.
-	 *  You do not create an instance of Container in an application.
-	 *  Instead, you create an instance of one of Container's subclasses,
-	 *  such as Canvas or HBox.
-	 *
-	 *
The Container class contains the logic for scrolling, clipping,
-	 *  and dynamic instantiation.
-	 *  It contains methods for adding and removing children.
-	 *  It also contains the getChildAt() method, and the logic
-	 *  for drawing the background and borders of containers.

+	 *  The Legend control adds a legend to your charts,
+	 *  where the legend displays the label for each data series in the chart
+	 *  and a key showing the chart element for the series.
+	 *
+	 *
You can initialize a Legend control by binding a chart control
+	 *  identifier to the Legend control's dataProvider property,
+	 *  or you can define an Array of LegendItem objects.

 	 *
 	 *  @mxml
-	 *
-	 *  Flex Framework containers inherit the following attributes from the Container
-	 *  class:

-	 *
+	 *
+	 *
The <mx:Legend> tag inherits all the properties
+	 *  of its parent classes and adds the following properties:

+	 *
 	 *

-	 *  <mx:tagname
+	 *  <mx:Legend
 	 *    Properties
-	 *    autoLayout="true|false"
+	 * 	  autoLayout="true|false"
 	 *    clipContent="true|false"
 	 *    creationIndex="undefined"
 	 *    creationPolicy="auto|all|queued|none"
-	 *    defaultButton="No default"
+	 *    dataProvider="No default"
+	 *    direction="horizontal|vertical"
 	 *    horizontalLineScrollSize="5"
 	 *    horizontalPageScrollSize="0"
 	 *    horizontalScrollBar="null"
-	 *    horizontalScrollPolicy="auto|on|off"
 	 *    horizontalScrollPosition="0"
-	 *    icon="undefined"
-	 *    label=""
+	 *    legendItemClass="No default"
 	 *    verticalLineScrollSize="5"
 	 *    verticalPageScrollSize="0"
 	 *    verticalScrollBar="null"
-	 *    verticalScrollPolicy="auto|on|off"
-	 *    verticalScrollPosition="0"
+	 *    verticalScrollPosition="0"	 *
 	 *
 	 *    Styles
 	 *    backgroundAlpha="1.0"
@@ -560,12 +628,11 @@
 	 *    backgroundDisabledColor="undefined"
 	 *    backgroundImage="undefined"
 	 *    backgroundSize="auto"
-	 *        For the Application container only, backgroundSize="100%"
 	 *    barColor="undefined"
 	 *    borderColor="0xAAB3B3"
 	 *    borderSides="left top right bottom"
 	 *    borderSkin="mx.skins.halo.HaloBorder"
-	 *    borderStyle="inset"
+	 *    borderStyle="inset|none|solid|outset"
 	 *    borderThickness="1"
 	 *    color="0x0B333C"
 	 *    cornerRadius="0"
@@ -581,36 +648,50 @@
 	 *    fontStyle="normal"
 	 *    fontThickness="0"
 	 *    fontWeight="normal"
+	 *    horizontalAlign="left|center|right"
+	 *    horizontalGap="8"
 	 *    horizontalScrollBarStyleName="undefined"
+	 *    labelPlacement="right|left|top|bottom"
+	 *    markerHeight="15"
+	 *    markerWidth="10"
 	 *    paddingBottom="0"
 	 *    paddingLeft="0"
 	 *    paddingRight="0"
 	 *    paddingTop="0"
 	 *    shadowDirection="center"
 	 *    shadowDistance="2"
+	 *    stroke="IStroke; no default"
 	 *    textAlign="left"
 	 *    textDecoration="none|underline"
 	 *    textIndent="0"
+	 *    verticalAlign="top|middle|bottom"
+	 *    verticalGap="6"
 	 *    verticalScrollBarStyleName="undefined"
-	 *
+	 *
 	 *    Events
 	 *    childAdd="No default"
-	 *    childIndexChange="No default"
-	 *    childRemove="No default"
-	 *    dataChange="No default"
-	 *    scroll="No default"
-	 *    >
-	 *      ...
-	 *      child tags
-	 *      ...
-	 *  </mx:tagname>
+ 	 *    childIndexChange="No default"
+     *    childRemove="No default"
+     *    dataChange="No default"
+	 *    itemClick="Event; no default"
+	 *    itemMouseDown="Event; no default"
+	 *    itemMouseOut="Event; no default"
+	 *    itemMouseOver="Event; no default"
+	 *    itemMouseUp="Event; no default"
+     *    scroll="No default"
+	 *  />
 	 *

+	 *
+	 *  @see mx.charts.LegendItem
+	 *
+	 *  @includeExample examples/PlotChartExample.mxml
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
-	 */
+	 */
+
 	public class Legend extends UIComponent implements IContainer

 	{


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

--- frameworks/projects/mx/src/mx/controls/CheckBox.as
+++ frameworks/projects/mx/src/mx/controls/CheckBox.as
@@ -87,6 +87,11 @@
  *  </pre>
  *
  *  @includeExample examples/CheckBoxExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class CheckBox extends Button
 {
@@ -112,6 +117,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function CheckBox()
     {


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

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


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 16623
Author:   klin@adobe.com
Date:     2010-06-23T00:45:44.447218Z

Log Message:
-----------
The following changes apply to Spark DataGrid only.   Code reviews have been deferred until the implementation is closer to completion.

First check-in for GridDimensions implementation and accompanying classes. GridLayout now has basic support for variable row heights and column widths. New classes include:

-GridRowList - an open linked list implementation for caching the row heights.
-GridRowNode - a node that represents the cell heights of a particular row.

I've also included the first round of ASDoc for GridDimensions.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowNode.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridRowList.as</path>

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


fix a DesignPanel colorTransform default value bug

--- DragonBonesDesignPanelLib/src/core/utils/OptimizeDataUtils.as
+++ DragonBonesDesignPanelLib/src/core/utils/OptimizeDataUtils.as
@@ -17,7 +17,7 @@
 		private static var transformValueArray:Array = [0,0,0,0,1,1,0,0];

 		private static var colorTransformPropertyArray:Array = [ConstValues.A_ALPHA_OFFSET, ConstValues.A_RED_OFFSET, ConstValues.A_GREEN_OFFSET, ConstValues.A_BLUE_OFFSET, ConstValues.A_ALPHA_MULTIPLIER,  ConstValues.A_RED_MULTIPLIER,  ConstValues.A_GREEN_MULTIPLIER,  ConstValues.A_BLUE_MULTIPLIER];
-		private static var colorTransformValueArray:Array = [0,0,0,0,1,1,1,1];
+		private static var colorTransformValueArray:Array = [0,0,0,0,100,100,100,100];

 		public static function optimizeData(dragonBonesData:Object):void
 		{


Transferred from the Adobe Open Source Subversion Repository

Revision: 11584
Author:   cframpto@adobe.com
Date:     2009-11-09T21:23:22.307543Z

Log Message:
-----------
FTETextField alignment, indent, blockIndent, and margins.  Looks much better than the first pass I did.

QE notes: 12 tests failed but the current results look good and Peter said I could submit
Doc notes:
Bugs:
Reviewer: Gordon
Tests run: checkintests, FTETextField
Is noteworthy for integration: no

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as

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

--- frameworks/projects/spark/src/mx/core/FTETextField.as
+++ frameworks/projects/spark/src/mx/core/FTETextField.as
@@ -2718,7 +2718,15 @@
 		var nextTextLine:TextLine;
 		var nextY:int = paragraphY;
 		var textLine:TextLine;
-
+
+        // TextField seems to do this.  You can see it with wordWrap and
+        // indent > width or when rightMargin > width.  In the former case,
+        // the first line is visually empty but contains a character which is
+        // clipped and the second line starts with the second letter.
+        // The clipped first line serves as a placeholder so that the rest
+        // of the lines which may be visible are composed.
+		var fitSomething:Boolean = true;
+
 		// Generate TextLines, stopping when we run out of text
 		// or reach the bottom of the requested bounds.
 		// In this loop the lines are positioned within the rectangle
@@ -2740,16 +2748,10 @@

                 maxLineWidth =
                     maxLineWidthBeforeIndent - totalIndent - rightMargin;
-
-                // If right margin larger than width, make 1
-                // character wide to match TextField behavior.  This isn't
-                // an exact match since sometimes 2 characters can fit within
-                // the width.
-                if (rightMargin && maxLineWidth < elementFormat.fontSize)
-                    maxLineWidth = elementFormat.fontSize;
-                else if (maxLineWidth < 0)
-                    maxLineWidth = 0;
-                else if (maxLineWidth > TextLine.MAX_LINE_WIDTH)
+
+                // Stay within the bounds to avoid exception.  Since
+                // fitSomething is true it is okay if maxLineWidth is < 0.
+                if (maxLineWidth > TextLine.MAX_LINE_WIDTH)
                     maxLineWidth = TextLine.MAX_LINE_WIDTH;
             }

@@ -2760,12 +2762,12 @@
 				{
 					nextTextLine = fontContext.callInContext(
 						textBlock["recreateTextLine"], textBlock,
-						[ recycleLine, textLine, maxLineWidth ]);
+						[ recycleLine, textLine, maxLineWidth, 0.0, fitSomething ]);
 				}
 				else
 				{
 					nextTextLine = recreateTextLine(
-						recycleLine, textLine, maxLineWidth);
+						recycleLine, textLine, maxLineWidth, 0.0, fitSomething);
 				}
 			}
 			else
@@ -2774,12 +2776,12 @@
 				{
 					nextTextLine = fontContext.callInContext(
 						textBlock.createTextLine, textBlock,
-						[ textLine, maxLineWidth ]);
+						[ textLine, maxLineWidth, 0.0, fitSomething ]);
 				}
 				else
 				{
 					nextTextLine = textBlock.createTextLine(
-						textLine, maxLineWidth);
+						textLine, maxLineWidth, 0.0, fitSomething);
 				}
 			}

@@ -2838,7 +2840,10 @@
 	 */
 	private function alignTextLines(innerWidth:Number):void
 	{
-        var alignWidth:Number = isNaN(innerWidth) ? _textWidth : innerWidth;
+        // This is only the case when we are auto sizing.  In this case
+        // we don't want to do any alignment.
+        if (isNaN(innerWidth))
+            innerWidth = 0;

         var rightMargin:Number = Number(_defaultTextFormat.rightMargin);

@@ -2867,20 +2872,24 @@
         {
             var textLine:TextLine = TextLine(getChildAt(i));

-            // Adjust text width to include indents and margins so that
-            // autoSize will be correct.
-            var width:Number = textLine.x + textLine.textWidth;
-            if (autoSize == TextFieldAutoSize.NONE || !wordWrap)
-                 width += rightMargin;
+            var width:Number = textLine.x + textLine.textWidth + rightMargin;

             // Only align if there is width to do so.
-            if (leftAligned || width > alignWidth)
+            if (leftAligned || width > innerWidth)
                 textLine.x += leftOffset;
             else if (centerAligned)
                 textLine.x += centerOffset - width / 2;
             else if (rightAligned)
                 textLine.x += rightOffset - width;
-
+
+            // Text width should include indents and margins so that
+            // autoSize will be correct.  A negative rightMargin increases
+            // the width for the purposes of alignment only.
+            // The text still needs to be clipped based on its actual width.
+            width = rightMargin > 0 ?
+                    textLine.x + textLine.textWidth + rightMargin :
+                    textLine.x + textLine.textWidth;
+
             _textWidth = Math.max(_textWidth, width);

             textLine.y += PADDING_TOP;


Transferred from the Adobe Open Source Subversion Repository

Revision: 8131
Author:   chaase@adobe.com
Date:     2009-06-23T23:08:25.193334Z

Log Message:
-----------
Fix for 2 gumbo_priority bugs. One was a miscalculation of a Parallel effect's duration when it had zero-duration child effects, causing a problem when seeking into that parallel effect. The other was a fix to the easing model for transform effects. Now a transform effect will handle easing through its internal keyframes, preserving the behavior specified by the caller (or by the default easing behavior).

QE Notes: None. Behavior for AnimateTransform should be as before, although the way easing is applied to the subclasses has changed (and is now correct)
Doc Notes: None
Bugs: sdk-21477, sdk-21422
Reviewer: Jason
Tests: checkintests, Mustella spark/effects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Move3D.as
+++ frameworks/projects/spark/src/spark/effects/Move3D.as
@@ -82,6 +82,7 @@
         applyChangesPostLayout = true;
         applyLocalProjection = true;
         instanceClass = AnimateTransformInstance;
+        transformEffectSubclass = true;
     }

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


updated parameter name

updated parameter name

Change-Id: I4570c9da0c4e69fdfeaabeda215d13256bacc1f1

--- WeaveAPI/src/weave/api/core/IExternalSessionStateInterface.as
+++ WeaveAPI/src/weave/api/core/IExternalSessionStateInterface.as
@@ -159,7 +159,7 @@
 		 * @param triggerCallbackNow If this is set to true, the callback will be triggered to run during the scheduled time after it is added.
 		 * @return true if objectPath refers to an existing object in the session state.
 		 */
-		function addCallback(objectPath:Array, groupedCallback:String, triggerCallbackNow:Boolean = false):Boolean;
+		function addCallback(objectPath:Array, callback:String, triggerCallbackNow:Boolean = false):Boolean;

 		/**
 		 * This function will remove a callback that was previously added.


more helper refactoring

more helper refactoring

--- vendor/ras3r/ras3r/reaction_view/helpers/TextInputHelper.as
+++ vendor/ras3r/ras3r/reaction_view/helpers/TextInputHelper.as
@@ -5,28 +5,13 @@
 	import ras3r.*;
 	import ras3r.utils.*;

-	dynamic public class TextInputHelper extends ObjectProxy
+	dynamic public class TextInputHelper extends Helper
 	{
 		static public var default_options:Hash = new Hash;

 		static public function create (options:Object = null) :TextInputHelper
 		{
-			options = default_options.merge(options);
-			var text_input:TextInputHelper = new TextInputHelper();
-
-			// set "upSkin" style from "background" option
-/*			if (options.background) text_input.setStyle('upSkin', options.remove('background'));*/
-
-			// apply TextFormat from options.format hash
-			apply_text_format_to(text_input, options);
-
-			// prevent text=null
-			if (options.hasOwnProperty('text')) options.text ||= '';
-
-			// assign TextInput properties from options hash
-			options.apply(text_input);
-
-			return text_input;
+			return (Helper.create(TextInputHelper, options) as TextInputHelper);
 		}

 		static public function apply_text_format_to (text_input:*, options:Object) :void
@@ -62,6 +47,20 @@

 		public var display_object:TextInput = new TextInput();

+		// prevent text=null
+		public function get text () :String
+		{
+			return display_object.text;
+		}
+
+		public function set text (t:String) :void
+		{
+			t ||= '';
+			display_object.text = t;
+		}
+
+
+		// >>> PUBLIC METHODS
 		public function TextInputHelper ()
 		{
 			super(display_object);


Fixed a bug which caused targetting of the wrong field for returning data if multiple fields had DataPoint or Parameter metadata

--- FlexUnit4/src/org/flexunit/internals/dependency/ExternalDependencyResolver.as
+++ FlexUnit4/src/org/flexunit/internals/dependency/ExternalDependencyResolver.as
@@ -103,13 +103,14 @@

 							if ( argument.key == AnnotationArgumentConstants.LOADER ) {
 								loaderFieldName = argument.value;
+
+								loaderField = klassInfo.getField( loaderFieldName );
+								executeDependencyLoader( loaderField, targetField );
+								counter++;
+
 								break;
 							}
 						}
-
-						loaderField = klassInfo.getField( loaderFieldName );
-						executeDependencyLoader( loaderField, targetField );
-						counter++;
 					}
 				}
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19684
Author:   mcho@adobe.com
Date:     2011-01-10T23:28:35.118753Z

Log Message:
-----------
Allow the "alternatingItemColors" style accept a single color

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -639,8 +639,12 @@
             backgroundColor = getStyle("rollOverColor");
         else
         {
-            var alternatingColors:Array = getStyle("alternatingItemColors");
-
+			var alternatingColors:Array;
+            var alternatingColorsStyle:Object = getStyle("alternatingItemColors");
+
+			if (alternatingColorsStyle)
+				alternatingColors = (alternatingColorsStyle is Array) ? (alternatingColorsStyle as Array) : [alternatingColorsStyle];
+
             if (alternatingColors && alternatingColors.length > 0)
             {
                 // translate these colors into uints


Transferred from the Adobe Open Source Subversion Repository

Revision: 5346
Author:   clucier@adobe.com
Date:     2009-03-17T16:23:13.317933Z

Log Message:
-----------
Minor change to default button setup.
Bugs: SDK-19973.
QE Notes: None.
Doc Notes: None.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as

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

--- frameworks/projects/framework/src/mx/managers/FocusManager.as
+++ frameworks/projects/framework/src/mx/managers/FocusManager.as
@@ -403,7 +403,7 @@

             _defaultButton = button;

-            if (defButton != _lastFocus)
+            if (defButton != _lastFocus || _lastFocus == _defaultButton)
             {
                 defButton = button;