Transferred from the Adobe Open Source Subversion Repository

Revision: 6345
Author:   dsubrama@adobe.com
Date:     2009-04-28T18:49:50.634464Z

Log Message:
-----------
Code re-organization, updated ASDoc comments and a few PARB requested re-names (internal methods, shouldn't require updating on the QA side of things).

Reviewer: Me
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -116,10 +116,6 @@
     //
     //--------------------------------------------------------------------------

-    //----------------------------------
-    //  hovered
-    //----------------------------------
-
     /**
      *  @private
      *  Flag that is set when the mouse is hovered over the item renderer.
@@ -134,96 +130,18 @@

     //--------------------------------------------------------------------------
     //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  allowDeselection
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Storage for the allowDeselection property
-     */
-    private var _allowDeselection:Boolean = true;
-
-    /**
-     *  @inheritDoc
-     */
-    public function get allowDeselection():Boolean
-    {
-        return _allowDeselection;
-    }
-
-    /**
-     *  @private
-     */
-    public function set allowDeselection(value:Boolean):void
-    {
-        if (value == _allowDeselection)
-            return;
-
-        _allowDeselection = value;
-    }
-
-    //----------------------------------
-    //  showFocusIndicator
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Storage for the showFocusIndicator property
-     */
-    private var _showFocusIndicator:Boolean = false;
-
-    /**
-     *  @inheritDoc
-     */
-    public function get showFocusIndicator():Boolean
-    {
-        return _showFocusIndicator;
-    }
-
-    /**
-     *  @private
-     */
-    public function set showFocusIndicator(value:Boolean):void
-    {
-        if (value == _showFocusIndicator)
-            return;
-
-        _showFocusIndicator = value;
-        //mx_internal::drawFocusAnyway = true;
-        //drawFocus(value);
-    }
-
-    //----------------------------------
-    //  selected
-    //----------------------------------
-
-    private var _selected:Boolean = false;
-
-    public function get selected():Boolean
-    {
-        return _selected;
-    }
-
-    public function set selected(value:Boolean):void
-    {
-        if (value != _selected)
-        {
-            _selected = value;
-            currentState = getCurrentSkinState();
-        }
-    }
-
+    //  Public Properties
+    //
+    //--------------------------------------------------------------------------
+
     //----------------------------------
     //  labelElement
     //----------------------------------

     /**
      * Optional item renderer label component.
+     * This component is used to determine the renderer's
+     * parent component baselinePosition.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -233,6 +151,95 @@
     public var labelElement:TextGraphicElement;

     //----------------------------------
+    //  allowDeselection
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the allowDeselection property
+     */
+    private var _allowDeselection:Boolean = true;
+
+    /**
+     *  @inheritDoc
+     */
+    public function get allowDeselection():Boolean
+    {
+        return _allowDeselection;
+    }
+
+    /**
+     *  @private
+     */
+    public function set allowDeselection(value:Boolean):void
+    {
+        if (value == _allowDeselection)
+            return;
+
+        _allowDeselection = value;
+    }
+
+    //----------------------------------
+    //  showFocusIndicator
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the showFocusIndicator property
+     */
+    private var _showFocusIndicator:Boolean = false;
+
+    /**
+     *  @inheritDoc
+     */
+    public function get showFocusIndicator():Boolean
+    {
+        return _showFocusIndicator;
+    }
+
+    /**
+     *  @private
+     */
+    public function set showFocusIndicator(value:Boolean):void
+    {
+        if (value == _showFocusIndicator)
+            return;
+
+        _showFocusIndicator = value;
+        //mx_internal::drawFocusAnyway = true;
+        //drawFocus(value);
+    }
+
+    //----------------------------------
+    //  selected
+    //----------------------------------
+    /**
+     *  @private
+     *  storage for the selected property
+     */
+    private var _selected:Boolean = false;
+
+    /**
+     *  @inheritDoc
+     */
+    public function get selected():Boolean
+    {
+        return _selected;
+    }
+
+    /**
+     *  @private
+     */
+    public function set selected(value:Boolean):void
+    {
+        if (value != _selected)
+        {
+            _selected = value;
+            currentState = getCurrentRendererState();
+        }
+    }
+
+    //----------------------------------
     //  labelText
     //----------------------------------
     [Bindable("textChanged")]
@@ -287,74 +294,16 @@

     //--------------------------------------------------------------------------
     //
-    //  Event handling
-    //
-    //--------------------------------------------------------------------------
-
-    override public function styleChanged(styleName:String):void
-    {
-        var allStyles:Boolean = styleName == null || styleName == "styleName";
-
-        super.styleChanged(styleName);
-
-        if (allStyles || styleName == "alternatingItemColors")
-        {
-            conditionalEventDispatch("contentBackgroundColorChanged");
-        }
-
-        if (allStyles || styleName == "contentBackgroundColor")
-        {
-            conditionalEventDispatch("contentBackgroundColorChanged");
-        }
-
-        if (allStyles || styleName == "rollOverColor")
-        {
-            conditionalEventDispatch("rollOverColorChanged");
-        }
-
-        if (allStyles || styleName == "selectionColor")
-        {
-            conditionalEventDispatch("selectionColorChanged");
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
     //  Methods
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    override protected function commitProperties():void
-    {
-    	super.commitProperties();
-
-        if (rendererStateIsDirty)
-        {
-            currentState = getCurrentSkinState();
-            rendererStateIsDirty = false;
-        }
-    }
-
-    /**
-     *  @private
-     *  Attach the mouse events.
-     */
-    protected function addHandlers():void
-    {
-        addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
-        addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
-        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-    }

     /**
      *  @private
      *  Return the skin state. This can be overridden by subclasses to add more states.
      *  NOTE: Undocumented for now since MXMLComponent class has not been fleshed out.
      */
-    protected function getCurrentSkinState():String
+    protected function getCurrentRendererState():String
     {
         if (selected)
             return "selected";
@@ -365,6 +314,73 @@
         return "normal";
     }

+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+    	super.commitProperties();
+
+        if (rendererStateIsDirty)
+        {
+            currentState = getCurrentRendererState();
+            rendererStateIsDirty = false;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleName:String):void
+    {
+        var allStyles:Boolean = styleName == null || styleName == "styleName";
+
+        super.styleChanged(styleName);
+
+        if (allStyles || styleName == "alternatingItemColors")
+        {
+            conditionalEventDispatch("contentBackgroundColorChanged");
+        }
+
+        if (allStyles || styleName == "contentBackgroundColor")
+        {
+            conditionalEventDispatch("contentBackgroundColorChanged");
+        }
+
+        if (allStyles || styleName == "rollOverColor")
+        {
+            conditionalEventDispatch("rollOverColorChanged");
+        }
+
+        if (allStyles || styleName == "selectionColor")
+        {
+            conditionalEventDispatch("selectionColorChanged");
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handling
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Attach the mouse events.
+     */
+    private function addHandlers():void
+    {
+        addEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
+        addEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        addEventListener(MouseEvent.MOUSE_DOWN, itemRenderer_mouseDownHandler);
+    }
+
     /**
      *  @private
      */
@@ -375,30 +391,30 @@
     }

     /**
-     *  @private
+     *
      *  Mouse rollOver event handler.
      */
-    private function rollOverHandler(event:MouseEvent):void
+    protected function itemRenderer_rollOverHandler(event:MouseEvent):void
     {
         hovered = true;
-        currentState = getCurrentSkinState();
-    }
-
-    /**
-     *  @private
+        currentState = getCurrentRendererState();
+    }
+
+    /**
+     *
      *  Mouse rollOut event handler.
      */
-    private function rollOutHandler(event:MouseEvent):void
+    protected function itemRenderer_rollOutHandler(event:MouseEvent):void
     {
         hovered = false;
-        currentState = getCurrentSkinState();
-    }
-
-    /**
-     *  @private
+        currentState = getCurrentRendererState();
+    }
+
+    /**
+     *
      *  Mouse down event handler.
      */
-    private function mouseDownHandler(event:MouseEvent):void
+    protected function itemRenderer_mouseDownHandler(event:MouseEvent):void
     {
         dispatchEvent(new MouseEvent("click"));
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4357
Author:   egreenfi@adobe.com
Date:     2008-12-18T23:52:27.017290Z

Log Message:
-----------
UIComponent now implements ILayoutElement directly

ILayoutElement was moved to mx.core.ILayoutElement, as it is now a core interface required by UIComponent.

Further phases to follow:
1) IVlisualElement to extend ILayoutElement, pending resolution of a compiler bug.
2) remove LayoutElementUIC, pending UIMovieclip implementing ILayoutElement
3) remove LayoutElementFactory, once all IVisualElements implement ILayoutElement directly.
4) remove ITransformable, moving transform properties onto IVisualElement.

Reviewer: Evtim
QA: yes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as" copyfrom-rev="4249" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -27,7 +27,7 @@
 import mx.effects.interpolation.IEaser;
 import mx.effects.interpolation.IInterpolator;
 import mx.events.AnimationEvent;
-import mx.layout.ILayoutElement;
+import mx.core.ILayoutElement;
 import mx.layout.LayoutElementFactory;
 import mx.managers.LayoutManager;
 import mx.styles.IStyleClient;


move when beads attached so that containerview can resize contentarea before layout

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ContainerView.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ContainerView.as
@@ -84,16 +84,6 @@

             var host:UIBase = value as UIBase;

-            if (_strand.getBeadByType(IBeadLayout) == null)
-            {
-                var c:Class = ValuesManager.valuesImpl.getValue(host, "iBeadLayout");
-                if (c)
-                {
-                    var layout:IBeadLayout = new c() as IBeadLayout;
-                    _strand.addBead(layout);
-                }
-            }
-
             if (host.isWidthSizedToContent() && host.isHeightSizedToContent())
             {
                 host.addEventListener("childrenAdded", changeHandler);
@@ -109,6 +99,16 @@
                 else
                     checkActualParent();
             }
+
+            if (_strand.getBeadByType(IBeadLayout) == null)
+            {
+                var c:Class = ValuesManager.valuesImpl.getValue(host, "iBeadLayout");
+                if (c)
+                {
+                    var layout:IBeadLayout = new c() as IBeadLayout;
+                    _strand.addBead(layout);
+                }
+            }
         }

         private function checkActualParent():Boolean


Transferred from the Adobe Open Source Subversion Repository

Revision: 19800
Author:   hmuller@adobe.com
Date:     2011-01-19T17:43:25.081406Z

Log Message:
-----------
GridLayout optimization for GridItemRenderer (custom) item renderers.

IGridItemRenderer ASDoc cleanup.

Removed unused mx_internal method Grid/getDataProviderItemIndex().

GridColumnHeaderGroupLayout sets renderer owner property to dataGrid, as in GridLayout.

QE notes: One Mustella test screenshot to be revised (Jody)
Doc notes:
Bugs:
Reviewer: Carol
Tests run: checkin, mustella
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/UITextFieldGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
@@ -17,23 +17,21 @@
 import spark.components.Grid;

 /**
- *  The IGridItemRenderer interface defines the interface that item renderers
- *  for the Spark DataGrid and Spark Grid controls must implement.
- *  The DataGrid and Grid controls are referred to as the item renderer owner
- *  or as the host component of the item renderer.
- *  The item renderer owner uses this API to provide the item renderer
- *  with the information needed to render one cell of the grid.
+ *  The IGridItemRenderer interface must be implemented by DataGrid item renderers.  The
+ *  DataGrid uses this API to provide the item renderer with the information needed to
+ *  render one grid or header cell.
  *
- *
All of the renderer's properties are set by owner
- *  during the execution of the updateDisplayList() method.
- *  After the properties have been set, Flex calls the item renderer's
- *  prepare() method.
- *  IGridItemRenderer implementations should override the prepare() method
- *  to make any final adjustments to its properties or any aspect of its visual elements.

- *
+ *
All of the renderer's properties are set during the execution of its parent's
+ *  updateDisplayList() method.  After the properties have been set, the
+ *  item renderer's prepare() method is called.
+ *  An IGridItemRenderer implementation should override the prepare() method
+ *  to make any final adjustments to its properties or any aspect of its visual elements.
+ *  Typically, the prepare() is used to configure the renderer's visual
+ *  elements based on the data property.

+ *
  *
When an item renderer is no longer needed, either because it's going to be added
- *  to the owner's internal reusable renderer "free" list,
- *  or because it's no longer needed, the discard() method is called.

+ *  to an internal reusable renderer "free" list, or because it's never going to be
+ *  used again, the IGridItemRenderer discard() method is called.

  *
  *  @see spark.components.DataGrid
  *  @see spark.components.Grid
@@ -68,11 +66,16 @@
     function set rowIndex(value:int):void;

     /**
-     *  Contains true when either two input gestures occurs within a
-     *  grid cell: the mouse button is pressed or the touch screen is pressed.
-     *  The down property is reset to false when
-     *  the mouse button is released, the user lifts their finger off of
-     *  the touch screen, or the selection is dragged off of the grid cell.
+     *  This property is set to true when one of two input gestures occurs within a
+     *  grid cell:  either the mouse button or the touch screen is pressed.   The down
+     *  property is reset to false when the mouse button goes up, the user lifts off
+     *  the touch screen, or the mouse/touch is dragged out of the grid cell.
+     *
+     *
Unlike a List item renderer, grid item renderers do not have exclusive
+     *  responsibility for displaying the down indicator.  The Grid itself
+     *  renders the down indicator for the selected row or cell.
+     *  The item renderer can also change its visual properties to emphasize
+     *  that it's being pressed.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -96,11 +99,18 @@
     function set dragging(value:Boolean):void;

     /**
-     *  Contains true if the item renderer is being hovered over by the mouse.
-     *  The item renderer owner is responsible for drawing the hovered indicator
-     *  for the selected row or cell.
-     *  However, the item renderer can also change its visual properties to emphasize
-     *  that it's being hovered over.
+     *  Contains true if the item renderer is under the mouse and
+     *  the Grid's selectionMode is GridSelectionMode.SINGLE_CELL or
+     *  GridSelectionMode.MULTIPLE_CELLS, or if the mouse is within the
+     *  row the item renderer belongs to and the Grid's selectionMode is
+     *  GridSelectionMode.SINGLE_ROW or
+     *  GridSelectionMode.MULTIPLE_ROWS.
+     *
+     *
Unlike a List item renderer, grid item renderers do not have exclusive
+     *  responsibility for displaying something to indicate that the renderer
+     *  or its row is under the mouse.  The Grid itself automatically displays the
+     *  hoverIndicator skin part for the hovered row or cell.  Grid item renderers
+     *  can also change their properties to emphasize that they're hovered.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -113,9 +123,9 @@
     /**
      *  The string to display in the item renderer.
      *
-     *
For example, the GridItemRenderer class automatically copies the
+     *
The GridItemRenderer class automatically copies the
      *  value of this property to the text property
-     *  of its labelDisplay control.
+     *  of its labelDisplay element, if that element was specified.
      *  The Grid sets the label to the value returned by the column's
      *  itemToLabel() method.

      *
@@ -131,11 +141,14 @@

     /**
      *  Contains true if the item renderer's cell is part
-     *  of the current selection.
-     *  The item renderer owner is responsible for drawing the selection
-     *  indicator for the selected row or cell.
-     *  The item renderer can also change its visual properties
-     *  to emphasize that it's part of the selection.
+     *  of the current selection.
+     *
+     *
 Unlike a List item renderer,
+     *  grid item renderers do not have exclusive responsibility for displaying
+     *  something to indicate that they're part of the selection.  The Grid
+     *  itself automatically displays the selectionIndicator skin part for the
+     *  selected rows or cells.  The item renderer can also change its visual properties
+     *  to emphasize that it's part of the selection.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -146,11 +159,14 @@
     function set selected(value:Boolean):void;

     /**
-     *  Contains true if the item renderer's cell is
-     *  contained within the caret indicator.
-     *  The item renderer owner is responsible for drawing the caret
-     *  indicator for the row or cell.
-     *
+     *  Contains true if the item renderer's cell is indicated by the caret.
+     *
+     *
 Unlike a List item renderer, grid item renderers do not have exclusive
+     *  responsibility for displaying something to indicate their cell or row has
+     *  the caret.  The Grid itself automatically displays the caretIndicator skin part for the
+     *  caret row or cell.  The item renderer can also change its visual properties
+     *  to emphasize that it has the caret.

+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 2.5
@@ -160,11 +176,7 @@
     function set showsCaret(value:Boolean):void;

     /**
-     *  The GridColumn object representing the column
-     *  associated with this item renderer.
-     *
-     *
This property is set by the item renderer owner by its
-     *  updateDisplayList() method.

+     *  The GridColumn object representing the column associated with this item renderer.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -176,7 +188,7 @@

     /**
      *  The column index for this item renderer's cell.
-     *  This is the same value as column.columnIndex.
+     *  This is the same value as column.columnIndex.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -186,7 +198,7 @@
     function get columnIndex():int;

     /**
-     *  Called from the item renderer owner's updateDisplayList() method
+     *  Called from the item renderer parent's updateDisplayList() method
      *  after all of the renderer's properties have been set.
      *  The hasBeenRecycled parameter is false
      *  if this renderer has not been used before, meaning it was not recycled.
@@ -195,16 +207,17 @@
      *  property, or because a redisplay was explicitly requested.
      *
      *
This method can be used to configure all of a renderer's visual
-     *  elements and properties
-     *  using this method can be more efficient data binding.
+     *  elements and properties.
+     *  Using this method can be more efficient than binding data
+     *  properties to visual element properties.
      *  Note: Because the prepare() method is called frequently,
-     *  make sure that it performs only what is absolutely necessary.

+     *  make sure that it is coded efficiently.

      *
      *
The prepare() method may be called many times
      *  before the discard() method is called.

      *
      *
This method is not intended to be called directly.
-     *  It is called by the item renderer owner.

+     *  It is called by the DataGrid implementation.

      *
      *  @param hasBeenRecycled  true if this renderer is being reused.
      *
@@ -216,14 +229,14 @@
     function prepare(hasBeenRecycled:Boolean):void;

     /**
-     *  Called from the item renderer owner's updateDisplayList() method
+     *  Called from the item renderer parent's updateDisplayList() method
      *  when it has been determined that this renderer will no longer be visible.
      *  If the willBeRecycled parameter is true,
      *  then the owner adds this renderer to its internal free list for reuse.
      *  Implementations can use this method to clear any renderer properties that are no longer needed.
      *
      *
This method is not intended to be called directly.
-     *  It is called by the item renderer owner.

+     *  It is called by the DataGrid implementation.

      *
      *  @param willBeRecycled true if this renderer is going to be added
      *  to the owner's internal free list for reuse.


Transferred from the Adobe Open Source Subversion Repository

Revision: 11566
Author:   dsubrama@adobe.com
Date:     2009-11-09T01:52:06.000028Z

Log Message:
-----------
Rectify the mode calculation for luminosity masks and check-in the latest and greatest pbj files from Core Tech.

QE notes: Yes, regress
Doc notes: None
Bugs: SDK-23809
Reviewer: Pete
Tests run: Dynamic and static FXG
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/LuminosityMaskShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Exclusion.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Saturation.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Luminosity.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Color.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/LuminosityMaskFilter.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorDodge.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Hue.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/SoftLight.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorBurn.pbj</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -3208,15 +3208,11 @@
      */
     private function calculateLuminositySettings():int
     {
-        var mode:int = -1;
-        if (luminosityClip && !luminosityInvert)
-            mode = 0;
-        if (luminosityClip && luminosityInvert)
-            mode = 1;
-        if (!luminosityClip && !luminosityInvert)
-            mode = 2;
-        if (!luminosityClip && luminosityInvert)
-            mode = 3;
+        var mode:int = 0;
+        if (luminosityInvert)
+            mode += 1;
+        if (luminosityClip)
+            mode += 2;
         return mode;
     }


Corrected VERSION constant.

Corrected VERSION constant.

--- net/flashpunk/FP.as
+++ net/flashpunk/FP.as
@@ -19,7 +19,7 @@
 		/**
 		 * The FlashPunk version.
 		 */
-		public static const VERSION:String = "1.00 Beta";
+		public static const VERSION:String = "1.00";

 		/**
 		 * Width of the game.


Transferred from the Adobe Open Source Subversion Repository

Revision: 22769
Author:   chiedozi@adobe.com
Date:     2011-09-28T18:01:15.715672Z

Log Message:
-----------
ASDoc and comment updates to SplitViewNavigator and FlipViewTransition

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -791,7 +791,6 @@
         // while we animate.
         transitionGroup = new Group();

-        // FIXME (chiedozi): If navigator isn't at (0,0), I don't think this will work
         // Size the transitionGroup to match the width and height of the navigator
         // so that the parent of the targetNavigator's layout remains unchanged
         transitionGroup.width = targetNavigator.width;


Transferred from the Adobe Open Source Subversion Repository

Revision: 21683
Author:   chiedozi@adobe.com
Date:     2011-07-21T23:18:41.186033Z

Log Message:
-----------
Initial checkin of SplitViewNavigator component and its skin.  This includes small alterations to various ViewTransition classes.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -601,15 +601,6 @@
         transitionGroup.y = viewHeight / 2;
         transitionGroup.z = vertical ? (viewHeight / 2) : (viewWidth / 2);

-		// If we are doing a consolidated effect, we need to shift the transition
-		// group over by the x and y position of the targetNavigator because
-        // the transitionGroup will be the view's parent and not the view
-		if (consolidatedTransition)
-		{
-			transitionGroup.x += targetNavigator.x;
-			transitionGroup.y += targetNavigator.y;
-		}
-
         // Position the 'faces' of our cube.
         if (vertical)
         {
@@ -638,7 +629,16 @@
     {
         var projection:PerspectiveProjection = new PerspectiveProjection();
         projection.fieldOfView = 45;
-        projection.projectionCenter = new Point(viewWidth / 2, viewHeight / 2);
+
+        var centerPoint:Point = new Point(viewWidth / 2, viewHeight / 2);
+
+        if (consolidatedTransition)
+        {
+            centerPoint.x += transitionGroup.x;
+            centerPoint.y += transitionGroup.y;
+        }
+
+        projection.projectionCenter = centerPoint;
         return projection;
     }

@@ -686,13 +686,41 @@
         // views while flipping.  Offset our transition group as necessary to
         // ensure we flip relative to our center.
         transitionGroup = new Group();
-        transitionGroup.includeInLayout=false;
+
+        // Add transition group to the parent of the endView
         addComponentToContainer(transitionGroup, UIComponent(endView.parent));
+
+        // This transition does a lot of reparenting of the views which will cause
+        // multiple ADD and REMOVE events to be dispatched.  Since this event was already
+        // dispatched before the transition began, we don't want that setup code
+        // to be run multiple times.  So we listen for the events and prevent
+        // them from propagating.
+        if (endView.hasEventListener(FlexEvent.ADD))
+            endView.addEventListener(FlexEvent.ADD, view_addOrRemoveHandler, false, 1);
+
+        if (endView.hasEventListener(FlexEvent.REMOVE))
+            endView.addEventListener(FlexEvent.REMOVE, view_addOrRemoveHandler, false, 1);
+
+        if (startView.hasEventListener(FlexEvent.ADD))
+            startView.addEventListener(FlexEvent.ADD, view_addOrRemoveHandler, false, 1);
+
+        if (startView.hasEventListener(FlexEvent.REMOVE))
+            startView.addEventListener(FlexEvent.REMOVE, view_addOrRemoveHandler, false, 1);
+
+        // Reparent the start and end views into the transition group
         transitionGroup.addElement(endView);
         transitionGroup.addElement(startView);

         // Setup our transition group's perspective projection properties.
         transitionGroup.transform.perspectiveProjection = createCenteredProjection();
+    }
+
+    /**
+     *  @private
+     */
+    private function view_addOrRemoveHandler(event:FlexEvent):void
+    {
+        event.stopImmediatePropagation();
     }

     /**
@@ -717,8 +745,22 @@
         // Add a temporary group to contain our snapshot view of the navigator
         // while we animate.
         transitionGroup = new Group();
-        transitionGroup.includeInLayout = false;
-
+
+        // FIXME (chiedozi): If navigator isn't at (0,0), I don't think this will work
+        // Size the transitionGroup to match the width and height of the navigator
+        // so that the parent of the targetNavigator's layout remains unchanged
+        transitionGroup.width = targetNavigator.width;
+        transitionGroup.height = targetNavigator.height;
+        transitionGroup.x = targetNavigator.x;
+        transitionGroup.y = targetNavigator.y;
+
+        // The cached navigator and targetNavigator are currently position at their original
+        // coordinates.  Since they will be parented into the transition group that already
+        // takes that into consideration, we want to reposition the components to be at the
+        // origin of the container.
+        targetNavigator.x -= transitionGroup.x;
+        targetNavigator.y -= transitionGroup.y;
+
         // Add the transition group at the same index of the target navigator
         addComponentToContainerAt(transitionGroup, DisplayObject(targetNavigator).parent as UIComponent, navigatorProps.childIndex);

@@ -828,6 +870,19 @@
                 navigator.contentGroup.addElement(endView);
             }

+            // Remove add handlers added to the views
+            if (endView.hasEventListener(FlexEvent.ADD))
+                endView.removeEventListener(FlexEvent.ADD, view_addOrRemoveHandler);
+
+            if (endView.hasEventListener(FlexEvent.REMOVE))
+                endView.removeEventListener(FlexEvent.REMOVE, view_addOrRemoveHandler);
+
+            if (startView.hasEventListener(FlexEvent.ADD))
+                startView.removeEventListener(FlexEvent.ADD, view_addOrRemoveHandler);
+
+            if (startView.hasEventListener(FlexEvent.REMOVE))
+                startView.removeEventListener(FlexEvent.REMOVE, view_addOrRemoveHandler);
+
             // Extract our temporary transition group.
             Group(transitionGroup.parent).removeElement(transitionGroup);


Transferred from the Adobe Open Source Subversion Repository

Revision: 21683
Author:   chiedozi@adobe.com
Date:     2011-07-21T23:18:41.186033Z

Log Message:
-----------
Initial checkin of SplitViewNavigator component and its skin.  This includes small alterations to various ViewTransition classes.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
@@ -12,7 +12,6 @@
 package spark.transitions
 {

-import flash.display.BitmapData;
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
 import flash.events.Event;
@@ -21,27 +20,22 @@
 import flash.geom.Point;
 import flash.geom.Rectangle;

-import mx.core.IVisualElement;
 import mx.core.IVisualElementContainer;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
-import mx.effects.Effect;
 import mx.effects.IEffect;
 import mx.effects.Parallel;
-import mx.effects.Pause;
 import mx.events.EffectEvent;
 import mx.events.FlexEvent;

 import spark.components.ActionBar;
 import spark.components.Group;
-import spark.components.Image;
 import spark.components.TabbedViewNavigator;
 import spark.components.View;
 import spark.components.ViewNavigator;
 import spark.components.supportClasses.ButtonBarBase;
 import spark.components.supportClasses.ViewNavigatorBase;
 import spark.effects.Animate;
-import spark.effects.Fade;
 import spark.effects.animation.MotionPath;
 import spark.effects.animation.SimpleMotionPath;
 import spark.effects.easing.IEaser;
@@ -639,23 +633,29 @@
     {
         // Remember some common references.
         parentNavigator = navigator.parentNavigator;
-        targetNavigator = parentNavigator ? parentNavigator : navigator;
-
-        if (navigator is ViewNavigator)
-            actionBar = ViewNavigator(navigator).actionBar;
-
-        if (targetNavigator is TabbedViewNavigator)
-            tabBar = TabbedViewNavigator(targetNavigator).tabBar;
+
+        if (parentNavigator is TabbedViewNavigator)
+        {
+           targetNavigator = parentNavigator;
+           tabBar = TabbedViewNavigator(parentNavigator).tabBar;
+        }
+        else
+        {
+            targetNavigator = navigator;
+        }
+
+        if (navigator)
+            actionBar = navigator.actionBar;

         // Determine first if we're able to transition our control bars independently
         // of our view content.  If we are, then capture the necessary action bar
         // bitmap snapshots for use later by our default action bar transition.
-        consolidatedTransition = consolidatedTransition ?
-            consolidatedTransition : !canTransitionControlBarContent();
+        if (!consolidatedTransition)
+            consolidatedTransition = !canTransitionControlBarContent();

         // Snapshot component parts of action bar in preparation for our
         // default action bar transition, (if appropriate).
-        if (!consolidatedTransition && navigator is ViewNavigator)
+        if (!consolidatedTransition)
         {
             if (componentIsVisible(actionBar))
             {
@@ -852,14 +852,12 @@
             case ViewTransitionDirection.DOWN:
                 animatedProperty = "y";
                 slideDistance = -actionBar.height / 2.5;
-                transitionGroup.clipAndEnableScrolling = true;
                 verticalTransition = true;
                 break;

             case ViewTransitionDirection.UP:
                 animatedProperty = "y";
                 slideDistance = actionBar.height / 2.5;
-                transitionGroup.clipAndEnableScrolling = true;
                 verticalTransition = true;
                 break;

@@ -869,6 +867,8 @@
                 slideDistance = actionBar.width / 2.5;
                 break;
         }
+
+        transitionGroup.clipAndEnableScrolling = true;

         // Suppress slide if our action bar transition behavior is fade-only.
         if (actionBarTransitionMode == ACTION_BAR_MODE_FADE)


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarSkin.as
@@ -1,3 +1,21 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
 package spark.skins.mobile
 {
 import mx.core.DPIClassification;


Fixed label of messages, excluding root entity label for min and max count validation errors

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/ErrorListPopUpPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/ErrorListPopUpPresenter.as
@@ -93,7 +93,7 @@
 						messages = [Message.get("edit.validation.maxCount", [childDefn.maxCount > 0 ? childDefn.maxCount: 1])];
 					}
 					var message:String = StringUtil.concat(", ", messages);
-					var label:String = createNodeLabel(entity) + "/" + childDefn.getLabelText();
+					var label:String = (entity.parent != null ? createNodeLabel(entity) + "/": "") + childDefn.getLabelText();
 					var item:Object = {label:label, message: message};
 					result.addItem(item);
 				}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/IButton.as
+++ frameworks/projects/framework/src/mx/core/IButton.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ *  The IButton interface is a marker interface that indicates that a component
+ *  acts as a button.
+ */
+public interface IButton extends IUIComponent
+{
+    /**
+     *  @copy mx.controls.Button#emphasized
+     */
+    function get emphasized():Boolean;
+    function set emphasized(value:Boolean):void;
+
+    /**
+     *  @copy mx.core.UIComponent#callLater()
+     */
+    function callLater(method:Function,
+                              args:Array /* of Object */ = null):void
+}
+
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mx/src/mx/containers/FormItem.as
+++ frameworks/projects/mx/src/mx/containers/FormItem.as
@@ -233,8 +233,8 @@
         _horizontalScrollPolicy = ScrollPolicy.OFF;
         _verticalScrollPolicy = ScrollPolicy.OFF;

-        mx_internal::verticalLayoutObject.target = this;
-        mx_internal::verticalLayoutObject.direction = BoxDirection.VERTICAL;
+        verticalLayoutObject.target = this;
+        verticalLayoutObject.direction = BoxDirection.VERTICAL;
     }

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/containers/FormItem.as
+++ frameworks/projects/mx/src/mx/containers/FormItem.as
@@ -26,7 +26,6 @@
 import mx.core.mx_internal;
 import mx.core.ScrollPolicy;
 import mx.styles.CSSStyleDeclaration;
-import mx.styles.StyleManager;

 use namespace mx_internal;

@@ -503,7 +502,7 @@
             if (labelStyleName)
             {
                 var styleDecl:CSSStyleDeclaration =
-                	StyleManager.getStyleDeclaration("." + labelStyleName);
+                	styleManager.getStyleDeclaration("." + labelStyleName);

                 if (styleDecl)
                     labelObj.styleDeclaration = styleDecl;
@@ -1280,7 +1279,7 @@
 	            if (labelStyleName)
 	            {
 	                var styleDecl:CSSStyleDeclaration =
-	                	StyleManager.getStyleDeclaration("." + labelStyleName);
+	                	styleManager.getStyleDeclaration("." + labelStyleName);

 	                if (styleDecl)
 	                {


Transferred from the Adobe Open Source Subversion Repository

Revision: 13208
Author:   chaase@adobe.com
Date:     2009-12-23T21:49:14.524642Z

Log Message:
-----------
Dealt with my FIXMEs in the code. Some went away (no longer issues), some became TODOs (still issues, but nothing that we have to solve in this release), a couple were actually resolved in this change (like the bug filed/fixed: 24848).

QE notes: 10 failures in Mustella of tests that need to be changed. They're excluded for now and QE has local fixes.
Doc notes: None
Bugs: SDK-24848
Reviewer: Jason
Tests run: checkintests, Mustella (spark/effects, mx/effects)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<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/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/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.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/framework/src/mx/effects/effectClasses/PropertyChanges.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/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/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/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.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/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.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/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -240,8 +240,11 @@
         return AFFECTED_PROPERTIES;
     }

-    // FIXME (chaase): Can we remove this override? It exists only to create motionPaths,
-    // which we should be able to do somewhere else
+    // TODO (chaase): Should try to remove this override. At a minimum, we could
+    // put the motionPaths creation at the start of initInstance(). Ideally, we'd
+    // remove that logic entirely, but there's a need to create motionPaths fresh
+    // for every call to create/initInstance() or else multi-instance effects
+    // will inherit the one motionPaths object created elsewhere.
     /**
      * @private
      */


Added DisplayUtil.group function

Added DisplayUtil.group function

--- raw/src/org/yellcorp/lib/display/DisplayUtil.as
+++ raw/src/org/yellcorp/lib/display/DisplayUtil.as
@@ -190,6 +190,64 @@
     }

     /**
+     * Makes the specified DisplayObjects a child of a new Sprite.  If they have
+     * parent DisplayObjectContainers, the newly created Sprite is inserted at
+     * the lowest index among the DisplayObjects.  For this to occur, all the
+     * DisplayObjects must have the same parent.
+     *
+     * @param displayObjects  A for each...in iterable collection of
+     *                        DisplayObjects
+     *
+     * @return                The new Sprite that becomes the parent of the
+     *                        DisplayObjects
+     *
+     * @throws ArgumentError if the DisplayObjects do not share a common parent,
+     * or if the DisplayObjects do not all have null parents.
+     */
+    public static function group(displayObjects:*):DisplayObjectContainer
+    {
+        var oldParent:DisplayObjectContainer;
+        var newParent:DisplayObjectContainer = new Sprite();
+        var taggedDisplayObjects:Array;
+
+        for each (var currentDisplay:DisplayObject in displayObjects)
+        {
+            if (!taggedDisplayObjects)
+            {
+                taggedDisplayObjects = [ ];
+                oldParent = currentDisplay.parent;
+            }
+            else
+            {
+                if (currentDisplay.parent != oldParent)
+                {
+                    throw new ArgumentError("All DisplayObjects must have " +
+                        "the same value for their parent property");
+                }
+            }
+
+            taggedDisplayObjects.push({
+                d: currentDisplay,
+                i: oldParent ? oldParent.getChildIndex(currentDisplay) : 0
+            });
+        }
+
+        if (oldParent)
+        {
+            taggedDisplayObjects.sortOn("i", Array.NUMERIC);
+        }
+        for each (var tag:Object in taggedDisplayObjects)
+        {
+            newParent.addChild(tag.d);
+        }
+        if (oldParent)
+        {
+            oldParent.addChildAt(newParent, taggedDisplayObjects[0].i);
+        }
+        return newParent;
+    }
+
+    /**
      * Sets whether a DisplayObject is a child of a DisplayObjectContainer
      * based on a Boolean argument.
      */


Solved NPE when changing active record

Solved NPE when changing active record

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/ui/component/input/InputFieldContextMenu.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/ui/component/input/InputFieldContextMenu.as
@@ -76,7 +76,7 @@

 		public function updateItems():void {
 			var items:Array = null;
-			if(Application.activeRecord != null) {
+			if(Application.activeRecord != null && _inputField.parentEntity != null) {
 				var step:CollectRecord$Step = Application.activeRecord.step;
 				items = createMenuItems(step);
 				_contextMenu.hideBuiltInItems();
@@ -127,7 +127,6 @@
 					}
 				}
 			}
-
 			return items;
 		}


Made paren usage more consistent

Made paren usage more consistent

--- src/asfac/src/com/thedevstop/asfac/AsFactory.as
+++ src/asfac/src/com/thedevstop/asfac/AsFactory.as
@@ -258,9 +258,7 @@
 		private function injectProperties(instance:Object, typeDescription:Object):void
 		{
 			for each (var injectableProperty:Object in typeDescription.injectableProperties)
-			{
 				instance[injectableProperty.name] = resolve(injectableProperty.type);
-			}
 		}
 	}
 }


added automatic campaign measurements when tracker is created

--- source/actionscript/agnostic/src/eu/alebianco/air/extensions/analytics/Tracker.as
+++ source/actionscript/agnostic/src/eu/alebianco/air/extensions/analytics/Tracker.as
@@ -41,6 +41,7 @@
 		this.id = id;
 		this.context = context;
 		parseAppDescriptor();
+		measureCampaign();
 		createTimer();
 	}

@@ -175,6 +176,13 @@
 		if (appID == null) appID = descriptor.ns::id[0];
 		appName = descriptor.ns::filename[0] || "";
 		appVersion = descriptor.ns::versionLabel[0] || "";
+	}
+	private function measureCampaign():void {
+		if (hasCampaignData()) {
+			setCampaignData(getCampaignData());
+		} else if (hasReferrer()) {
+			setReferrer(getReferrer());
+		}
 	}
 	private function createTimer():void {
 		if (timeout == 0) return;


Added lastCall property

Added lastCall property

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/client/RemoteCallQueueProcessor.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/client/RemoteCallQueueProcessor.as
@@ -15,6 +15,7 @@
 	public class RemoteCallQueueProcessor {
 		private var _queue:Queue; //queue of ProcessableItem objects
 		private var _responder:IResponder;
+		private var _lastCall:RemoteCallWrapper;
 		private var _resultHandler:Function;
 		private var _faultHandler:Function;
 		private var _maxAttempts:int;
@@ -62,6 +63,7 @@
 		protected function callResultHandler(event:ResultEvent, token:Object = null):void {
 			var call:RemoteCallWrapper = RemoteCallWrapper(_queue.pop()); //removes the first element
 			call.reset();
+			_lastCall = call;
 			_resultHandler(event, call.token);
 			if(call.resultHandler != null) {
 				call.resultHandler(event, token);
@@ -91,6 +93,10 @@
 			var call:RemoteCallWrapper = RemoteCallWrapper(_queue.element);
 			return call;
 		}
+
+		public function get lastCall():RemoteCallWrapper {
+			return _lastCall;
+		}

 	}
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as
@@ -0,0 +1,367 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.automation.delegates.components
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import flash.events.KeyboardEvent;
+	import flash.events.MouseEvent;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationObjectHelper;
+	import mx.core.EventPriority;
+	import mx.core.mx_internal;
+
+	import spark.automation.delegates.components.supportClasses.SparkSkinnableContainerBaseAutomationImpl;
+	import spark.automation.tabularData.SkinnableContainerTabularData;
+	import spark.components.Scroller;
+	import spark.components.SkinnableContainer;
+	import spark.core.IViewport;
+
+	use namespace mx_internal;
+
+
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines the methods and properties required to perform instrumentation for the
+	 *  SkinnableContainer class.
+	 *
+	 *  @see spark.components.SkinnableContainer
+	 *
+	 */
+	public class SparkSkinnableContainerAutomationImpl extends SparkSkinnableContainerBaseAutomationImpl
+	{
+		include "../../../core/Version.as";
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(spark.components.SkinnableContainer, SparkSkinnableContainerAutomationImpl);
+
+		}
+
+		/**
+		 *  Constructor.
+		 * @param obj SkinnableContainer object to be automated.
+		 */
+		public function SparkSkinnableContainerAutomationImpl(obj:spark.components.SkinnableContainer)
+		{
+			super(obj);
+
+			obj.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler,
+				false, EventPriority.DEFAULT+1, true );
+			obj.addEventListener(MouseEvent.CLICK, clickHandler, false, EventPriority.DEFAULT+1, true);
+		}
+
+
+		/**
+		 *  @private
+		 */
+		private function get container():spark.components.SkinnableContainer
+		{
+			return uiComponent as spark.components.SkinnableContainer;
+		}
+
+
+
+
+		//----------------------------------
+		//  automationName
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationName():String
+		{
+			return container.id || super.automationName;
+		}
+
+		//----------------------------------
+		//  automationValue
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationValue():Array
+		{
+			if (container.id && container.id.length != 0)
+				return [ container.id ];
+
+			var result:Array = [];
+			var childList:Array = getAutomationChildren();
+			var n:int = childList ? childList.length : 0;
+			for (var i:int = 0; i < n; i++)
+			{
+				var child:IAutomationObject = childList[i];
+				if(child != null) // we can have non automation elements like graphic elements also.
+				{
+					var x:Array = child.automationValue;
+					if (x && x.length != 0)
+						result.push(x);
+				}
+			}
+
+			return result;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+
+		override public function replayAutomatableEvent(event:Event):Boolean
+		{
+			if (event is MouseEvent && event.type == MouseEvent.MOUSE_WHEEL)
+			{
+				// the mouse wheel happens on the content group
+				var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+				help.replayMouseEvent(container.contentGroup, event as MouseEvent);
+				return true;
+			}
+			else if (event is KeyboardEvent)
+			{
+				// the key board events happens on the scroller.
+				var scroller:spark.components.Scroller = getScroller(container,container.contentGroup);
+				if(!scroller)
+					scroller = getInternalScroller();
+
+				if(scroller)
+				{
+					var helper:IAutomationObjectHelper = Automation.automationObjectHelper;
+					if(helper)
+						helper.replayKeyboardEvent(scroller,event as KeyboardEvent);
+
+				}
+			}
+
+			return super.replayAutomatableEvent(event);
+		}
+
+
+		/**
+		 *  @private
+		 */
+		override public function createAutomationIDPart(child:IAutomationObject):Object
+		{
+			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+			return help.helpCreateIDPart(uiAutomationObject, child);
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function resolveAutomationIDPart(part:Object):Array
+		{
+			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+			return help.helpResolveIDPart(uiAutomationObject, part);
+		}
+
+		/**
+		 *  @private
+		 */
+		override public function createAutomationIDPartWithRequiredProperties(child:IAutomationObject, properties:Array):Object
+		{
+			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+			return help.helpCreateIDPartWithRequiredProperties(uiAutomationObject, child,properties);
+
+		}
+
+
+
+		protected function getInternalScroller():spark.components.Scroller
+		{
+			var chilArray:Array = new Array();
+			var n:int = container.contentGroup.numChildren;
+
+			for (var i:int = 0; i<n ; i++)
+			{
+				var obj:Object = container.contentGroup.getChildAt(i);
+				// here if are getting scrollers, we need to add the viewport's children as the actual children
+				// instead of the scroller
+				if(obj is spark.components.Scroller)
+					return obj as spark.components.Scroller;
+			}
+			return null;
+		}
+
+		/**
+		 *  @private
+		 */
+
+		override public function get numAutomationChildren():int
+		{
+
+			var objArray:Array = getAutomationChildren();
+			return (objArray?objArray.length:0);
+		}
+
+		/**
+		 *  @private
+		 */
+
+		override public function getAutomationChildAt(index:int):IAutomationObject
+		{
+			var numChildren:int = container.contentGroup.numChildren;
+			if(index < numChildren )
+				return   container.contentGroup.getChildAt(index) as IAutomationObject;
+			else
+			{
+				index = index - numChildren;
+				var scrollBars:Array = getScrollBars(container,container.contentGroup);
+				if(scrollBars && index < scrollBars.length)
+					return scrollBars[index];
+			}
+
+
+			return null;
+		}
+
+
+		override public function getAutomationChildren():Array
+		{
+
+			var chilArray:Array = new Array();
+			var n:int = container.contentGroup.numChildren;
+
+			for (var i:int = 0; i<n ; i++)
+			{
+				var obj:Object = container.contentGroup.getChildAt(i);
+				// here if are getting scrollers, we need to add the viewport's children as the actual children
+				// instead of the scroller
+				if(obj is spark.components.Scroller)
+				{
+					var scroller:spark.components.Scroller = obj as spark.components.Scroller;
+					var viewPort:IViewport =  scroller.viewport;
+					if(viewPort is IAutomationObject)
+						chilArray.push(viewPort);
+					if(scroller.horizontalScrollBar)
+						chilArray.push(scroller.horizontalScrollBar);
+					if(scroller.verticalScrollBar)
+						chilArray.push(scroller.verticalScrollBar);
+				}
+				else
+					chilArray.push(obj);
+			}
+			var scrollBars:Array = getScrollBars(null,container.contentGroup);
+			n = scrollBars? scrollBars.length : 0;
+
+			for ( i=0; i<n ; i++)
+			{
+				chilArray.push(scrollBars[i]);
+			}
+
+
+			return chilArray;
+		}
+
+
+		//----------------------------------
+		//  automationTabularData
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+
+		override public function get automationTabularData():Object
+		{
+			return new SkinnableContainerTabularData(uiAutomationObject);
+		}
+
+
+		//--------------------------------------------------------------------------
+		//
+		//  Event handlers
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+
+		/**
+		 *  @private
+		 */
+
+		private function mouseWheelHandler(event:MouseEvent):void
+		{
+			if( isEventTargetApplicabale(event)  )
+				recordAutomatableEvent(event, true);
+		}
+
+		/**
+		 *  @private
+		 */
+		private function isEventTargetApplicabale(event:Event):Boolean
+		{
+			// we decide to continue with the mouse events when they are
+			// on the same container group
+
+			return (event.target == container.contentGroup);
+		}
+		/**
+		 *  @private
+		 */
+		protected function clickHandler(event:MouseEvent):void
+		{
+			if(isEventTargetApplicabale(event))
+			{
+				//var mouseEvent:MouseEvent = new MouseEvent(MouseEvent.CLICK);
+				recordAutomatableEvent(event);
+			}
+		}
+
+		override protected function keyDownHandler(event:KeyboardEvent):void
+		{
+
+			if( event.target == getInternalScroller()||
+				(event.target == getScroller(container,container.contentGroup)))
+				recordAutomatableEvent(event);
+		}
+
+		/**
+		 *  @private
+		 */
+		public function getContainerChildren():Array
+		{
+			var tempArray:Array = new Array();
+			var n:int = container.numChildren;
+			for(var i:int=0; i<n ; i++)
+			{
+				tempArray.push(container.getChildAt(i));
+			}
+
+			return tempArray;
+		}
+
+	}
+
+}


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

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

 package mx.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7256
Author:   aharui@adobe.com
Date:     2009-05-23T20:25:20.378550Z

Log Message:
-----------
Fix various Mustella failures due to frame1 cleanup

QE Notes: None
Doc Notes: None
Bugs: SDK-21372, SDK-21373, SDK-21374
Reviewer: Joan tested a cyclone
tests: checkintests mustella/components mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

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

--- frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as
+++ frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as
@@ -276,7 +276,7 @@

 		var e:Request = new Request("canActivateForm", false, true);
 		e.value = f;
-	 	if (dispatchEvent(e))
+	 	if (!dispatchEvent(e))
 	 	{
 			return e.value;
 	 	}


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

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


Signal.add() will now throw an error if the same callback is added twice (feature #1020)

--- src/aerys/minko/type/Signal.as
+++ src/aerys/minko/type/Signal.as
@@ -25,6 +25,9 @@

 		public function add(callback : Function) : void
 		{
+            if (_callbacks.indexOf(callback) >= 0)
+                throw new Error('The same callback cannot be adde twice.');
+
 			if (_executed)
 			{
 				if (_toAdd)


add Geometry.disposeLocalData() and refactor Geometry.merge() to make it callable on an empty geometry created with just "new Geometry()"


- non-continuous mode now dispatches events as expected
- added possibility to animate change of values

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@633 bc4816be-ef27-423a-9c4d-fc420be121a2


Some more useful methods for FlexUtil for creating layout containers and wrappers inline.

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

--- src/as/com/threerings/flex/FlexUtil.as
+++ src/as/com/threerings/flex/FlexUtil.as
@@ -21,12 +21,17 @@

 package com.threerings.flex {

+import flash.display.DisplayObject;
+
 import mx.controls.Label;
 import mx.controls.Spacer;
 import mx.controls.Text;

 import mx.core.Container;
 import mx.core.UIComponent;
+
+import mx.containers.HBox;
+import mx.containers.VBox;

 /**
  * Flex-related utility methods.
@@ -111,5 +116,51 @@
         component.includeInLayout = visible;
         return visible;
     }
+
+    /**
+     * Creates a new container of the given class and adds the given children to it.
+     */
+    public static function createContainer (clazz :Class, ...children) :Container
+    {
+        var container :Container = new clazz() as Container;
+        for each (var comp :UIComponent in children) {
+            container.addChild(comp);
+        }
+        return container;
+    }
+
+    /**
+     * Creates a new HBox container and adds the given children to it.
+     */
+    public static function createHBox (...children) :Container
+    {
+        children.unshift(HBox);
+        return createContainer.apply(null, children);
+    }
+
+    /**
+     * Creates a new VBox container and adds the given children to it.
+     */
+    public static function createVBox (...children) :Container
+    {
+        children.unshift(VBox);
+        return createContainer.apply(null, children);
+    }
+
+    /**
+     * Creates a simple UIComponent that wraps a display object.
+     */
+    public static function wrap (obj :DisplayObject) :FlexWrapper
+    {
+        return new FlexWrapper(obj);
+    }
+
+    /**
+     * Creates a simple UIComponent that wraps a display object and inherits its size.
+     */
+    public static function wrapSized (obj :DisplayObject) :FlexWrapper
+    {
+        return new FlexWrapper(obj, true);
+    }
 }
 }


Added some asdoc explaining how the padding works...

--- src/org/openPyro/core/Padding.as
+++ src/org/openPyro/core/Padding.as
@@ -13,6 +13,17 @@
 		private var _bottom:Number;
 		private var _left:Number;

+		/**
+		 * Creates a new Padding object.
+		 *
+		 * All arguments are optional and the behaviour with missing arguments is based on
+		 * the way padding works in standard CSS. If you just provide one argument then that
+		 * value is used on all sides. If you provide two arguments then the first argument is
+		 * the padding on the top and bottom and the second argument is the padding on the right
+		 * and left. If you provide three arguments then the first is the top padding, second
+		 * is right and left padding and the third argument is the bottom padding. If you supply
+		 * all four arguments then each argument is the padding for the side it is named on.
+		 */
 		public function Padding(top:Number=0, right:Number=-1, bottom:Number=-1, left:Number=-1)
 		{
 			_top = top;


rename variable

rename variable

--- src/com/mangui/HLS/streaming/Buffer.as
+++ src/com/mangui/HLS/streaming/Buffer.as
@@ -77,12 +77,12 @@
                buffer = (_buffer_last_pts - _playback_start_pts)/1000 - _stream.time;
                /** Current play time (time since beginning of playback) **/
                var playback_current_time:Number = (Math.round(_stream.time*100 + _playback_start_time*100)/100);
-               var playliststartpts:Number = _loader.getPlayListStartPTS();
+               var current_playlist_start_pts:Number = _loader.getPlayListStartPTS();
                var play_position:Number;
-               if(playliststartpts < 0) {
+               if(current_playlist_start_pts < 0) {
                   play_position = 0;
                } else {
-                  play_position = playback_current_time -(playliststartpts-_playlist_start_pts)/1000;
+                  play_position = playback_current_time -(current_playlist_start_pts-_playlist_start_pts)/1000;
                 }
                if(play_position != _playback_current_position || buffer !=_last_buffer) {
                   if (play_position <0) {
@@ -265,9 +265,8 @@
                 PlaybackStartPosition = position;
                _stream.seek(0);
                _stream.appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK);
-               _playback_start_time = position;
                _playback_start_pts = 0;
-               _buffer_next_time = _playback_start_time;
+               _buffer_next_time = position;
                _buffer_last_pts = 0;
                _last_buffer = 0;
                _setState(HLSStates.BUFFERING);


- fixed infinite loop in scrollable menu by removing call to commitproperties. (Issue 271)

--- src/flexlib/controls/ScrollableMenu.as
+++ src/flexlib/controls/ScrollableMenu.as
@@ -443,7 +443,7 @@
         measuredHeight = measuredMinHeight = stageHeightAvailable;
       }

-      commitProperties();
+      //      invalidateProperties();
     }

     /**