Transferred from the Adobe Open Source Subversion Repository

Revision: 4531
Author:   egeorgie@adobe.com
Date:     2009-01-14T22:36:14.526244Z

Log Message:
-----------
Scrolling support for TileLayout.

QE Notes:
Doc Notes:
Bugs: None
Reviewer: Hans
tests: checkintests, mustella (layout, viewport, scroller)

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

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -11,6 +11,8 @@

 package mx.layout
 {
+import flash.geom.Rectangle;
+
 import mx.components.baseClasses.GroupBase;
 import mx.core.ILayoutElement;
 import mx.events.PropertyChangeEvent;
@@ -607,7 +609,8 @@
         }

         // Last, if we have explicit overrides for both rowCount and columnCount, then
-        // make sure that the count along the minor axis is deduced from the element count
+        // make sure that we can fit all the elements. If we need to, we will increase
+        // the count along the minor axis based on the element count
         // and the count along the major axis.
         // Note that we do this *after* justification is taken into account as we want to
         // justify based on the explicit user settings.
@@ -892,6 +895,42 @@
         element.setLayoutBoundsPosition(x, y);
     }

+    /**
+     *  @private
+     *  @return Returns the x coordinate of the left edge for the specified column.
+     */
+    final private function leftEdge(columnIndex:int):Number
+    {
+        return Math.max(0, columnIndex * (_columnWidth + _horizontalGap));
+    }
+
+    /**
+     *  @private
+     *  @return Returns the x coordinate of the right edge for the specified column.
+     */
+    final private function rightEdge(columnIndex:int):Number
+    {
+        return Math.min(target.contentWidth, columnIndex * (_columnWidth + _horizontalGap) + _columnWidth);
+    }
+
+    /**
+     *  @private
+     *  @return Returns the y coordinate of the top edge for the specified row.
+     */
+    final private function topEdge(rowIndex:int):Number
+    {
+        return Math.max(0, rowIndex * (_rowHeight + _verticalGap));
+    }
+
+    /**
+     *  @private
+     *  @return Returns the y coordinate of the bottom edge for the specified row.
+     */
+    final private function bottomEdge(rowIndex:int):Number
+    {
+        return Math.min(target.contentHeight, rowIndex * (_rowHeight + _verticalGap) + _rowHeight);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overriden methods from LayoutBase
@@ -1008,5 +1047,57 @@
         // If actual values have chnaged, notify listeners
         dispatchEventsForActualValueChanges();
     }
+
+    /**
+     *  @private
+     */
+    override protected function elementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle
+    {
+        var bounds:Rectangle = new Rectangle();
+        // Find the column that spans or is to the left of the scrollRect left edge.
+        var column:int = Math.floor((scrollRect.left - 1) / (_columnWidth + _horizontalGap));
+        bounds.left = leftEdge(column);
+        bounds.right = rightEdge(column);
+        return bounds;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function elementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle
+    {
+        var bounds:Rectangle = new Rectangle();
+        // Find the column that spans or is to the right of the scrollRect right edge.
+        var column:int = Math.floor((scrollRect.right + 1 + _horizontalGap) / (_columnWidth + _horizontalGap));
+        bounds.left = leftEdge(column);
+        bounds.right = rightEdge(column);
+        return bounds;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function elementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
+    {
+        var bounds:Rectangle = new Rectangle();
+        // Find the row that spans or is above the scrollRect top edge
+        var row:int = Math.floor((scrollRect.top - 1) / (_rowHeight + _verticalGap));
+        bounds.top = topEdge(row);
+        bounds.bottom = bottomEdge(row);
+        return bounds;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function elementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
+    {
+        var bounds:Rectangle = new Rectangle();
+        // Find the row that spans or is below the scrollRect bottom edge
+        var row:int = Math.floor((scrollRect.bottom + 1 + _verticalGap) / (_rowHeight + _verticalGap));
+        bounds.top = topEdge(row);
+        bounds.bottom = bottomEdge(row);
+        return bounds;
+    }
 }
 }


Updated for merge issues.

Updated for merge issues.

--- src/net/johnmercer/nes/system/CPU.as
+++ src/net/johnmercer/nes/system/CPU.as
@@ -208,7 +208,7 @@

 			switch(addressingMode)
 			{
-				// Two bytes for a word
+				// Two bytes for an unsigned word
 				case ABS:
 				case ABX:
 				case ABY:
@@ -416,7 +416,9 @@
 				case "TYA":
 					instrTYA(addressingMode, param1, param2, paramWord);
 					break;
-
+				case "XXX":
+					instrXXX(addressingMode, param1, param2, paramWord);
+					break;
 				default:
 					_emulator.log("Unimplemented instruction" + instruction + ":" + (INST_NAME[instruction]?INST_NAME[instruction]:"Unknown"));
 					break;
@@ -439,6 +441,12 @@
 			return _mem.readUnsignedByte();
 		}

+		private function writeByte(addr:uint, value:uint):void
+		{
+			_mem.position = addr;
+			_mem.writeByte(value);
+		}
+
 		private function readByte(addr:uint):int
 		{
 			// Determine where we are trying to read
@@ -553,12 +561,12 @@
 					value = param1;
 					break;
 				case ZPG:
-					value = readUnsignedByte(param1);
+					_mem.position = param1;
+					value = _mem.readUnsignedByte();
 					break;
 				case ZPX:
-					value = readUnsignedByte(param1);
-					value += X;
-					value = readUnsignedByte(value & 0xFF);
+					_mem.position = (param1 + X) & 0xFF;
+					value = _mem.readUnsignedByte();
 					break;
 				case ABS:
 					value = readUnsignedByte(paramWord);
@@ -571,52 +579,109 @@
 					value = readUnsignedByte(paramWord + Y);
 					break;
 				case INX:
-					value = readUnsignedByte(param1);
-					value = (value + X) & 0xFF;
-					if (value == 0xFF)
+					// Address to read value from is at (param1 + X) & 0xFF
+					value = (param1 + X) & 0xFF; // Pointer to address
+					if (value == 0xFF)  // Page boundary
 						value = readUnsignedByte(0xFF) | (readUnsignedByte(0) << 8);
 					else
-						value = readUnsignedWord(value);
+					{
+						_mem.position = value;
+						value = _mem.readUnsignedShort(); // address
+					}

 					value = readUnsignedByte(value);
 					break;
 				case INY:
 					if (param1 == 0xFF)
-						value = readUnsignedByte(0xFF) | (readUnsignedByte(0) << 8);
+						value = readUnsignedByte(value) | (readUnsignedByte(0) << 8);
 					else
-						value = readUnsignedWord(param1);
+					{
+						_mem.position = param1;
+						value = _mem.readUnsignedShort();
+					}
+
 					value += Y;
 					value = readUnsignedByte(value);
-					break;
+					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: ADC");
 					break;
 			}
+
 			result = A + value;
+
 			P &= ~(NEGATIVE_FLAG | CARRY_FLAG | OVERFLOW_FLAG);
+
 			if (result & 0x80)
 				P |= NEGATIVE_FLAG;
 			if (result & 0x100)
 				P |= CARRY_FLAG;
+
 			var sign:uint = 0;
 			// Overflow if A and Value have the same sign, but result is a different sign
+			// Could check wtih (A & V & ~R | ~A & ~V & R) & 0x80 .. is that faster?
 			if (((sign = A & 0x80) == (value & 0x80)) && (sign != (result & 0x80)))
 				P |= OVERFLOW_FLAG;

-			A = result & 0xFF;
 		}

 		private function instrAND(addressingMode:uint, param1:uint, param2:uint, paramWord:uint):void
 		{
+			var value:uint = 0;
 			switch (addressingMode)
 			{
 				case IMM:
-					A = A & param1 & 0xFF;
+					value = param1;
+					break;
+				case ZPG:
+					_mem.position = param1;
+					value = _mem.readUnsignedByte();
+					break;
+				case ZPX:
+					_mem.position = (param1 + X) & 0xFF;
+					value = _mem.readUnsignedByte();
+					break;
+				case ABS:
+					value = readUnsignedByte(paramWord);
+					break;
+				case ABX:
+					value = readUnsignedByte(paramWord + X);
+					// Calculate cycle by checking paramWord + X & 0xFF < paramWord & 0xFF(or param1?)
+					break;
+				case ABY:
+					value = readUnsignedByte(paramWord + Y);
+					break;
+				case INX:
+					// Address to read value from is at (param1 + X) & 0xFF
+					value = (param1 + X) & 0xFF; // Pointer to address
+					if (value == 0xFF)  // Page boundary
+						value = readUnsignedByte(0xFF) | (readUnsignedByte(0) << 8);
+					else
+					{
+						_mem.position = value;
+						value = _mem.readUnsignedShort(); // address
+					}
+
+					value = readUnsignedByte(value);
+					break;
+				case INY:
+					if (param1 == 0xFF)
+						value = readUnsignedByte(value) | (readUnsignedByte(0) << 8);
+					else
+					{
+						_mem.position = param1;
+						value = _mem.readUnsignedShort();
+					}
+
+					value += Y;
+					value = readUnsignedByte(value);
 					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: AND");
 					break;
 			}
+
+			A = A & value & 0xFF;

 			P &= 0x7D;  // Clear Negative and Zero Flag

@@ -693,10 +758,11 @@
 			switch (addressingMode)
 			{
 				case ZPG:
-					value = _mem[param1];
+					_mem.position = param1;
+					value = _mem.readUnsignedByte();
 					break;
 				case ABS:
-					value = readByte(paramWord);
+					value = readUnsignedByte(paramWord);
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: BIT");
 					break;
@@ -718,7 +784,12 @@
 		{
 			switch (addressingMode)
 			{
-
+				case REL:
+					if (P &  NEGATIVE_FLAG)
+					{
+						PC += param1;
+					}
+					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: BMI");
 					break;
@@ -1045,7 +1116,8 @@
 					A = param1 & 0xFF;
 					break;
 				case ZPG:
-					A = _mem[param1] & 0xFF;
+					_mem.position = param1;
+					A = _mem.readUnsignedByte();
 					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: LDA");
@@ -1108,6 +1180,7 @@
 			switch (addressingMode)
 			{
 				case IMP:
+					// No Op
 					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: NOP");
@@ -1280,7 +1353,8 @@
 			switch (addressingMode)
 			{
 				case ZPG:
-					_mem[param1] = A;
+					_mem.position = param1;
+					_mem.writeByte(A);
 					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: STA");
@@ -1293,7 +1367,6 @@
 			switch (addressingMode)
 			{
 				case ZPG:
-					_mem.position = param1;
 					_mem.writeByte(X);
 					break;
 				default:
@@ -1377,6 +1450,11 @@
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: TYA");
 					break;
 			}
+		}
+
+		private function instrXXX(addressingMode:uint, param1:uint, param2:uint, paramWord:uint):void
+		{
+			_emulator.log("Invalid Opcode read, ignoring");
 		}

@@ -1425,7 +1503,8 @@
 					break;
 				case ZPG:
 					str += "ZPG $" + hexToStr(p1) + " = ";
-					str += hexToStr(_mem[p1]);
+					_mem.position = p1;
+					str += hexToStr(_mem.readUnsignedByte());
 					break;
 				case IMP:
 					break;


Transferred from the Adobe Open Source Subversion Repository

Revision: 22564
Author:   tkraikit@adobe.com
Date:     2011-09-14T19:50:07.656843Z

Log Message:
-----------
Update ASDoc "@productversion Flex 4.5.2" => "@productversion Flex 4.6"

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.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/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as
@@ -21,7 +21,7 @@
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 public class DefaultBeveledActionButtonSkin extends BeveledActionButtonSkin
 {
@@ -36,7 +36,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function DefaultBeveledActionButtonSkin()
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6481
Author:   egeorgie@adobe.com
Date:     2009-05-01T23:55:34.032529Z

Log Message:
-----------
Fix bug http://bugs.adobe.com/jira/browse/SDK-20857 List is not responding to PgDn and PgUp

Implement page up/down support in vertical, horizontal and tile layouts.

QE Notes: None
Doc Notes: None
Bugs: SDK-20857
Reviewer: Deepa, Hans
tests: checkintests

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

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -21,6 +21,7 @@
 import spark.core.ScrollUnit;
 import mx.core.ILayoutElement;
 import mx.utils.OnDemandEventDispatcher;
+import spark.core.NavigationUnit;

 /**
  *  The base class for all layouts.
@@ -528,43 +529,43 @@
     /**
      *  Delegation method that determines which item
      *  to navigate to based on the current item in focus
-     *  and key stroke that was encountered. This method
+     *  and user input in terms of NavigationUnit. This method
      *  is used by derivatives of ListBase to handle
-     *  keyboard navigation.
+     *  keyboard navigation. ListBase maps user input to
+     *  NavigationUnit constants.
      *
      *  Subclasses can override this method to compute other
      *  values that are based on the current index and key
      *  stroke encountered.
      *
-     *  @param keyCode The key stroke that determines which item
-     *  to navigate to next.
+     *  @param navigationUnit The NavigationUnit constant that determines
+     *  which item to navigate to next.
      *
      *  @param currentIndex The current index of the item with focus.
      *
-     *  @param maxIndex The maximum value the index can jump to
-     *
-     *  @return The index of the next item to jump to.
-     *
+     *  @return The index of the next item to jump to. Returns -1
+     *  when if the layout doens't recognize the navigationUnit.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
-     public function nextItemIndex(keyCode:uint, currentIndex:int, maxIndex:int):int
+     public function getDestinationIndex(navigationUnit:uint, currentIndex:int):int
      {
          //Sub-classes implement according to their own layout
          //logic. Common cases handled here.
-         var retVal:int = -1;
-         switch (keyCode)
+         switch (navigationUnit)
          {
-             case Keyboard.END:
-             {
-                 retVal = maxIndex;
-                 break;
-             }
-             case Keyboard.HOME:
-             {
-                 retVal = 0;
-                 break;
-             }
+             case NavigationUnit.HOME:
+                 return 0;
+
+             case NavigationUnit.END:
+                 return target.numElements - 1;
+
+             default:
+                return -1;
          }
-         return retVal;
      }

     /**


improved private variable names

improved private variable names

--- WeaveCore/src/weave/core/LinkableCallbackScript.as
+++ WeaveCore/src/weave/core/LinkableCallbackScript.as
@@ -28,8 +28,8 @@
 		public function LinkableCallbackScript()
 		{
 			var callbacks:ICallbackCollection = WeaveAPI.SessionManager.getCallbackCollection(this);
-			callbacks.addImmediateCallback(null, selfCallback);
-			callbacks.addGroupedCallback(null, selfGroupedCallback);
+			callbacks.addImmediateCallback(null, _immediateCallback);
+			callbacks.addGroupedCallback(null, _groupedCallback);
 		}

 		public const variables:LinkableHashMap = registerLinkableChild(this, new LinkableHashMap());
@@ -53,19 +53,19 @@
 				|| LinkableFunction.macros.getObject(name) != null;
 		}

-		private function selfCallback():void
+		private function _immediateCallback():void
 		{
 			if (!groupedCallback.value)
-				runScript();
+				_runScript();
 		}

-		private function selfGroupedCallback():void
+		private function _groupedCallback():void
 		{
 			if (groupedCallback.value)
-				runScript();
+				_runScript();
 		}

-		private function runScript():void
+		private function _runScript():void
 		{
 			if (delayWhileBusy.value && WeaveAPI.SessionManager.linkableObjectIsBusy(this))
 				return;
@@ -75,7 +75,7 @@

 			try
 			{
-				if (detectLinkableObjectChange(selfCallback, script))
+				if (detectLinkableObjectChange(_runScript, script))
 					_compiledScript = _compiler.compileToFunction(script.value, _symbolTableProxy, reportError, false);

 				_compiledScript.apply(this);


fix Plane.normalize() to normalize Plane.d

--- src/aerys/minko/type/math/Plane.as
+++ src/aerys/minko/type/math/Plane.as
@@ -165,12 +165,19 @@
 		{
 			var mag	: Number	= Math.sqrt(_a * _a + _b * _b + _c * _c);

-			if (mag != 0. && mag != 1.)
+			if (mag != 0.)
 			{
 				_a /= mag;
 				_b /= mag;
 				_c /= mag;
 				_d /= mag;
+			}
+			else
+			{
+				_a = 0.;
+				_b = 0.;
+				_c = 0.;
+				_d = 0.;
 			}

 			return mag;


foe controller

foe controller

--- src/com/merlinds/debug/DebugUtils.as
+++ src/com/merlinds/debug/DebugUtils.as
@@ -18,6 +18,7 @@
 		//==============================================================================
 		//{region							PUBLIC METHODS
 		public static function writeLog(instance:Object, method:String, level:String, message:Array = null):void {
+			//return
 			var target:String = instance.toString();
 			target = target.substr(0, target.length - 1) + "." + method + "()]";
 			var timestamp:Number = getTimer() * .001;


add user specs for jasmine-flex

add user specs for jasmine-flex

--- flash/jasmine-flex/src/spec/AddUser.as
+++ flash/jasmine-flex/src/spec/AddUser.as
@@ -4,6 +4,7 @@
 import com.infrared5.application.service.UserService;

 import flash.events.Event;
+import flash.events.IOErrorEvent;
 import flash.net.URLLoader;

 import mockolate.stub;
@@ -58,5 +59,59 @@
 			});
 		});

+		it("should append previously non-existant user to session listing.", function():void {
+			var responseUser:User;
+			command.execute(function(response:Object):void {
+				responseUser = response as User;
+			}, null);
+			dispatcher.dispatchEvent(new Event(Event.COMPLETE));
+
+			waitsFor(function():* {
+				return responseUser != null;
+			}, "Could not properly test add user. Timeout.", 500);
+
+			runs(function():void {
+				expect(session.users.length).toEqual(1);
+				expect(session.users[0]).toEqual(user);
+			});
+		});
+
+	});
+
+	describe("add previously existant user", function():void {
+
+		it("should respond on fault if user not added", function():void {
+			var responseMessage:String;
+			command.execute(null, function(response:Object):void {
+				responseMessage = response as String;
+			});
+			dispatcher.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
+
+			waitsFor(function():* {
+				return responseMessage != null;
+			}, "Could not properly test add user. Timeout.", 500);
+
+			runs(function():void {
+				expect(responseMessage as String).not.toBeNull();
+			});
+		});
+
+		it("should not affect session user list on fault", function():void {
+			var responseMessage:String;
+			var previousSessionUserLength:int = session.users.length;
+			command.execute(null, function(response:Object):void {
+				responseMessage = response as String;
+			});
+			dispatcher.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
+
+			waitsFor(function():* {
+				return responseMessage != null;
+			}, "Could not properly test add user. Timeout.", 500);
+
+			runs(function():void {
+				expect(session.users.length).toEqual(previousSessionUserLength);
+			});
+		});
+
 	});
 });


Smarter reloads, better best effort fetching behavior.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -37,6 +37,9 @@

 	public class HLSIndexHandler extends HTTPStreamingIndexHandlerBase implements IExtraIndexHandlerState
 	{
+		// Polling interval when waiting on stuff like manifest reloads.
+		public static const SHORT_LIVE_STALL_DELAY:Number = 0.25;
+
 		// Time in seconds to wait before retrying a LIVE_STALL
 		public static const RETRY_INTERVAL:uint = 3;

@@ -567,6 +570,7 @@

 			if(currentManifest.fullUrl == newManifest.fullUrl)
 			{
+				trace("Remapping from/to same URL, no op.");
 				return currentSequence;
 			}

@@ -586,7 +590,7 @@

 			if(!checkAnySegmentKnowledge(newManifest.segments) || !checkAnySegmentKnowledge(currentManifest.segments))
 			{
-				trace("Bailing on reload due to lack of knowledge!");
+				trace("Bailing on remap due to lack of knowledge!");

 				// re-reload.
 				reloadingManifest = null; // don't want to hang on to this one.
@@ -655,8 +659,15 @@

 		private function onReloadComplete(event:Event):void
 		{
+			if(event.target != reloadingManifest)
+			{
+				trace("Rejecting invalid onReloadComplete call.");
+				return;
+			}
+
 			trace ("::onReloadComplete - last/reload/target: " + lastQuality + "/" + reloadingQuality + "/" + targetQuality);
 			var newManifest:HLSManifestParser = event.target as HLSManifestParser;
+			trace ("     - url=" + newManifest.fullUrl);

 			if(!newManifest)
 			{
@@ -712,9 +723,19 @@

 			var timerOnErrorDelay:Number = newManifest.targetDuration * 1000  / 2;

+
 			// Remap if needed.
-				var newSequence:int = remapSequence(getLastSequenceManifest(), newManifest, getLastSequence(), false);
-			if(newSequence == -1)
+			var newSequence:int = remapSequence(getLastSequenceManifest(), newManifest, getLastSequence(), false);
+
+			// Store the new manifest.
+			trace("Updating manifest for quality " + reloadingQuality);
+			if(manifest.streams.length)
+				manifest.streams[reloadingQuality].manifest = newManifest;
+			else
+				manifest = newManifest;
+
+			// If it's a change and remap fails, we can abort.
+			if(newSequence == -1 && (!getLastSequenceManifest() || newManifest.fullUrl != getLastSequenceManifest().fullUrl))
 			{
 				reloadingManifest = null; // don't want to hang on to it
 				if (reloadTimer) reloadTimer.start();
@@ -723,12 +744,8 @@
 			}

 			// Update our manifest for this quality level.
-			trace("Setting quality to " + reloadingQuality);
-			if(manifest.streams.length)
-				manifest.streams[reloadingQuality].manifest = newManifest;
-			else
-				manifest = newManifest;
-			lastQuality = reloadingQuality;
+			//trace("Changing from " + lastQuality + " to " + reloadingQuality);
+			//lastQuality = reloadingQuality;

 			// Update last sequence state.
 			updateLastSequence(newManifest, newSequence);
@@ -809,24 +826,45 @@

 		public override function getFileForTime(time:Number, quality:int):HTTPStreamRequest
 		{
-			trace("getFileForTime - " + time + " quality=" + quality);
-
+			trace("--- getFileForTime(time=" + time + ", quality=" + quality + ")");
+
+			// Force a reload if needed.
+			var manifestResponse:HTTPStreamRequest = issueManifestReloadIfNeeded(quality);
+			if(manifestResponse != null)
+				return manifestResponse;
+
 			var origQuality:int = quality;
 			quality = getWorkingQuality(quality);
-
 			var segments:Vector.<HLSManifestSegment> = getSegmentsForQuality( origQuality );
+			var manifest:HLSManifestParser = getManifestForQuality( origQuality );
 			if(!checkAnySegmentKnowledge(segments))
 			{
 				if(!isBestEffortActive())
 				{
 					// We may also need to establish a timebase.
 					trace("getFileForTime - Seeking without timebase; initiating request.");
-					return initiateBestEffortRequest(getLastSequence() + 1, origQuality);
+					if(getLastSequenceManifest())
+					{
+						return initiateBestEffortRequest(getLastSequence() + 1, origQuality, segments);
+					}
+					else
+					{
+						// Get last item less MAX_SEG_BUFFER
+						if(segments.length > 0 && !manifest.streamEnds)
+						{
+							var bufferSeg:HLSManifestSegment = segments[Math.max(0, segments.length - HLSManifestParser.MAX_SEG_BUFFER)];
+							return initiateBestEffortRequest(bufferSeg.id, origQuality, segments);
+						}
+						else
+						{
+							return initiateBestEffortRequest(getLastSequence() + 1, origQuality, segments);
+						}
+					}
 				}
 				else
 				{
 					trace("getFileForTime - Waiting on knowledge!");
-					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, 1);
+					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 				}
 			}

@@ -883,7 +921,7 @@
 			if (!resource.manifest.streamEnds)
 			{
 				trace("getFileForTime - stalling.");
-				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, 1);
+				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 			}

 			trace("getFileForTime - end of stream.s");
@@ -900,9 +938,51 @@
 			}
 			return null;
 		}
+
+		private function issueManifestReloadIfNeeded(quality:int):HTTPStreamRequest
+		{
+			// If we don't need a reload, return null.
+			var manToReload:HLSManifestParser = getManifestForQuality(quality);
+			var curTime:uint = getTimer();
+			if(curTime - manToReload.timestamp < manToReload.targetDuration * 500)
+			{
+				// Don't need to reload.
+				trace("issueManifestReloadIfNeeded - Don't need to reload");
+				return null;
+			}
+
+			if(reloadingManifest
+				&& reloadingManifest.quality == quality
+				&& curTime - reloadingManifest.lastReloadRequestTime < manToReload.targetDuration * 500
+				&& reloadingManifest.timestamp < reloadingManifest.lastReloadRequestTime)
+			{
+				// Waiting on a reload already.
+				trace("issueManifestReloadIfNeeded - waiting");
+				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
+			}
+
+			// Otherwise, issue a reload and return a stall.
+			if (reloadTimer)
+				reloadTimer.stop(); // In case the timer is active - don't want to do another reload in the middle of it
+
+			trace("Firing reload for quality " + quality);
+
+			reloadingQuality = quality;
+
+			reloadingManifest = new HLSManifestParser();
+			reloadingManifest.quality = quality;
+			reloadingManifest.type = manToReload.type;
+			reloadingManifest.addEventListener(Event.COMPLETE, onReloadComplete);
+			reloadingManifest.addEventListener(IOErrorEvent.IO_ERROR, onReloadError);
+			reloadingManifest.reload(manToReload);
+
+			return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
+		}

 		public override function getNextFile(quality:int):HTTPStreamRequest
 		{
+			trace("--- getNextFile(" + quality + ")");
+
 			// Fire any pending best effort requests.
 			if(_pendingBestEffortRequest)
 			{
@@ -912,14 +992,20 @@
 				return pber;
 			}

+			var manifestResponse:HTTPStreamRequest = issueManifestReloadIfNeeded(quality);
+			if(manifestResponse != null)
+			{
+				trace("Got a manifest response");
+				return manifestResponse;
+			}
+
 			// Report stalls and/or wait on timebase establishment.
 			if (stalled)
 			{
 				trace("Stalling -- quality[" + quality + "] lastQuality[" + lastQuality + "]");

 				// TODO - ensure a reload is pending?
-
-				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
+				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 			}

 			HLSHTTPNetStream.recoveryStateNum = URLErrorRecoveryStates.NEXT_SEG_ATTEMPTED;
@@ -934,7 +1020,7 @@
 			if(quality != origQuality && isBestEffortActive())
 			{
 				trace("Waiting on best effort to resolve...");
-				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
+				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 			}

 			// If no old manifest, it's a new play session.
@@ -947,7 +1033,7 @@
 				}
 				else
 				{
-					updateLastSequence(currentManifest, currentManifest.segments[Math.max(0, currentManifest.segments.length - HLSManifestParser.MAX_SEG_BUFFER)].id);
+					updateLastSequence(currentManifest, currentManifest.segments[Math.max(0, currentManifest.segments.length - HLSManifestParser.MAX_SEG_BUFFER + -1)].id);
 				}
 			}

@@ -975,8 +1061,8 @@
 				}
 				else
 				{
-					trace("Firing live stall");
-					return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
+					trace("Firing live stall due to remap failure.");
+					return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 				}
 			}

@@ -1273,7 +1359,6 @@
 			return getManifestForQuality(lastQuality).targetDuration;
 		}

-
 		/**
 		 * @private
 		 *
@@ -1295,16 +1380,16 @@
 			_bestEffortDownloaderMonitor.addEventListener(HTTPStreamingEvent.DOWNLOAD_COMPLETE, onBestEffortDownloadComplete);
 			_bestEffortDownloaderMonitor.addEventListener(HTTPStreamingEvent.DOWNLOAD_ERROR, onBestEffortDownloadError);

+			// Get the manifest.
+			var newMan:HLSManifestParser = getManifestForQuality(quality);
+			if(newMan == null)
+			{
+				trace("initiateBestEffortRequest - No manifest found to best effort request quality level " + quality);
+				return null;
+			}
+
 			if(!segments)
 			{
-				// Get the URL.
-				var newMan:HLSManifestParser = getManifestForQuality(quality);
-				if(newMan == null)
-				{
-					trace("initiateBestEffortRequest - No manifest found to best effort request quality level " + quality);
-					return null;
-				}
-
 				segments = newMan.segments;
 			}

@@ -1317,8 +1402,15 @@
 			var nextSeg:HLSManifestSegment = getSegmentBySequenceCapped(segments, nextFragmentId);
 			if(nextSeg.id != nextFragmentId)
 			{
+				// Wait for manifest to reload, we probably hit live edge!
+				if(nextSeg.id < nextFragmentId)
+				{
+					return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
+				}
+
 				trace("Out of bounds best effort segment ID request, using " + nextSeg.id + " instead of " + nextFragmentId);
 			}
+
 			_bestEffortFileHandler.segmentId = nextSeg.id;
 			_bestEffortFileHandler.key = getKeyForIndex( nextSeg.id );
 			_bestEffortFileHandler.segmentUri = nextSeg.uri;
@@ -1384,7 +1476,7 @@
 						trace("Got null download input.");
 					}

-					// Resetp arsing process.
+					// Reset parsing process.
 					_bestEffortFileHandler.beginProcessFile(false, 0.0);

 					// feed the bytes to our f4f handler in order to parse out the bootstrap box.
@@ -1470,9 +1562,24 @@
 				event.downloader);
 			dispatchEvent(clone);

-			// Always skip for now.
+			// Is it the next one we want?
+			if(getLastSequenceManifest())
+			{
+				var nextSeg:HLSManifestSegment = getSegmentBySequence(getLastSequenceSegments(), getLastSequence() + 1);
+				if(nextSeg)
+				{
+					var nextUri:String = nextSeg.uri;
+					trace("Checking " + event.url + " vs " + nextUri);
+					if(event.url == nextUri)
+					{
+						continueBestEffortFetch(nextUri, event.downloader);
+						return;
+					}
+				}
+			}
+
+			// Otherwise skip.
 			skipBestEffortFetch(_bestEffortFileHandler.segmentUri, event.downloader);
-
 		}

 		/**


Fixed bug where vertexID was being used instead of zero. getBounds() function would not work when specifying numVertices that is smaller or equal to vertexID. This was because vertexId was being used incorrectly in the for loops. Zero should have been used instead.

--- src/engine/tetragon/view/render2d/core/VertexData2D.as
+++ src/engine/tetragon/view/render2d/core/VertexData2D.as
@@ -327,25 +327,31 @@
 		 *  If you pass a 'resultRect', the result will be stored in this rectangle
 		 *  instead of creating a new object. To use all vertices for the calculation, set
 		 *  'numVertices' to '-1'. */
-		public function getBounds(transformationMatrix:Matrix = null, vertexID:int = 0, numVertices:int = -1, resultRect:Rectangle = null):Rectangle
-		{
-			if (resultRect == null) resultRect = new Rectangle();
+		public function getBounds(transformationMatrix:Matrix = null, vertexID:int = 0,
+			numVertices:int = -1, resultRect:Rectangle = null):Rectangle
+		{
+			if (!resultRect) resultRect = new Rectangle();
 			if (numVertices < 0 || vertexID + numVertices > _numVertices)
+			{
 				numVertices = _numVertices - vertexID;
-
-			var minX:Number = Number.MAX_VALUE, maxX:Number = -Number.MAX_VALUE;
-			var minY:Number = Number.MAX_VALUE, maxY:Number = -Number.MAX_VALUE;
-			var offset:int = getOffset(vertexID) + POSITION_OFFSET;
-			var x:Number, y:Number, i:int;
-
-			if (transformationMatrix == null)
-			{
-				for (i = vertexID; i < numVertices; ++i)
+			}
+
+			var minX:Number = Number.MAX_VALUE,
+				maxX:Number = -Number.MAX_VALUE,
+				minY:Number = Number.MAX_VALUE,
+				maxY:Number = -Number.MAX_VALUE,
+				offset:int = getOffset(vertexID) + POSITION_OFFSET,
+				x:Number,
+				y:Number,
+				i:int;
+
+			if (!transformationMatrix)
+			{
+				for (i = 0; i < numVertices; ++i)
 				{
 					x = _rawData[offset];
 					y = _rawData[int(offset + 1)];
 					offset += ELEMENTS_PER_VERTEX;
-
 					minX = minX < x ? minX : x;
 					maxX = maxX > x ? maxX : x;
 					minY = minY < y ? minY : y;
@@ -354,12 +360,11 @@
 			}
 			else
 			{
-				for (i = vertexID; i < numVertices; ++i)
+				for (i = 0; i < numVertices; ++i)
 				{
 					x = _rawData[offset];
 					y = _rawData[int(offset + 1)];
 					offset += ELEMENTS_PER_VERTEX;
-
 					MatrixUtil.transformCoords(transformationMatrix, x, y, _helperPoint);
 					minX = minX < _helperPoint.x ? minX : _helperPoint.x;
 					maxX = maxX > _helperPoint.x ? maxX : _helperPoint.x;
@@ -367,12 +372,12 @@
 					maxY = maxY > _helperPoint.y ? maxY : _helperPoint.y;
 				}
 			}
-
+
 			resultRect.setTo(minX, minY, maxX - minX, maxY - minY);
 			return resultRect;
 		}
-
-
+
+
 		/** Changes the way alpha and color values are stored. Updates all exisiting vertices. */
 		public function setPremultipliedAlpha(value:Boolean, updateData:Boolean = true):void
 		{


XIFF-40: Testing first commit. Added clone() method to InviteEvent.

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

--- src/org/jivesoftware/xiff/events/InviteEvent.as
+++ src/org/jivesoftware/xiff/events/InviteEvent.as
@@ -72,5 +72,16 @@
 		{
 			_data = d;
 		}
+
+		public override function clone():Event
+		{
+			var e:InviteEvent = new InviteEvent();
+			e.from = this.from;
+			e.reason = this.reason;
+			e.room = this.room;
+			e.data = this.data;
+
+			return e;
+		}
 	}
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5097
Author:   gauravj@adobe.com
Date:     2009-02-27T02:06:23.424936Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
<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/airframework/src/mx/controls/fileSystemClasses/FileSystemTreeDataDescriptor.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/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/FlexContentHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/ContainerMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/fileSystemClasses/FileSystemControlHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemRawChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
@@ -86,6 +86,10 @@
  *
  *  @see mx.managers.SystemManager
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class WindowedSystemManager extends MovieClip implements ISystemManager, ISWFBridgeProvider
 {
@@ -165,6 +169,10 @@
     /**
      *  Depth of this object in the containment hierarchy.
      *  This number is used by the measurement and layout code.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal var nestLevel:int = 0;

@@ -280,6 +288,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get cursorChildren():IChildList
     {
@@ -336,6 +348,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get document():Object
     {
@@ -363,6 +379,10 @@
     /**
      *  A table of embedded fonts in this application.  The
      *  object is a table indexed by the font name.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get embeddedFontList():Object
     {
@@ -407,6 +427,10 @@

     /**
      *  @copy mx.core.UIComponent#focusPane
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get focusPane():Sprite
     {
@@ -467,6 +491,10 @@
      *  clicking in another windows which would normally
      *  activate the FocusManager in that window.  The PopUpManager
      *  modifies this count as it creates and destroys modal windows.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get numModalWindows():int
     {
@@ -492,6 +520,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get popUpChildren():IChildList
     {
@@ -548,6 +580,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get rawChildren():IChildList
     {
@@ -604,6 +640,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get screen():Rectangle
     {
@@ -630,6 +670,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get toolTipChildren():IChildList
     {
@@ -682,6 +726,10 @@
      *  Returns the SystemManager responsible for the application window.  This will be
      *  the same SystemManager unless this application has been loaded into another
      *  application.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get topLevelSystemManager():ISystemManager
     {
@@ -731,6 +779,10 @@
      *  this should always be the width of the stage unless the application was loaded
      *  into another application.  If the application was not loaded
      *  into another application, setting this value will have no effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get width():Number
     {
@@ -770,6 +822,10 @@
      *  this should always be the width of the stage unless the application was loaded
      *  into another application.  If the application was not loaded
      *  into another application, setting this value has no effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get height():Number
     {
@@ -784,6 +840,10 @@

     /**
      * @inheritdoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get swfBridge():IEventDispatcher
     {
@@ -795,6 +855,10 @@

     /**
      * @inheritdoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get childAllowsParent():Boolean
     {
@@ -812,6 +876,10 @@

     /**
      * @inheritdoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get parentAllowsChild():Boolean
     {
@@ -835,6 +903,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function activate(f:IFocusManagerContainer):void
     {
@@ -890,6 +962,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function deactivate(f:IFocusManagerContainer):void
     {
@@ -1060,6 +1136,10 @@
      * Remote a remote form from the forms array.
      *
      * form Locally created remote form.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function removeRemotePopUp(form:RemotePopUp):void
     {
@@ -1136,6 +1216,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addFocusManager(f:IFocusManagerContainer):void
     {
@@ -1148,6 +1232,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removeFocusManager(f:IFocusManagerContainer):void
     {
@@ -1236,6 +1324,10 @@

     /**
      *  This method is overridden in the autogenerated subclass.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function create(... params):Object
     {
@@ -1402,6 +1494,10 @@
             // Add listener for the creationComplete event
 /*          IEventDispatcher(app).addEventListener(FlexEvent.CREATION_COMPLETE,
                                                    appCreationCompleteHandler);
+*
+*  @langversion 3.0
+*  @playerversion AIR 1.1
+*  @productversion Flex 3
 */
             if (topLevel && stage)
             {
@@ -1593,6 +1689,10 @@

     /**
      * @inheritdoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function isTopLevelRoot():Boolean
     {
@@ -1602,6 +1702,10 @@
     /**
      * The system manager proxy has only one child that is a focus manager container.
      * Iterate thru the children until we find it.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal function findFocusManagerContainer(smp:SystemManagerProxy):IFocusManagerContainer
     {
@@ -1744,6 +1848,10 @@
      *
      * @param bridge the bridge used to talk to the parent.
      * @param owner the display object that owns the bridge.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addChildBridge(bridge:IEventDispatcher, owner:DisplayObject):void
     {
@@ -1785,6 +1893,10 @@

     /**
      * Remove a child bridge.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removeChildBridge(bridge:IEventDispatcher):void
     {
@@ -1801,6 +1913,10 @@

     /**
      * @inheritdoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function useSWFBridge():Boolean
     {
@@ -1856,6 +1972,10 @@
      *
      * returns null if we are not on the display list or we don't have
      * access to the top level system manager.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getTopLevelRoot():DisplayObject
     {
@@ -1887,6 +2007,10 @@
      * Go up our parent chain to get the top level system manager in this
      * SecurityDomain
      *
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getSandboxRoot():DisplayObject
     {
@@ -1944,6 +2068,10 @@

    /**
      *  @inheritdoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getVisibleApplicationRect(bounds:Rectangle = null):Rectangle
     {
@@ -1977,6 +2105,10 @@

    /**
     *  @inheritdoc
+    *
+    *  @langversion 3.0
+    *  @playerversion AIR 1.1
+    *  @productversion Flex 3
     */
     public function deployMouseShields(deploy:Boolean):void
     {
@@ -2067,6 +2199,10 @@
      *
      * This method assumes the form variable has been set before calling
      * this function.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function updateLastActiveForm():void
     {
@@ -2120,6 +2256,10 @@

     /**
      * request the parent to add an event listener.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function addEventListenerToOtherSystemManagers(type:String, listener:Function, useCapture:Boolean = false,
                 priority:int=0, useWeakReference:Boolean=false):void
@@ -2142,6 +2282,10 @@

     /**
      * request the parent to remove an event listener.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function removeEventListenerFromOtherSystemManagers(type:String, listener:Function,
                                                       useCapture:Boolean = false):void
@@ -2181,6 +2325,10 @@

     /**
      *  dispatch the event to all sandboxes except the specified one
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function dispatchEventFromSWFBridges(event:Event, skip:IEventDispatcher = null,
                         trackClones:Boolean = false, toOtherSystemManagers:Boolean = false):void
@@ -2231,6 +2379,10 @@
     }
     /**
      * request the parent to add an event listener.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function addEventListenerToSandboxes(type:String, listener:Function, useCapture:Boolean = false,
                 priority:int=0, useWeakReference:Boolean=false, skip:IEventDispatcher = null):void
@@ -2265,6 +2417,10 @@

     /**
      * request the parent to remove an event listener.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function removeEventListenerFromSandboxes(type:String, listener:Function,
                                                       useCapture:Boolean = false,
@@ -2476,6 +2632,10 @@
      *
      *  @return true if the given DisplayObject is the
      *  top-level window.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function isTopLevelWindow(object:DisplayObject):Boolean
     {
@@ -2485,6 +2645,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getDefinitionByName(name:String):Object
     {
@@ -2492,6 +2656,10 @@
     /*      !topLevel && parent is Loader ?
             Loader(parent).contentLoaderInfo.applicationDomain :
             info()["currentDomain"] as ApplicationDomain;
+*
+*  @langversion 3.0
+*  @playerversion AIR 1.1
+*  @productversion Flex 3
 */
         //trace("SysMgr.getDefinitionByName domain",domain,"currentDomain",info()["currentDomain"]);

@@ -2508,6 +2676,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function isTopLevel():Boolean
     {
@@ -2516,6 +2688,10 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function isFontFaceEmbedded(textFormat:TextFormat):Boolean
     {
@@ -2952,6 +3128,10 @@
      *  The number of non-floating windows.  This is the main application window
      *  plus any other windows added to the SystemManager that are not popups,
      *  tooltips or cursors.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get numChildren():int
     {
@@ -3455,6 +3635,10 @@
      * Forward a form event update the parent chain.
      * Takes care of removing object references and substituting
      * ids when an untrusted boundry is crossed.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function forwardFormEvent(event:SWFBridgeEvent):Boolean
     {
@@ -3494,6 +3678,10 @@
      * @param eObj PopupRequest as and Object.
      * @param addPlaceholder true if adding a placeholder, false it removing a placeholder.
      * @return true if the request was forwared, false otherwise
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function forwardPlaceholderRequest(request:SWFBridgeRequest, addPlaceholder:Boolean):Boolean
     {
@@ -3544,6 +3732,10 @@
      * One of the system managers in another sandbox deactivated and sent a message
      * to the top level system manager. In response the top-level system manager
      * needs to find a new form to activate.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function deactivateFormSandboxEventHandler(event:Event):void
     {
@@ -3569,6 +3761,10 @@
      * The form being activate is identified.
      * In response the top-level system manager needs to activate the given form
      * and deactivate the currently active form, if any.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function activateFormSandboxEventHandler(event:Event):void
     {
@@ -3584,6 +3780,10 @@
      * One of the system managers in another sandbox activated and sent a message
      * to the top level system manager to deactivate this form. In response the top-level system manager
      * needs to deactivate all other forms except the top level system manager's.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function activateApplicationSandboxEventHandler(event:Event):void
     {
@@ -3909,6 +4109,10 @@
      * system manager?
      *
      * Set the data property to indicate if the display object is a child
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function isBridgeChildHandler(event:Event):void
     {
@@ -3927,6 +4131,10 @@
      * is visible and is enabled.
      *
      * Set the data property to indicate if can be activated
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function canActivateHandler(event:Event):void
     {
@@ -4033,6 +4241,10 @@

     /**
      * redispatch certian events to other top-level windows
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function multiWindowRedispatcher(event:Event):void
     {
@@ -4044,6 +4256,10 @@

     /**
      * Create the requested manager
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function initManagerHandler(event:Event):void
     {
@@ -4070,6 +4286,10 @@

     /**
      *  Add child to requested childList
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addChildToSandboxRoot(layer:String, child:DisplayObject):void
     {
@@ -4090,6 +4310,10 @@

     /**
      *  Remove child from requested childList
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removeChildFromSandboxRoot(layer:String, child:DisplayObject):void
     {
@@ -4111,6 +4335,10 @@

     /**
      * perform the requested action from a trusted dispatcher
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function systemManagerHandler(event:Event):void
     {
@@ -4207,6 +4435,10 @@
      *         player sees as having focus. If focus is currently
      *         in a sandbox the caller does not have access to
      *         null will be returned.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getFocus():InteractiveObject
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11660
Author:   rfrishbe@adobe.com
Date:     2009-11-11T18:42:54.860139Z

Log Message:
-----------
Change IItemRendererOwner’s updateRenderer() method definition to:

/**
 *  Updates the renderer for re-use. This first prepares the item
 *  renderer for re-use by clearing out any stale properties
 *  as well as updating it with new properties.
 *
 *
The last thing this method should do is set the data property
 *  on the renderer.

 *
 *  @param renderer The item renderer.
 *  @param itemIndex The index of the data in the data provider
 *  @param data The data object this item renderer is representing
 *
 *  @langversion 3.0
 *  @playerversion Flash 10
 *  @playerversion AIR 1.5
 *  @productversion Flex 4
 */
function updateRenderer(renderer:IVisualElement, itemIndex:int, data:Object):void;

Before, it only took one parameter, the renderer.  Now it takes 3.

The reason for this change is to make the code a little cleaner in terms of the separation between DataGroup and List.  Now DataGroup won’t do any work if the mx_internal _rendererUpdateDelegate is set.  If it is set (to a List for instance), then _rendererUpdateDelegate.updateRenderer(renderer, itemIndex, data) will be called.  This makes the updateRenderer() pass more clear because it’s all done in the rendererUpdateDelegate (rather than splitting it in DataGroup and ListBase).  It also makes it easier to get the ordering of properties correctly as we want the “data” property to be the last set property as part of the “item renderer contract”.

As part of this change, DataGroup is the default _rendererUpdateDelegate, and because of this it now implements IItemRendererOwner.  The only other method on IItemRendererOwner besides updateRenderer() is itemToLabel().  DataGroup already had a private itemToLabel() method, so I’m just making it public.

Also, I'm making label and itemIndex bindable to the "dataChange" event now.

QE notes: Please test that the data property is the last thing set
Doc notes: You could update the documentation around item renderers to mention that the data property should be the last thing set.
Bugs: SDK-19870, SDK-24086
Reviewer: Deepa
Tests run: checkintest, mustella list, listdragdrop, dropdownlist, combobox, buttonbar
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.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/supportClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -842,7 +842,7 @@
     /**
      *  @private
      */
-    override public function updateRenderer(renderer:IVisualElement):void
+    override public function updateRenderer(renderer:IVisualElement, itemIndex:int, data:Object):void
     {
         var transitions:Array;

@@ -867,20 +867,15 @@
                 ItemRenderer(renderer).playTransitions = true;
         }

-        // Now run through and initialize the renderer correctly
-        super.updateRenderer(renderer);
-
         // Set any new properties on the renderer now that it's going to
         // come back into use.
-
-        var index:int
-        if (renderer is IItemRenderer)
-            index = IItemRenderer(renderer).itemIndex;
-        else
-            index = dataGroup.getElementIndex(renderer);
-
-        if (isItemIndexSelected(index))
-            itemSelected(index, true);
+        if (isItemIndexSelected(itemIndex))
+            itemSelected(itemIndex, true);
+
+        // Now run through and initialize the renderer correctly.  We
+        // call super.updateRenderer() last because super.updateRenderer()
+        // sets the data on the item renderer, and that should be done last.
+        super.updateRenderer(renderer, itemIndex, data);
     }

     /**


fixed type casting error

fixed type casting error

Change-Id: I74e6854ba6ca6e09c23dcc7e241339d892a6d853

--- WeaveData/src/weave/data/KeySets/SortedKeySet.as
+++ WeaveData/src/weave/data/KeySets/SortedKeySet.as
@@ -130,8 +130,10 @@

 import mx.utils.ObjectUtil;

+import weave.api.core.ILinkableObject;
 import weave.api.data.IAttributeColumn;
 import weave.api.data.IQualifiedKey;
+import weave.api.getCallbackCollection;
 import weave.data.QKeyManager;

 internal class KeyComparator
@@ -144,8 +146,8 @@
 		this.sortDirections.length = columns.length;

 		// when any of the columns are disposed, disable the compare function
-		for each (var column:IAttributeColumn in columns)
-			column.addDisposeCallback(null, dispose);
+		for each (var obj:ILinkableObject in columns)
+			getCallbackCollection(obj).addDisposeCallback(null, dispose);
 	}

 	private var columns:Array;


cleanup

cleanup

Change-Id: I628b831f41666ddc159f1496a0244a26df24c00e

--- WeaveUISpark/src/weave/menus/WeaveContextMenu.as
+++ WeaveUISpark/src/weave/menus/WeaveContextMenu.as
@@ -53,7 +53,7 @@

 		private var _contextMenu:ContextMenu;
 		private var root:WeaveMenuItem;
-		private var cmi_to_wmi:Dictionary = new Dictionary(); // cmi -> wmi
+		private var cmi_to_wmi:Dictionary = new Dictionary(); // ContextMenuItem -> WeaveMenuItem

 		public function WeaveContextMenu(root:WeaveMenuItem)
 		{
@@ -100,7 +100,7 @@

 		private function getCustomItem(i:int):ContextMenuItem
 		{
-			while (!_contextMenu.customItems || _contextMenu.customItems.length <= i)
+			while (_contextMenu.customItems.length <= i)
 			{
 				var items:Array = _contextMenu.customItems;
 				var cmi:ContextMenuItem = new ContextMenuItem('');


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/Animate.as
+++ frameworks/projects/spark/src/spark/effects/Animate.as
@@ -8,19 +8,23 @@
 //  in accordance with the terms of the license agreement accompanying it.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package mx.effects
+package spark.effects
 {

 import flash.sampler.getInvocationCount;

 import mx.core.mx_internal;
-import mx.effects.effectClasses.FxAnimateInstance;
-import mx.effects.interpolation.IEaser;
-import mx.effects.interpolation.IInterpolator;
-import mx.effects.interpolation.NumberInterpolator;
-import mx.effects.interpolation.Sine;
-import mx.events.AnimationEvent;
+import spark.effects.supportClasses.AnimateInstance;
+import spark.effects.easing.IEaser;
+import spark.effects.interpolation.IInterpolator;
+import spark.effects.interpolation.NumberInterpolator;
+import spark.effects.easing.Sine;
+import spark.events.AnimationEvent;
+import mx.effects.Effect;
+import mx.effects.IEffectInstance;
 import mx.events.EffectEvent;
+import spark.effects.animation.Animation;
+
 import mx.styles.IStyleClient;

 import spark.effects.MotionPath;
@@ -102,11 +106,11 @@
  * This effect animates an arbitrary set of properties between values, as specified
  * in the animationProperties array. Example usage is as follows:
  *
- * @example Using the FxAnimate effect to move a button from (100, 100)
+ * @example Using the Animate effect to move a button from (100, 100)
  * to (200, 150):
  * <listing version="3.0">
  * var button:Button = new Button();
- * var anim:FxAnimate = new FxAnimate(button);
+ * var anim:Animate = new Animate(button);
  * anim.animationProperties = [
  *     new AnimationProperty("x", 100, 200),
  *     new AnimationProperty("y", 100, 150)];
@@ -118,7 +122,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class FxAnimate extends Effect
+public class Animate extends Effect
 {
     include "../core/Version.as";

@@ -136,11 +140,11 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function FxAnimate(target:Object = null)
+    public function Animate(target:Object = null)
     {
         super(target);

-        instanceClass = FxAnimateInstance;
+        instanceClass = AnimateInstance;
     }

     //--------------------------------------------------------------------------
@@ -171,8 +175,8 @@
      * An array of AnimationProperty objects, each of which holds the
      * name of the property being animated and the values that the property
      * will take on during the animation. This array takes precedence over
-     * any helper properties that may be declared in subclasses of FxAnimate.
-     * For example, if this array is set directly on an FxMove object,
+     * any helper properties that may be declared in subclasses of Animate.
+     * For example, if this array is set directly on an Move object,
      * then any helper values such as xFrom will be ignored.
      *
      *  @langversion 3.0
@@ -319,7 +323,7 @@
     {
         super.initInstance(instance);

-        var animateInstance:FxAnimateInstance = FxAnimateInstance(instance);
+        var animateInstance:AnimateInstance = AnimateInstance(instance);

         animateInstance.addEventListener(AnimationEvent.ANIMATION_START, animationEventHandler);
         animateInstance.addEventListener(AnimationEvent.ANIMATION_UPDATE, animationEventHandler);


Transferred from the Adobe Open Source Subversion Repository

Revision: 5146
Author:   dsubrama@adobe.com
Date:     2009-03-03T00:06:06.606478Z

Log Message:
-----------
Fix Gumbo_Priority bug, SDK-19515 - RTE in Path when data is empty.

Reviewer: Glenn
Checkintests: Pass

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -199,6 +199,14 @@
         // Clear out the existing segments
         segments = [];

+        //If there's no processing that needs to
+        //occur, exit early.
+        if (value == "")
+    	{
+    		_data = value;
+    		return;
+    	}
+
         // Split letter followed by number (ie "M3" becomes "M 3")
         var temp:String = value.replace(/([A-Za-z])([0-9\-\.])/g, "$1 $2");


新增: AnimationLayerRendererEditable 侦听第一帧的 box 变更事件

--- ageb/src/ageb/modules/ae/AnimationLayerRendererEditable.as
+++ ageb/src/ageb/modules/ae/AnimationLayerRendererEditable.as
@@ -16,6 +16,7 @@
 			if (info)
 			{
 				info.onTexturesChange.remove(onTexturesChange);
+				infoEditable.getFrameInfoAt(0).onBoxChange.remove(adjustSize);
 			}
 			super.info = value;

@@ -30,7 +31,18 @@
 			if (info)
 			{
 				info.onTexturesChange.remove(onTexturesChange);
+				infoEditable.getFrameInfoAt(0).onBoxChange.add(adjustSize);
 			}
+		}
+
+		/**
+		 * @private
+		 * @return
+		 *
+		 */
+		protected function get infoEditable():FrameLayerInfoEditable
+		{
+			return info as FrameLayerInfoEditable;
 		}

 		private function onTexturesChange():void


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -33,7 +33,6 @@
 import mx.controls.listClasses.ListData;
 import mx.core.ClassFactory;
 import mx.core.EdgeMetrics;
-import mx.core.FlexVersion;
 import mx.core.IDataRenderer;
 import mx.core.IFactory;
 import mx.core.ScrollPolicy;
@@ -1416,8 +1415,7 @@
         var bm:EdgeMetrics = borderMetrics;
         measuredMinHeight = measuredHeight =
             Math.max(textHeight + bm.top + bm.bottom, DEFAULT_MEASURED_MIN_HEIGHT);
-        if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
-            measuredMinHeight = measuredHeight += getStyle("paddingTop") + getStyle("paddingBottom");
+        measuredMinHeight = measuredHeight += getStyle("paddingTop") + getStyle("paddingBottom");
     }

     /**
@@ -1661,30 +1659,8 @@
             if (itemRenderer)
                 _dropdown.itemRenderer = itemRenderer;

-            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-            {
-                _dropdown.styleName = this;
-            }
-
             if (dropDownStyleName)
-            {
-                if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-                {
-                    var styleDecl:CSSStyleDeclaration =
-                        StyleManager.getStyleDeclaration("." + dropDownStyleName);
-
-                    if (styleDecl)
-                        _dropdown.styleDeclaration = styleDecl;
-                }
-                else
-                {
-                    _dropdown.styleName = dropDownStyleName;
-                }
-            }
-            else if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-            {
-                _dropdown.setStyle("cornerRadius", 0);
-            }
+                _dropdown.styleName = dropDownStyleName;

             PopUpManager.addPopUp(_dropdown, this);

@@ -1692,9 +1668,6 @@
             // The dropdown menu is about to appear anyway,
             // and other processing can make the tween look choppy.
             _dropdown.setStyle("selectionDuration", 0);
-
-            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 && dropdownBorderStyle && dropdownBorderStyle != "")
-                _dropdown.setStyle("borderStyle", dropdownBorderStyle);

             // Set up a data provider in case one doesn't yet exist,
             // so we can share it with the dropdown listbox.


bi refactoring

bi refactoring

--- src/com/merlinds/debug/DebugUtils.as
+++ src/com/merlinds/debug/DebugUtils.as
@@ -18,6 +18,7 @@
 		//==============================================================================
 		//{region							PUBLIC METHODS
 		public static function writeLog(instance:Object, method:String, level:String, message:Array = null):void {
+			return;
 			var target:String = instance.toString();
 			target = target.substr(0, target.length - 1) + "." + method + "()]";
 			var timestamp:Number = getTimer() * .001;


Add documentation for the startupComplete event dispatched by the Context.startup() method. The docs describe a common pattern for using the startupComplete event to trigger traditional "app entrypoint" bootstrapping operations.

--- src/org/robotlegs/mvcs/Context.as
+++ src/org/robotlegs/mvcs/Context.as
@@ -29,6 +29,39 @@
 	import org.robotlegs.core.IViewMap;

 	/**
+	 * Dispatched by the startup() method when it finishes
+	 * executing.
+	 *
+	 *
One common pattern for application startup/bootstrapping makes use
+	 * of the startupComplete event. In this pattern, you do the
+	 * following:

+	 *

+	 *
Override the startup() method in your Context
+	 *       subclass and set up application mappings in your
+	 *       startup() override as you always do in Robotlegs.

+	 *
Create commands that perform startup/bootstrapping operations
+	 *       such as loading the initial data, checking for application updates,
+	 *       etc.

+	 *

Map those commands to the ContextEvent.STARTUP_COMPLETE
+	 *       event:

+	 *       <listing>commandMap.mapEvent(ContextEvent.STARTUP_COMPLETE, LoadInitialDataCommand, ContextEvent, true):</listing>
+	 *

+	 *
Dispatch the startupComplete (ContextEvent.STARTUP_COMPLETE)
+	 *       event from your startup() override. You can do this
+	 *       in one of two ways: dispatch the event yourself, or call
+	 *       super.startup(). (The Context class's
+	 *       startup() method dispatches the
+	 *       startupComplete event.)

+	 *

+	 *
+	 * @eventType org.robotlegs.base.ContextEvent.STARTUP_COMPLETE
+	 *
+	 * @see #startup()
+	 */
+	[Event(name="startupComplete", type="org.robotlegs.base.ContextEvent")]
+
+
+	/**
 	 * Abstract MVCS IContext implementation
 	 */
 	public class Context extends ContextBase implements IContext
@@ -98,6 +131,14 @@
 		 * The Startup Hook
 		 *
 		 *
Override this in your Application context

+		 *
+		 * @event startupComplete ContextEvent.STARTUP_COMPLETE Dispatched at the end of the
+		 *                        startup() method's execution. This
+		 *                        is often used to trigger startup/bootstrapping
+		 *                        commands by wiring them to this event and
+		 *                        calling super.startup() in the
+		 *                        last line of your startup()
+		 *                        override.
 		 */
 		public function startup():void
 		{


Changed JSONResource to return empty object if no data was loaded

--- src/reprise/external/JSONResource.as
+++ src/reprise/external/JSONResource.as
@@ -18,6 +18,10 @@

 		public override function content() : *
 		{
+			if (!m_data)
+			{
+				return {};
+			}
 			return JSON.parse(m_data);
 		}
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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

 package mx.validators
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as
+++ frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as
@@ -0,0 +1,48 @@
+/*************************************************************************
+ *
+ * ADOBE CONFIDENTIAL
+ * __________________
+ *
+ *  [2002] - [2007] Adobe Systems Incorporated
+ *  All Rights Reserved.
+ *
+ * NOTICE:  All information contained herein is, and remains
+ * the property of Adobe Systems Incorporated and its suppliers,
+ * if any.  The intellectual and technical concepts contained
+ * herein are proprietary to Adobe Systems Incorporated
+ * and its suppliers and may be covered by U.S. and Foreign Patents,
+ * patents in process, and are protected by trade secret or copyright law.
+ * Dissemination of this information or reproduction of this material
+ * is strictly forbidden unless prior written permission is obtained
+ * from Adobe Systems Incorporated.
+ */
+package mx.messaging.errors
+{
+
+/**
+ *  This error is thrown when no Channel is available to send messages.
+ *  This error is thrown by the following methods within the framework:
+ *

+ *
ChannelSet.send() if the ChannelSet has no channels.

+ *

+ */
+public class NoChannelAvailableError extends MessagingError
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructs a new instance of the NoChannelAvailableError with the specified message.
+     *
+     *  @param msg String that contains the message that describes this NoChannelAvailableError.
+     */
+    public function NoChannelAvailableError(msg:String)
+    {
+        super(msg);
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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

 package spark.accessibility
 {