WIP sprite issues

WIP sprite issues

--- index.as
+++ index.as
@@ -10,6 +10,10 @@
 extern def fprintf(stream: *FILE, format: str, ...);
 extern def malloc(s: size_t): *uint8;
 extern def memset(dst: *uint8, ch: c_int, count: size_t): *uint8;
+extern def memcpy(dst: *uint8, src: *uint8, count: size_t): *uint8;
+
+extern def qsort(ptr: *uint8, count: size_t, size: size_t, comp: (*uint8, *uint8) -> c_int);
+
 extern def free(ptr: *uint8);
 extern def fopen(filename: str, mode: str): *FILE;
 extern def fclose(stream: *FILE);
@@ -4694,8 +4698,44 @@
   gpu_line = 0;
 }

+def gpu_sprite_compare(a: *uint8, b: *uint8): c_int {
+  let a_x = *(a + 1);
+  let b_x = *(b + 1);
+
+  if a_x < b_x {
+    return -1;
+  }
+
+  if b_x > a_x {
+    return 1;
+  }
+
+  if a_x == b_x {
+    let aptr = a as uint64;
+    let bptr = b as uint64;
+
+    if aptr < bptr {
+      return -1;
+    }
+
+    if bptr > aptr {
+      return 1;
+    }
+  }
+
+  return 0;
+}
+
 def gpu_render_scanline() {
   // TODO: Combine Window & Background rendering .. code is super duplicated
+
+  // Set whole line to 0x0 (clear)
+  let i = 0;
+  while i < 160 {
+    *(gpu_framebuffer + (int64(gpu_line) * 160) + i) = 0;
+
+    i += 1;
+  }

   // Background
   if gpu_bg_enable {
@@ -4830,6 +4870,7 @@

   // Sprites
   if gpu_sprite_enable {
+
     // Sprite attributes reside in the Sprite Attribute Table (
     // OAM - Object Attribute Memory) at $FE00-FE9F.
     // Each of the 40 entries consists of four bytes with the
@@ -4846,30 +4887,49 @@
     //    Bit3   Tile VRAM-Bank  **CGB Mode Only**     (0=Bank 0, 1=Bank 1)
     //    Bit2-0 Palette number  **CGB Mode Only**     (OBP0-7)

+    let sprite_size = if gpu_sprite_size { 16; } else { 8; };
+
+    // // Sort the sprite table by priority
+    // let oam_c = malloc(40 * 4);
+    // memcpy(oam_c, oam, 40 * 4);
+    // qsort(oam_c, 40, 4, gpu_sprite_compare);
+    let total = 0;
+
     let i = 0;
-    let total = 0;
     while i < 40 {
       let offset = (i * 4);

-      let sprite_y = int16(*(oam + offset + 0)) - 16;
-      let sprite_x = int16(*(oam + offset + 1)) - 8;
+      let sy = int16(*(oam + offset + 0)) - 16;
+      let sx = int16(*(oam + offset + 1)) - 8;
       let sprite_tile = int16(*(oam + offset + 2));
       let sprite_flags = *(oam + offset + 3);

       // Remember, we are rendering on a line-by-line basis
       // Does this sprite intersect our current scanline?

-      if sprite_y <= int16(gpu_line) and (sprite_y + 8) > int16(gpu_line) {
+      if sy <= int16(gpu_line) and (sy + sprite_size) > int16(gpu_line) {

         total += 1;
         if total > 10 {
-          // No more sprites
           break;
         }

-        let tile_y: int16 = int16(gpu_line) - sprite_y;
+        let tile_y: int16 = int16(gpu_line) - sy;
         if testb(sprite_flags, 6) {
-          tile_y = 7 - tile_y;
+          tile_y = sprite_size - 1 - tile_y;
+        }
+
+        // IFF sprite_size is 16 ..
+        if sprite_size == 16 {
+          // Top or bottom tile?
+          if tile_y < 8 {
+            // Top
+            sprite_tile &= 0xFE;
+          } else {
+            // Bottom
+            tile_y -= 8;
+            sprite_tile |= 0x01;
+          }
         }

         let td_address: int16 = sprite_tile * 16 + int16(tile_y) * 2;
@@ -4879,7 +4939,7 @@

         let x: int16 = 0;
         while x < 8 {
-          if (sprite_x + x >= 0) and (sprite_x + x < 160) {
+          if (sx + x >= 0) and (sx + x < 160) {
             // Make a bitmask for the pixel being rendered
             let pixel_mask = 0x80 >> (if testb(sprite_flags, 5) { 7 - x; } else { x; });

@@ -4899,7 +4959,7 @@
               };

               // Push pixel to framebuffer
-              let fbo: int64 = (int64(gpu_line) * 160) + int64(sprite_x + x);
+              let fbo: int64 = (int64(gpu_line) * 160) + int64(sx + x);
               if testb(sprite_flags, 7) {
                 let bgcolor = *(gpu_framebuffer + fbo);
                 if bgcolor == 0 {
@@ -4917,6 +4977,9 @@

       i += 1;
     }
+
+    // Free temp OAM
+    // free(oam_c);
   } else {
     // Sprites not enabled
     // FIXME: Should we do anything special here?


Transferred from the Adobe Open Source Subversion Repository

Revision: 16665
Author:   rfrishbe@adobe.com
Date:     2010-06-24T22:40:15.397962Z

Log Message:
-----------
Initial checkin for touch-enabled Lists.  This has not been code reviewed or spec-approved.  There will be lots of changes that will occur with this, but this will allow people to easily create touch-enabled Lists

QE notes: None
Doc notes: None
Bugs: -
Reviewer: None - this will get reviewed later
Tests run: checkintests, full mustella run (some tests failed and were off by a few pixels)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TouchScrollingEasing.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/TouchScrollEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ScrollPolicy.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as
@@ -0,0 +1,63 @@
+package spark.skins.mobile
+{
+
+import spark.components.Button;
+import spark.components.HScrollBar;
+
+
+public class HScrollBarSkin extends SliderSkin {
+
+    public function HScrollBarSkin()
+    {
+        super();
+    }
+
+    //////////////////////////////////////////
+    // Properties
+    //////////////////////////////////////////
+
+    public var hostComponent:HScrollBar;
+
+    // Skin parts
+    public var track:Button;
+    public var thumb:Button;
+
+    //////////////////////////////////////////
+    // Methods
+    //////////////////////////////////////////
+
+    override protected function createChildren():void
+    {
+        // Create our skin parts: track and thumb.
+        track = new Button();
+        track.setStyle("skinClass", spark.skins.mobile.HScrollBarTrackSkin);
+        addChild(track);
+        thumb = new Button();
+        thumb.setStyle("skinClass", spark.skins.mobile.HScrollBarThumbSkin);
+        addChild(thumb);
+    }
+
+    override public function getExplicitOrMeasuredWidth():Number
+    {
+        return 40;
+    }
+
+    override public function getExplicitOrMeasuredHeight():Number
+    {
+        return 8; // !!
+    }
+
+    override protected function measure():void
+    {
+        // !! should use something better here
+        hostComponent.measuredWidth = 40;
+        hostComponent.measuredHeight = 8;
+    }
+
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        track.width = unscaledWidth;
+        track.height = unscaledHeight;
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5104
Author:   clucier@adobe.com
Date:     2009-02-27T14:51:34.248850Z

Log Message:
-----------
Default button support for Spark containers and editable text controls.
QE Notes:
Doc Notes:
Bugs: SDK-19420
Reviewer: Glenn, Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxContainerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ContainerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.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/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultButtonSkin.mxml</path>

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

--- frameworks/projects/mx/src/mx/controls/colorPickerClasses/SwatchPanel.as
+++ frameworks/projects/mx/src/mx/controls/colorPickerClasses/SwatchPanel.as
@@ -23,6 +23,7 @@
 import mx.controls.ColorPicker;
 import mx.controls.TextInput;
 import mx.core.FlexVersion;
+import mx.core.IFlexDisplayObject;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.ColorPickerEvent;
@@ -889,6 +890,26 @@
             textInput.visible = value;
     }

+    //--------------------------------------------------------------------------
+    //  defaultButton
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    public function get defaultButton():IFlexDisplayObject
+    {
+        return null;
+    }
+
+    /**
+     *  @private
+     */
+    public function set defaultButton(value:IFlexDisplayObject):void
+    {
+
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods: UIComponent


Transferred from the Adobe Open Source Subversion Repository

Revision: 17346
Author:   hmuller@adobe.com
Date:     2010-08-17T16:00:02.081763Z

Log Message:
-----------
DataGrid performance optimization: don't zero the size of non-GridItemRenderer grid elements before they're added to the free-list.

Fixed @default typo for Grid/requestedRowCount

QE notes:
Doc notes:
Bugs:
Reviewer: Carol
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<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/supportClasses/GridLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1768,10 +1768,12 @@

         element.visible = false;

-        // Reset back to (0,0), otherwise when the element is reused
-        // it will be validated at its last layout size which causes
-        // problems with text reflow.
-        element.setLayoutBoundsSize(0, 0, false);
+        // Reset GridItemRenderers back to (0,0), otherwise when the element is reused
+        // it will be validated at its last layout size which causes problems with
+        // text reflow.
+
+        if (element is GridItemRenderer)
+            element.setLayoutBoundsSize(0, 0, false);

         const factory:IFactory = elementToFactoryMap[element];
         if (!factory)


Transferred from the Adobe Open Source Subversion Repository

Revision: 21926
Author:   ksimm@adobe.com
Date:     2011-08-10T23:27:21.215704Z

Log Message:
-----------
1) Add the function to find the longest width year
2) Add three helper classes for DateSpinner.
3) Add the error messages for the new class OnDemandDataProvider
4) Add OnDemandDataProvider to SparkClass

QE notes: No
Doc notes: No
Bugs: No
Reviewer: Tom Kraikit
Tests run: Mustella-mobile
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateAndTimeRangeList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/bundles/en_US/collections.properties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as
+++ frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as
@@ -0,0 +1,146 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+package spark.components.calendarClasses
+{
+import spark.collections.OnDemandDataProvider;
+import spark.globalization.supportClasses.DateTimeFormatterEx;
+
+[ExcludeClass]
+
+/**
+ *  Helper class for creating a dynamic year range. Using this class instead of
+ *  generating all the years statically avoids the cost of applying DateTimeFormatterEx.format()
+ *  to every date.
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ */
+public class YearProvider extends OnDemandDataProvider
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  Construct a year range for DateSpinner from the start to end dates, inclusive.
+     *  Locale is used to generate the appropriate labels.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function YearProvider(locale:String, start:int = 1601, end:int = 9999,
+                                 today:Date = null, todayAccentColor:uint = 0)
+    {
+        super();
+
+        startYear = start;
+        endYear = end;
+
+        formatter = new DateTimeFormatterEx();
+        formatter.setStyle("locale", locale);
+        formatter.dateTimePattern = formatter.getYearPattern();
+
+        todayDate = today;
+        accentColor = todayAccentColor;
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //----------------------------------------------------------------------------------------------
+
+    // start of the date range
+    private var startYear:int;
+
+    // end of the date range
+    private var endYear:int;
+
+    private var todayDate:Date;
+
+    // color to apply as accent color for dates that match today's date
+    private var accentColor:uint;
+
+    // formatter to use in localizing the date labels
+    private var formatter:DateTimeFormatterEx;
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //----------------------------------------------------------------------------------------------
+
+    //----------------------------------
+    //  length
+    //----------------------------------
+    /**
+     *  @inherit
+     */
+    override public function get length():int
+    {
+        return (endYear - startYear) + 1;
+    }
+
+    //----------------------------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //----------------------------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    override public function getItemAt(index:int, prefetch:int=0):Object
+    {
+        var year:int = index + startYear;
+        var d:Date = new Date(year, 0, 1);
+        var enabledFlag:Boolean = year >= startYear && year <= endYear;
+
+        // generate the appropriate object
+        var item:Object = {label:formatter.format(d), data:year, enabled:enabledFlag };
+
+        if (todayDate)
+        {
+            if (year == todayDate.fullYear)
+                item["accentColor"] = accentColor;
+        }
+
+        return item;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    override public function getItemIndex(item:Object):int
+    {
+        // TODO: should we also check whether item.data is integer?
+        var year:Number = item.data;
+
+        if (!isNaN(year)){
+            if (year >= startYear && year <= endYear)
+                return Math.floor(year - startYear);
+        }
+
+        return -1;
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 16761
Author:   hmuller@adobe.com
Date:     2010-07-01T04:42:48.794584Z

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

Substantially revised the way DataGrid/Grid typicalItem is used by GridLayout to compute column widths and (soon) the default row height.  Typical item based column widths are now computed just once and cached.

Added typicalCellWidth,Height methods to GridDimensions.

Made the GridDimensions getCellX() and getCellY() methods public.

Temporarily added fixedRowHeight property to Grid.

Modified Paths:
--------------
<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/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
@@ -47,6 +47,9 @@
     private var startY:Number = 0;
     private var recentNode:GridRowNode = null;

+    private const typicalCellWidths:Array = new Array();
+    private const typicalCellHeights:Array = new Array();
+
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -433,7 +436,10 @@
         return new Rectangle(x, y, width, height);
     }

-    private function getCellX(row:int, col:int):Number
+    /**
+     *  Returns the X coordinate of the origin of the specified cell.
+     */
+    public function getCellX(row:int, col:int):Number
     {
         if (!_columnWidths)
             return col * (defaultColumnWidth + columnGap);
@@ -453,7 +459,10 @@
         return x;
     }

-    private function getCellY(row:int, col:int):Number
+    /**
+     *  Returns the Y coordinate of the origin of the specified cell.
+     */
+    public function getCellY(row:int, col:int):Number
     {        // no cache so we use default heights for each row.
         if (!isNaN(fixedRowHeight))
             return row * (fixedRowHeight + rowGap);
@@ -809,7 +818,41 @@

         return height + ((nRows - numRows) * (defaultRowHeight) + (nRows - 1) * rowGap);
     }
-
+
+    /**
+     *  Return the preferred bounds width of the grid's typicalItem when rendered with the item renderer
+     *  for the specified column.  If no value has yet been specified, return NaN.
+     */
+    public function getTypicalCellWidth(columnIndex:int):Number
+    {
+        return typicalCellWidths[columnIndex];
+    }
+
+    /**
+     *  Sets the preferred bounds width of the grid's typicalItem for the specified column.
+     */
+    public function setTypicalCellWidth(columnIndex:int, value:Number):void
+    {
+        typicalCellWidths[columnIndex] = value;
+    }
+
+    /**
+     *  Return the preferred bounds height of the grid's typicalItem when rendered with the item renderer
+     *  for the specified column.  If no value has yet been specified, return NaN.
+     */
+    public function getTypicalCellHeight(columnIndex:int):Number
+    {
+        return typicalCellHeights[columnIndex];
+    }
+
+    /**
+     *  Sets the preferred bounds height of the grid's typicalItem for the specified column.
+     */
+    public function setTypicalCellHeight(columnIndex:int, value:Number):void
+    {
+        typicalCellHeights[columnIndex] = value;
+    }
+
     /**
      *  Inserts count number of rows starting from startRow. This shifts
      *  any rows after startRow down by count and will increment


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18933
Author:   rfrishbe@adobe.com
Date:     2010-12-02T01:39:12.064691Z

Log Message:
-----------
Fixing transitions for ItemRenderers to only occur on certain changes.  For instance, when int he down state and a scroll starts, the transition for down->normal shouldn't play--instead we're really cancelling the down state, so no transition plays.

Also fixing another issue so that mousing up on an item renderer now goes in to the hovered state.  This makes the mouse handling logic as robust as Button's.

QE notes: Update the tests that have been excluded
Doc notes:
Bugs: SDK-28578
Reviewer: Corey
Tests run: checkintests, mustella cyclone server
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
@@ -12,7 +12,6 @@
 package spark.components.supportClasses
 {
 import flash.display.DisplayObject;
-import flash.display.DisplayObjectContainer;
 import flash.events.Event;
 import flash.events.EventDispatcher;
 import flash.events.MouseEvent;
@@ -21,10 +20,12 @@

 import mx.core.InteractionMode;
 import mx.core.UIComponent;
-import mx.events.FlexEvent;
+import mx.core.mx_internal;
 import mx.events.SandboxMouseEvent;
 import mx.events.TouchInteractionEvent;
 import mx.managers.ISystemManager;
+
+use namespace mx_internal;

 /**
  *  Dispatched after the state has changed.
@@ -42,6 +43,9 @@
  *  A helper class for components to use to help them determine
  *  if they should be in the up, over, or down states.
  *
+ *
As the state changes, if the transition should play, the
+ *  playTransitions
+ *
  *  @see spark.components.supportClasses.InteractionState
  *
  *  @langversion 3.0
@@ -98,6 +102,23 @@
      *  the renderer was actually selected.
      */
     private var mouseUpDeselectTimer:Timer;
+
+	/**
+	 *  @private
+	 *  Whether the component using this InteractionStateDetector should
+	 *  play transitions on a particular state change.
+	 *
+	 *
This could be moved to the CHANGE event itself, but
+	 *  seeing as we don't have a formal mechanism for dealing with ItemRenderer
+	 *  transitions in the first place, this seems like an acceptable solution.

+	 *
+	 *
Currently, InteractionStateDetector is the one who would know whether a
+	 *  transition should play or not because it knows how it got in to a particular
+	 *  state and that's what we use to determine whether transitions play or not.
+	 *  For instance, if a scroll starts while you're in the down state, that should
+	 *  cancel the down state and not play a transition.

+	 */
+	mx_internal var playTransitions:Boolean = true;

     //--------------------------------------------------------------------------
     //
@@ -384,13 +405,21 @@
                 // if the user rolls over while holding the mouse button
                 if (mouseEvent.buttonDown && !mouseCaptured)
                     return;
+
+				// if rolling back over it, turn off transitions
+				if (mouseCaptured)
+					playTransitions = false;
                 hovered = true;
+				playTransitions = true;
                 break;
             }

             case MouseEvent.ROLL_OUT:
             {
+				// when rolled out, turn off transitions
+				playTransitions = false;
                 hovered = false;
+				playTransitions = true;
                 break;
             }

@@ -427,11 +456,9 @@

             case MouseEvent.MOUSE_UP:
             {
-				// FIXME (rfrishbe): we should be setting hovered=true here just like Button does.
-                // we're only not doing it as a temporary thing so tests don't break.  The reason it should
-                // be true is because if someone hovers over us with the mousedown and then releases up,
-                // the item they release up on should be hovered.
-                //setHovered(true);
+				// If someone mouses up on us, then they must be hovered over
+				// us now.
+                hovered = true;

                 if (mouseCaptured)
                 {
@@ -495,8 +522,13 @@
         stopSelectRendererAfterDelayTimer();

         // cancel the rollover/clickdown on and go back to a normal state
+
+		// turn off transitions for this change because it's really cancelling the
+		// the down state
+		playTransitions = false;
         hovered = false;
         mouseCaptured = false;
+		playTransitions = true;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4735
Author:   pfarland@adobe.com
Date:     2009-01-29T18:53:55.042174Z

Log Message:
-----------
Fixing id selectors for non-visual components. This required a special modification to the compiler to include id properties in generated code if a component was guaranteed to have an id property. A new mx.core.IID interface was introduced to opt in to the id property to be included. This change also required TextGraphicElement based components to implement IAdvancedStyleClient instead of just IStyleClient (though note that pseudo-selectors have no meaning for these components as they do not possess states).

QE: Yes
Doc: It's reasonably advanced, but we may want to document mx.core.IID for the case where a custom component exists that needs to be styled but is not based on UIComponent or GraphicElement.
Checkintests: Pass
Reviewers: Glenn, Paul R
Bugs:
SDK-18651 - Advanced CSS not setting styles on FXG elements correctly when styling using IDs

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IID.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/AttributeHandler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/framework/src/FrameworkClasses.as
+++ frameworks/projects/framework/src/FrameworkClasses.as
@@ -48,7 +48,8 @@
 	import mx.core.FlexLoader; FlexLoader;
 	import mx.core.FontAsset; FontAsset;
 	import mx.core.IDeferredInstance; IDeferredInstance;
-	import mx.core.IUID;
+	import mx.core.IID; IID;
+	import mx.core.IUID; IUID;
 	import mx.core.MovieClipAsset; MovieClipAsset;
 	import mx.core.MovieClipLoaderAsset; MovieClipLoaderAsset;
 	import mx.core.MXMLObjectAdapter; MXMLObjectAdapter;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4281
Author:   cframpto@adobe.com
Date:     2008-12-10T20:47:53.209400Z

Log Message:
-----------
1.  In Container.keyDownHandler() and CursorManagerImpl.mouseDownHandler() check for Gumbo text using a soft-link to TextView as well as Halo TextField.
2. In FxTextBase.focusInHandler() show focus ring on editable text per XD.
3.  In TextUtil.unobsureTextFlow() fix line break issues.  substring() should have been substr().  When trying to match the text in the span with the text string, use the length of the span's text rather than the length of the leaf, since the leaf could include an added paragraph terminator which isn't in the text string.

QE Notes: New functionality to test.
Doc Notes: None
Bugs: SDK-17306, SDK-16063, SDK-17762, SDK-17763, SDK-17923, SDK-17917
Reviewer: Gordon and Alex

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/TextUtil.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/core/Container.as</path>

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

--- frameworks/projects/spark/src/spark/utils/TextUtil.as
+++ frameworks/projects/spark/src/spark/utils/TextUtil.as
@@ -175,9 +175,13 @@
         {
             if (leaf is SpanElement)
             {
-                var t:String = text.substring(leaf.getAbsoluteStart(),
-                                              leaf.textLength);
-                SpanElement(leaf).text = t;
+                var span:SpanElement = leaf as SpanElement;
+
+                // leaf.textLength may have paragraph terminator in length so
+                // use length of text in the span
+                var t:String = text.substr(leaf.getAbsoluteStart(),
+                                          span.text.length);
+                span.text = t;
             }
         }
     }


bugfix UIComponent support

bugfix UIComponent support

--- lib/as3spec/as3spec/UIComponentSpec.as
+++ lib/as3spec/as3spec/UIComponentSpec.as
@@ -3,46 +3,33 @@
 	import as3spec.*;
 	import flash.events.*;
 	import flash.system.*;
-	import mx.core.UIComponent;
+	import mx.core.*;

 	public class UIComponentSpec extends Spec
 	{
 		private var context:UIComponent;
 		private var block:Function;

-		// context
+		// redirect describe until after creationComplete
 		override public function describe (context:*, block:Function) :void
 		{
 			if (context is UIComponent)
 			{
 				this.context = (context as UIComponent);
 				this.block = block;
-				this.context.addEventListener('creationComplete', after_creation_complete);
+				this.context.addEventListener('creationComplete', do_describe);
+
 				Application.application.addChild(this.context);
 			}
 			else
 			{
-				super.describe(context, block);
+				do_describe();
 			}
 		}

-		//
-		private function after_creation_complete (e:Object) :void
+		private function do_describe (...args) :void
 		{
 			super.describe(this.context, this.block);
 		}
-
-		// specify
-		public function it (story:String, block:Function) :void
-		{
-			context.specify(story, block);
-		}
-
-		// require
-		public function so (value:*) :Should
-		{
-			return context.require(value);
-		}
-
 	}
 }


Allow a function to be specified here, too.

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

--- src/as/com/threerings/flash/MenuUtil.as
+++ src/as/com/threerings/flash/MenuUtil.as
@@ -34,7 +34,7 @@
      * Create a menu item that will submit a controller command when selected.
      */
     public static function createControllerMenuItem (
-            caption :String, cmd :String, arg :Object = null,
+            caption :String, cmdOrFn :Object, arg :Object = null,
             separatorBefore :Boolean = false, enabled :Boolean = true,
             visible :Boolean = true) :ContextMenuItem
     {
@@ -42,7 +42,7 @@
             new ContextMenuItem(caption, separatorBefore, enabled, visible);
         item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,
             function (event :ContextMenuEvent) :void {
-                CommandEvent.dispatch(event.mouseTarget, cmd, arg);
+                CommandEvent.dispatch(event.mouseTarget, cmdOrFn, arg);
             });
         return item;
     }


update PickingController to automatically listen to the Viewport for mouse inputs

--- src/aerys/minko/scene/controller/PickingController.as
+++ src/aerys/minko/scene/controller/PickingController.as
@@ -59,6 +59,8 @@

         private var _technique          : uint;
 		private var _pickingRate		: Number;
+
+		private var _dispatchers		: Dictionary;

 		private var _lastPickingTime	: uint;
 		private var _useHandCursor		: Boolean;
@@ -192,6 +194,8 @@

 		private function initialize() : void
 		{
+			_dispatchers = new Dictionary(true);
+
 			_pickingIdToMesh = [];
 			_sceneData = new DataProvider({pickingProjection : new Matrix4x4()});
 			_meshData = new Dictionary(true);
@@ -256,6 +260,9 @@
 														   destination	: BitmapData,
 														   time			: Number) : void
 		{
+			if (!_dispatchers[viewport])
+				bindDefaultInputs(viewport);
+
 			// toggle picking pass
 			if (time - _lastPickingTime > 1000. / _pickingRate && _toDispatch != EVENT_NONE)
 			{
@@ -470,6 +477,8 @@

 		public function bindDefaultInputs(dispatcher : IEventDispatcher) : void
 		{
+			_dispatchers[dispatcher] = true;
+
 			dispatcher.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
 			dispatcher.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
 			dispatcher.addEventListener(MouseEvent.CLICK, clickHandler);
@@ -494,6 +503,8 @@

 		public function unbindDefaultInputs(dispatcher : IEventDispatcher) : void
 		{
+			delete _dispatchers[dispatcher];
+
 			dispatcher.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
 			dispatcher.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
 			dispatcher.removeEventListener(MouseEvent.CLICK, clickHandler);


Additional scale factors must be > 1x

Additional scale factors must be > 1x

--- exporter/src/main/as/flump/export/ExportConf.as
+++ exporter/src/main/as/flump/export/ExportConf.as
@@ -36,8 +36,9 @@
         var values :Set = Sets.newSetOf(int);
         for each (var num :String in str.split(",")) {
             try {
+                // additional scale factors must be integers > 1
                 var scale :int = StringUtil.parseUnsignedInteger(StringUtil.trim(num));
-                if (scale >= 1) {
+                if (scale > 1) {
                     values.add(scale);
                 }
             } catch (e :Error) {}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11899
Author:   rfrishbe@adobe.com
Date:     2009-11-17T18:24:33.641492Z

Log Message:
-----------
Cleaning up some FIXMEs assigned to me in the code:

In UIMC, we now call invalidateParentSizeAndDL() on setting explicitMaxWidth.  We already do this for explicitMaxHeight.  I also changed a FIXME around invalidateLayering() in to a TODO.

In GroupBase, I removed a FIXME around the focusPane as we are using the overlay API now.

In DataGroup, I changed a FIXME to a TODO with some clarifying comments.

In SkinnableContainer, I removed a FIXME and just commented on why it was needed.  I also removed another FIXME and some code now that it seems like we don’t need to do the array conversion with IDefferedInstance since the compiler handles it for us now.

In SkinnableDataContainer, I changed a FIXME around event delegation to a TODO.

In DropDownController, when you drag around the volume bar, the popup stays open even if the mouse isn’t over the open button or the dropdown.  However, when the mouse is released, we should immediately close the drop down, rather than wait for another mouseMove to occur.  This involved some refactoring of some code in to a private helper method.  The "@private" protected methods in DropDownController should probably be made mx_internal.  I will do that in a subsequent checkin.

QE notes: -
Doc notes: -
Bugs: -
Reviewer: Jason for the DropDownController change, Glenn for the rest
Tests run: checkintests, mustella FCK, Panel, SkinnableContainer, DropDownList
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -297,6 +297,7 @@
             {
                 systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler);
                 systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE, systemManager_mouseMoveHandler);
+                // MOUSEUP triggers may be added in systemManager_mouseMoveHandler
                 systemManager.getSandboxRoot().addEventListener(Event.RESIZE, systemManager_resizeHandler, false, 0, true);
             }

@@ -324,12 +325,53 @@
             {
                 systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_MOVE, systemManager_mouseMoveHandler);
                 systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_MOVE_SOMEWHERE, systemManager_mouseMoveHandler);
+                systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler);
+                systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, systemManager_mouseUpHandler);
                 systemManager.getSandboxRoot().removeEventListener(Event.RESIZE, systemManager_resizeHandler);
             }

             openButton.systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
         }
     }
+
+    /**
+     *  @private
+     *  Helper method for the mouseMove and mouseUp handlers to see if
+     *  the mouse is over a "valid" region.  This is used to help determine
+     *  when the dropdown should be closed.
+     */
+    private function isTargetOverDropDownOrOpenButton(target:DisplayObject):Boolean
+    {
+        if (target)
+        {
+            // check if the target is the openButton or contained within the openButton
+            if (openButton.contains(target))
+                return true;
+            if (hitAreaAdditions != null)
+            {
+                for (var i:int = 0;i<hitAreaAdditions.length;i++)
+                {
+                    if (hitAreaAdditions[i] == target ||
+                        ((hitAreaAdditions[i] is DisplayObjectContainer) && DisplayObjectContainer(hitAreaAdditions[i]).contains(target as DisplayObject)))
+                        return true;
+                }
+            }
+
+            // check if the target is the dropdown or contained within the dropdown
+            if (dropDown is DisplayObjectContainer)
+            {
+                if (DisplayObjectContainer(dropDown).contains(target))
+                    return true;
+            }
+            else
+            {
+                if (target == dropDown)
+                    return true;
+            }
+        }
+
+        return false;
+    }

     /**
      *  Open the drop down and dispatch a DropdownEvent.OPEN event.
@@ -516,40 +558,45 @@
     protected function systemManager_mouseMoveHandler(event:Event):void
     {
         var target:DisplayObject = event.target as DisplayObject;
-
-        // if the mouse is down, wait until it's released
-        // FIXME (rfrishbe): Need to do something when they mouse up in
-        // this case if they mouseup outside of the openButton/dropdown.
+        var containedTarget:Boolean = isTargetOverDropDownOrOpenButton(target);
+
+        if (containedTarget)
+            return;
+
+        // if the mouse is down, wait until it's released to close the drop down
         if ((event is MouseEvent && MouseEvent(event).buttonDown) ||
             (event is SandboxMouseEvent && SandboxMouseEvent(event).buttonDown))
+        {
+            systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler);
+            systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, systemManager_mouseUpHandler);
             return;
-
-        if (target)
-        {
-            // check if the target is the openButton or contained within the openButton
-            if (openButton.contains(target))
-                return;
-            if (hitAreaAdditions != null)
-            {
-                for (var i:int = 0;i<hitAreaAdditions.length;i++)
-                {
-                    if (hitAreaAdditions[i] == target ||
-                        ((hitAreaAdditions[i] is DisplayObjectContainer) && DisplayObjectContainer(hitAreaAdditions[i]).contains(target as DisplayObject)))
-                        return;
-                }
-            }
-
-            // check if the target is the dropdown or contained within the dropdown
-            if (dropDown is DisplayObjectContainer)
-            {
-                if (DisplayObjectContainer(dropDown).contains(target))
-                    return;
-            }
-            else
-            {
-                if (target == dropDown)
-                    return;
-            }
+        }
+
+        closeDropDown(true);
+    }
+
+    /**
+     *  @private
+     *  Called when the dropdown is popped up from a rollover and the mouse is released
+     *  anywhere on the screen.  This will close the popup.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    protected function systemManager_mouseUpHandler(event:Event):void
+    {
+        var target:DisplayObject = event.target as DisplayObject;
+        var containedTarget:Boolean = isTargetOverDropDownOrOpenButton(target);
+
+        // if we're back over the target area, remove this event listener
+        // and do nothing.  we handle this in mouseMoveHandler()
+        if (containedTarget)
+        {
+            systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, systemManager_mouseUpHandler);
+            systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, systemManager_mouseUpHandler);
+            return;
         }

         closeDropDown(true);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12469
Author:   jimurphy@adobe.com
Date:     2009-12-03T22:04:16.560316Z

Log Message:
-----------
fix offsets for FB.  Convert line ending from lf to crlf in svn for the proects directory only.  When checking project files in, be sure to save you files this way.  Another update to make sure happens is set the svn properties svn:eol-style = native and svn:mime-type = text/plain (these have been updated on theses files as well)

QE notes: make sure the proper class is selected
Doc notes: no
Bugs: http://bugs.adobe.com/jira/browse/SDK-24498
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
133 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InvalidatingSprite.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InvalidatingSprite.as
@@ -58,4 +58,4 @@
         _redrawRequested = value;
     }
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10372
Author:   klin@adobe.com
Date:     2009-09-18T00:49:09.441663Z

Log Message:
-----------
https://bugs.adobe.com/jira/browse/SDK-23273 - Excluded borderAlpha and borderVisible from mx:TabBar.

https://bugs.adobe.com/jira/browse/SDK-23042 - Pushed Exclude of focusThickness style from SkinnableComponent into specific subclasses (GroupBase, ScrollBar, SkinnableContainerBase, VideoPlayer, TitleBar) so that other subclasses will inherit the focusThickness style.

https://bugs.adobe.com/jira/browse/SDK-23172 - Revert of 10349. Fixed bug where dataTipInstance was not inheriting Slider's styles by assigning Slider as its owner. Also excluded unsupported text styles.

QE Notes: None
Doc Notes: None
Bugs: SDK-23273, SDK-23042, SDK-23172
Reviewer: Jason
API Change: No
Is noteworthy for integration: FB
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableContainerBase.as</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/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -71,7 +71,6 @@

 [Exclude(name="errorColor", kind="style")]
 [Exclude(name="focusBlendMode", kind="style")]
-[Exclude(name="focusThickness", kind="style")]
 [Exclude(name="themeColor", kind="style")]
 [Exclude(name="addChild", kind="method")]
 [Exclude(name="addChildAt", kind="method")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 20645
Author:   smgilson@adobe.com
Date:     2011-03-07T18:55:33.807951Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableContainerBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -297,6 +297,11 @@
     /**
      *  The state to be used when matching CSS pseudo-selectors. This override
      *  returns the current skin state instead of the component state.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     override protected function get currentCSSState():String
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5573
Author:   jimurphy@adobe.com
Date:     2009-03-26T15:11:59.159776Z

Log Message:
-----------
-more updated package and class names that were missed in the first pass
-remove the mx folder

qa: probably
doc: this updated more asdoc comments so you may want to make sure that this pass made the correct updates
checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<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/layout/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.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/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -38,7 +38,7 @@
 //--------------------------------------

 /**
- *  @copy mx.components.baseClasses.GroupBase#baseColor
+ *  @copy spark.components.supportClasses.GroupBase#baseColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -49,7 +49,7 @@

 /**
  *  Name of the skin class to use for this component. The skin must be a class that extends
- *  the mx.components.Skin class.
+ *  the spark.components.supportClasses.Skin class.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -98,7 +98,7 @@
  *  <MyComponent skinClass="my.skins.MyComponentSkin"/></pre>
  *
  *
- *  @see mx.components.Skin
+ *  @see spark.components.supportClasses.Skin
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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


RTMP.as: remove logs

RTMP.as: remove logs

--- src/RTMP.as
+++ src/RTMP.as
@@ -99,13 +99,11 @@
         mediaContainer.addMediaElement(mediaElement);
         addChild(mediaContainer);
       } else {
-        ExternalInterface.call('console.log', 'playing with media element');
         mediaPlayer.play();
       }
     }

     private function playerPause():void {
-      ExternalInterface.call('console.log', 'player pause');
       mediaPlayer.pause();
       playbackState = "PAUSED";
     }


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

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


Added in a variable for controlling the color of the line. The pen drawing cursor only appears when on the appropriate container. The pop-up menu for each container is now fixed.


Show only instance label in count columns

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/ui/UIBuilder.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/ui/UIBuilder.as
@@ -152,7 +152,8 @@
 				if(nodeDef is EntityDefinitionProxy) {
 					var entityDef:EntityDefinitionProxy = EntityDefinitionProxy(nodeDef);
 					if(entityDef.countInSummaryList) {
-						headerText = Message.get("list.headerCount", [entityDef.getLabelText()]);
+						//headerText = Message.get("list.headerCount", [entityDef.getLabelText()]);
+						headerText = entityDef.getLabelText();
 						dataField = "count" + position;
 						width = 70;
 						labelFunction = RecordSummaryDataGrid.recordSummariesCountEntityLabelFunction;


Transferred from the Adobe Open Source Subversion Repository

Revision: 9715
Author:   aharui@adobe.com
Date:     2009-08-27T21:20:28.280781Z

Log Message:
-----------
Introduce tabFocusEnabled to IFocusManagerComponent.  This replaces tabEnabled as the way to remove a component from the tabbing loop.  tabEnabled should be set to true for any component that can receive focus, and tabFocusEnabled determines whether the FocusManager will actually give it focus.  If tabEnabled=false on a non-TextField, the player will sometimes momentarily remove focus and dispatch a focusOut when the component has focus and is later clicked on.  This is now quite common with TLF-based text components so we are forced to make this change.

QE Notes: tests using tabEnabled must now use tabFocusEnabled
Doc Notes: needs documentation
Bugs: SDK-22731
Reviewer: Gordon
API Change: Yes
Is noteworthy for integration: Yes
tests: checkintests cyclone

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.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/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.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/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1400,6 +1400,7 @@
         focusRect = false; // We do our own focus drawing.
         // We are tab enabled by default if IFocusManagerComponent
         tabEnabled = (this is IFocusManagerComponent);
+        tabFocusEnabled = (this is IFocusManagerComponent);

         // Whether the component can accept user interaction.
         // The default is true. If you set enabled to false for a container,
@@ -4411,6 +4412,55 @@
         _mouseFocusEnabled =  value;
     }

+    //----------------------------------
+    //  tabFocusEnabled
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the tabFocusEnabled property.
+     */
+    private var _tabFocusEnabled:Boolean = true;
+
+    [Bindable("tabFocusEnabledChange")]
+    [Inspectable(defaultValue="true")]
+
+    /**
+     *  A flag that indicates whether child objects can receive focus
+     *
+     *
This is similar to the tabEnabled property
+     *  used by the Flash Player.

+     *
+     *
This is usually true for components that
+     *  handle keyboard input, but some components in controlbars
+     *  have them set to false because they should not steal
+     *  focus from another component like an editor.
+     *

+     *
+     *  @default true
+     *
+     *  @langversion 4.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get tabFocusEnabled():Boolean
+    {
+        return _tabFocusEnabled;
+    }
+
+    /**
+     *  @private
+     */
+    public function set tabFocusEnabled(value:Boolean):void
+    {
+        if (value != _tabFocusEnabled)
+        {
+            _tabFocusEnabled = value;
+            dispatchEvent(new Event("tabFocusEnabledChange"));
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties: Measurement


Transferred from the Adobe Open Source Subversion Repository

Revision: 19828
Author:   cframpto@adobe.com
Date:     2011-01-20T17:10:33.260047Z

Log Message:
-----------
For mx:TextArea, Text and Label, textHeight and textWidth were not updated in the case where the width changed and the text did not.  A width change can cause the text to reflow so the local copies of these TextField variables need to be updated.  In the case of the bug file, the variables were updated by commitProperties(), but updateDisplayList() then adjusted the width/height of the TextField and the copies were not updated.

QE notes:
Doc notes:
Bugs: SDK-14953
Reviewer: Alex
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Label.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/TextArea.as</path>

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

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -431,9 +431,17 @@
      */
     override public function set width(value:Number):void
     {
+        var changed:Boolean = super.width != value;
+
         super.width = value;
         if (mirror)
             validateTransformMatrix();
+
+        // Since changing the width may reflow the text which can
+        // change the textWidth and/or textHeight dispatch an event so
+        // that listeners can react to this.
+        if (changed)
+            dispatchEvent(new Event("textFieldWidthChange"));
     }

     //----------------------------------
@@ -460,7 +468,7 @@
             defaultTextFormat = cachedTextFormat;

         super.htmlText = value;
-
+
         // Remember the htmlText that we've set,
         // because the TextField doesn't remember it for us.
         // We need it so that we can re-apply the HTML markup


delaying callbacks during bulk update

delaying callbacks during bulk update

Change-Id: I737baf626d8a971c4eed9808a0c20f8832172549

--- WeaveUISpark/src/weave/visualization/layers/SimpleInteractiveVisualization.as
+++ WeaveUISpark/src/weave/visualization/layers/SimpleInteractiveVisualization.as
@@ -28,16 +28,16 @@

 	import weave.Weave;
 	import weave.api.WeaveAPI;
+	import weave.api.core.ICallbackCollection;
+	import weave.api.data.IAttributeColumn;
+	import weave.api.data.IKeySet;
 	import weave.api.getCallbackCollection;
 	import weave.api.linkSessionState;
 	import weave.api.newDisposableChild;
 	import weave.api.newLinkableChild;
+	import weave.api.primitives.IBounds2D;
 	import weave.api.registerLinkableChild;
 	import weave.api.reportError;
-	import weave.api.core.ICallbackCollection;
-	import weave.api.data.IAttributeColumn;
-	import weave.api.data.IKeySet;
-	import weave.api.primitives.IBounds2D;
 	import weave.api.ui.IPlotter;
 	import weave.compiler.StandardLib;
 	import weave.core.CallbackCollection;
@@ -126,6 +126,10 @@
 		 */
 		public function initializePlotters(mainPlotterClass:Class, showAxes:Boolean):*
 		{
+			getCallbackCollection(plotManager).delayCallbacks();
+			getCallbackCollection(plotManager.layerSettings).delayCallbacks();
+			getCallbackCollection(plotManager.plotters).delayCallbacks();
+
 			if (mainPlotterClass && !getMainPlotter())
 			{
 				plotManager.plotters.requestObject(MAIN_PLOT_LAYER_NAME, mainPlotterClass, true);
@@ -158,6 +162,10 @@
 				getCallbackCollection(plotManager.zoomBounds).triggerCallbacks();
 			}
 			putAxesOnBottom();
+
+			getCallbackCollection(plotManager.plotters).resumeCallbacks();
+			getCallbackCollection(plotManager.layerSettings).resumeCallbacks();
+			getCallbackCollection(plotManager).resumeCallbacks();
 			return getMainPlotter();
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.collections.errors
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11521
Author:   smgilson@adobe.com
Date:     2009-11-06T19:47:48.095501Z

Log Message:
-----------
ASDoc fixes for bugs FLEXDOCS-1102, FLEXDOCS-1103

QE notes: -
Doc notes: -
Bugs: - FLEXDOCS-1102, FLEXDOCS-1103
Reviewer: -
Tests run: - checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.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/containers/TabNavigator.as</path>

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

--- frameworks/projects/mx/src/mx/containers/ViewStack.as
+++ frameworks/projects/mx/src/mx/containers/ViewStack.as
@@ -124,17 +124,19 @@
 [IconFile("ViewStack.png")]

 /**
- *  A ViewStack navigator container consists of a collection of child
- *  Halo containers stacked on top of each other, where only one child
+ *  An MX ViewStack navigator container consists of a collection of child
+ *  containers stacked on top of each other, where only one child
  *  at a time is visible.
  *  When a different child container is selected, it seems to replace
  *  the old one because it appears in the same location.
  *  However, the old child container still exists; it is just invisible.
  *
- *
Note: The direct children of a Halo navigator container must be
- *  Halo containers, either Halo layout or Halo navigator containers.
- *  You cannot directly nest a control or a Spark container within a navigator;
- *  they must be children of a child Halo container.

+ *
Note: The direct children of an MX navigator container must be
+ *  MX containers, either MX layout or MX navigator containers,
+ *  or the Spark NavigatorContent container.
+ *  You cannot directly nest a control or a Spark container
+ *  other than the Spark NavigatorContent container within a navigator;
+ *  they must be children of an child MX container.

  *
  *
A ViewStack container does not provide a user interface
  *  for selecting which child container is currently visible.
@@ -308,14 +310,14 @@
     /**
      *  @private
      *  Remember which child has an overlay mask, if any.
-	 *  Used for the dissolve effect.
+     *  Used for the dissolve effect.
      */
     private var effectOverlayChild:UIComponent;

     /**
      *  @private
      *  Keep track of the overlay's targetArea
-	 *  Used for the dissolve effect.
+     *  Used for the dissolve effect.
      */
     private var effectOverlayTargetArea:RoundedRectangle;


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

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


When an event handler throws an error, print the stack trace as if execution halted, but continue processing events.

--- tamarin-central/thane/flash/events/EventDispatcher.as
+++ tamarin-central/thane/flash/events/EventDispatcher.as
@@ -48,7 +48,11 @@
             try {
                 listener(event);
             } catch (err :Error) {
-                trace("Event[" + event + "] dispatch error: " + err);
+                var errStr :String = err.getStackTrace();
+                if (errStr == null) {
+                    errStr = err.message;
+                }
+                trace(errStr);
             }
             if (event.isPropagationStopped(true)) {
                 break;


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

--- frameworks/projects/advancedgrids/src/mx/styles/metadata/PaddingStyles.as
+++ frameworks/projects/advancedgrids/src/mx/styles/metadata/PaddingStyles.as
@@ -0,0 +1,36 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Number of pixels between the control's left border
+ *  and the left edge of its content area.
+ *
+ *  @default 2
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="paddingLeft", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Number of pixels between the control's right border
+ *  and the right edge of its content area.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="paddingRight", type="Number", format="Length", inherit="no")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.charts.series.items
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12823
Author:   hhillen@paciellogroup.com
Date:     2009-12-11T02:01:40.548617Z

Log Message:
-----------
Added TabBarAccImpl, Moved ButtonBarAccImpl to ButtonBarBaseAccImpl
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TabBarAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as
@@ -0,0 +1,197 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.accessibility
+{
+
+import flash.accessibility.Accessibility;
+import flash.events.Event;
+
+import mx.accessibility.AccConst;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+import spark.components.supportClasses.ButtonBarBase;
+import spark.components.supportClasses.ListBase;
+
+use namespace mx_internal;
+
+/**
+ *  ButtonBarBaseAccImpl is a subclass of AccessibilityImplementation
+ *  which implements accessibility for the ButtonBarBase class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class ButtonBarBaseAccImpl extends ListBaseAccImpl
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Enables accessibility in the ButtonBarBase class.
+     *
+     *
This method is called by application startup code
+     *  that is autogenerated by the MXML compiler.
+     *  Afterwards, when instances of ButtonBarBase are initialized,
+     *  their accessibilityImplementation property
+     *  will be set to an instance of this class.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static function enableAccessibility():void
+    {
+        ButtonBarBase.createAccessibilityImplementation =
+            createAccessibilityImplementation;
+    }
+
+    /**
+     *  @private
+     *  Creates a ButtonBarBase's AccessibilityImplementation object.
+     *  This method is called from UIComponent's
+     *  initializeAccessibility() method.
+     */
+    mx_internal static function createAccessibilityImplementation(
+                                component:UIComponent):void
+    {
+        component.accessibilityImplementation =
+            new ButtonBarBaseAccImpl(component);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param master The UIComponent instance that this AccImpl instance
+     *  is making accessible.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function ButtonBarBaseAccImpl(master:UIComponent)
+    {
+        super(master);
+        role = AccConst.ROLE_SYSTEM_TOOLBAR;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: AccessibilityImplementation
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Gets the role for the component.
+     *
+     *  @param childID children of the component
+     */
+    override public function get_accRole(childID:uint):uint
+    {
+        return childID == 0 ? role : AccConst.ROLE_SYSTEM_PUSHBUTTON;
+    }
+
+    /**
+     *  @private
+     *  IAccessible method for returning the state of the ButtonBar Button.
+     *  States are predefined for all the components in MSAA.
+     *  Values are assigned to each state.
+     *  Depending upon the ButtonBar Button being Selected, Selectable, pressed
+     *  a value is returned.
+     *
+     *  @param childID uint
+     *
+     *  @return State uint
+     */
+    override public function get_accState(childID:uint):uint
+    {
+        var accState:uint = getState(childID);
+
+        if (childID > 0)
+        {
+            var index:int = childID - 1;
+            if (ListBase(master).isItemIndexSelected(index))
+                accState |= AccConst.STATE_SYSTEM_PRESSED;
+            if (index == ListBase(master).caretIndex)
+                accState |= AccConst.STATE_SYSTEM_FOCUSED;
+        }
+        return accState;
+    }
+
+    /**
+     *  @private
+     *  IAccessible method for returning the Default Action.
+     *
+     *  @param childID uint
+     *
+     *  @return DefaultAction String
+     */
+    override public function get_accDefaultAction(childID:uint):String
+    {
+        if (childID == 0)
+            return null;
+
+        return "Press";
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 */
+	override protected function eventHandler(event:Event):void
+    {
+        // Let AccImpl class handle the events
+        // that all accessible UIComponents understand.
+        $eventHandler(event);
+
+        switch (event.type)
+        {
+            case "change":
+            {
+                var pressed:int = ButtonBarBase(master).selectedIndex;
+
+                Accessibility.sendEvent(master, pressed + 1,
+                    AccConst.EVENT_OBJECT_STATECHANGE, true);
+                break;
+            }
+            default:
+            {
+                super.eventHandler(event);
+                break;
+            }
+        }
+    }
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12651
Author:   smgilson@adobe.com
Date:     2009-12-08T15:04:12.651288Z

Log Message:
-----------
ASDoc prep for L10N, and add a few new examples

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VideoDisplayExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VideoPlayerExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/mediaClasses/examples/DynamicStreamingVideoSourceExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/MuteButton.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/mediaClasses/examples</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/mediaClasses</path>

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

--- frameworks/projects/spark/src/spark/components/mediaClasses/MuteButton.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/MuteButton.as
@@ -24,8 +24,7 @@
 //--------------------------------------

 /**
- *  Dispatched when the video mutes or unmutes the volume
- *  from user-interaction.
+ *  Dispatched when the user mutes or unmutes the video.
  *
  *  @eventType mx.events.FlexEvent.MUTED_CHANGE
  *
@@ -37,12 +36,11 @@
 [Event(name="mutedChange", type="mx.events.FlexEvent")]

 /**
- *  The MuteButton is a mute button. The VideoPlayer
- *  hooks it up so that when the button is clicked it'll
- *  mute/unmute the volume.  This button has a volume property
- *  and a mute property so that the visuals of the button can
- *  change based on them.
+ *  The MuteButton class defines the mute button used by the VideoPlayer control.
+ *  Clicking the button mutes or unmutes the volume.
  *
+ *  @see spark.components.VideoPlayer
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -82,8 +80,8 @@
     [Bindable("mutedChanged")]

     /**
-     *  true if the volume of the video is muted;
-     *  false otherwise.
+     *  Contains true if the volume of the video is muted,
+     *  and false if not.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -117,7 +115,7 @@
     [Bindable(event="valueCommit")]

     /**
-     *  The volume of the video player.
+     *  The volume of the video player, specified as a value between 0 and 1.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -147,6 +145,9 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     */
     override protected function clickHandler(event:MouseEvent):void
     {
         super.clickHandler(event);


Transferred from the Adobe Open Source Subversion Repository

Revision: 19120
Author:   cframpto@adobe.com
Date:     2010-12-07T22:05:32.680097Z

Log Message:
-----------
In DataGroup, when doing a virtual layout, there is no need to set the data and label in the IR again if it wasn't just created or recycled.  The collectionChangeHandler will handle updates to data.

QE notes:
Doc notes:
Bugs: SDK-28656
Reviewer: Ryan, Hans
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -254,11 +254,6 @@
      */
     override public function set data(value:Object):void
     {
-        // FIXME (rfrishbe): early return if the data object has not changed.
-        // This should be removed when SDK-28656 is fixed.
-        if (data == value)
-            return;
-
         super.data = value;

         iconChanged = true;