Transferred from the Adobe Open Source Subversion Repository

Revision: 972
Author:   mhorn@adobe.com
Date:     2008-03-27T20:24:16.905716Z

Log Message:
-----------
Minor ASDoc fixes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.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/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/AbstractTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as
@@ -107,7 +107,7 @@
      *  A map of item renderes to columns.
      *  Like ListBase.rowMap, this property contains
      *  a hash map of item renderers and the columns they belong to.
-     *  Item renderers are indexed by their DisplayObject name
+     *  Item renderers are indexed by their DisplayObject name.
      *
      *  @see mx.controls.listClasses.ListBase#rowMap
      */
@@ -120,7 +120,7 @@
      *  The recycled renderers are stored here.
      *  The table is a Dictionary where the entries are Arrays indexed
      *  by the actual DataGridColumn (not the column's dataField or other
-     *  properties), and each array is a stack of currently unused renderers
+     *  properties), and each array is a stack of currently unused renderers.
      */
     protected var freeItemRenderersTable:Dictionary;

@@ -135,40 +135,43 @@
     mx_internal var visibleLockedColumns:Array;

     /**
-     *  The header sub-component
+     *  The header sub-component.
      */
     protected var header:DataGridHeaderBase;

     /**
-     *  The class to use as the DGHeader
+     *  The class to use as the DGHeader.
      */
     mx_internal var headerClass:Class = DataGridHeader;

+    /**
+     *  @private
+     */
     protected var headerMask:Shape;

     /**
-     *  The header sub-component for locked columns
+     *  The header sub-component for locked columns.
      */
     protected var lockedColumnHeader:DataGridHeaderBase;

     private var lockedColumnHeaderMask:Shape;

     /**
-     *  The sub-component that contains locked rows
+     *  The sub-component that contains locked rows.
      */
     protected var lockedRowContent:DataGridLockedRowContentHolder;

     private var lockedRowMask:Shape;

     /**
-     *  The sub-component that contains locked rows for locked columns
+     *  The sub-component that contains locked rows for locked columns.
      */
     protected var lockedColumnAndRowContent:DataGridLockedRowContentHolder;

     private var lockedColumnAndRowMask:Shape;

     /**
-     *  The sub-component that contains locked columns
+     *  The sub-component that contains locked columns.
      */
     protected var lockedColumnContent:ListBaseContentHolder;

@@ -241,14 +244,14 @@
     {
     }

-	// these three keep track of the key selection that caused
+    // these three keep track of the key selection that caused
     // the page fault
     private var bShiftKey:Boolean = false;
     private var bCtrlKey:Boolean = false;
     private var lastKey:uint = 0;
     private var bSelectItem:Boolean = false;

-	private var inSelectItem:Boolean = false;
+    private var inSelectItem:Boolean = false;

     //--------------------------------------------------------------------------
     //
@@ -317,7 +320,7 @@
     /**
      *  The height of the header cell of the column, in pixels.
      *  If set explicitly, that height will be used for all of
-     *  the headers.  If not set explicitly,
+     *  the headers. If not set explicitly,
      *  the height will based on style settings and the header
      *  renderer.
      */
@@ -355,7 +358,7 @@
     /**
      *  The index of the first column in the control that scrolls.
      *  Columns with indexes that are lower than this value remain fixed
-     *  in view.  Not supported by all list classes.
+     *  in view. Not supported by all list classes.
      *
      *  @default 0
      */
@@ -485,7 +488,7 @@
         if (headerVisible && header)
         {
             header.visibleColumns = visibleColumns;
-			header.headerItemsChanged = true;
+            header.headerItemsChanged = true;
             header.invalidateSize();
             header.validateNow();
         }
@@ -545,7 +548,7 @@
             }

             if (lockedColumnAndRowContent)
-				lockedColumnAndRowContent.visible = (lockedRowCount > 0 && lockedColumnCount > 0);
+                lockedColumnAndRowContent.visible = (lockedRowCount > 0 && lockedColumnCount > 0);

             seekPositionSafely(lockedRowCount + verticalScrollPosition);
         }
@@ -570,7 +573,7 @@
         if (headerVisible && lockedColumnHeader)
         {
             lockedColumnHeader.visibleColumns = visibleLockedColumns;
-			lockedColumnHeader.headerItemsChanged = true;
+            lockedColumnHeader.headerItemsChanged = true;
             lockedColumnHeader.invalidateSize();
             lockedColumnHeader.validateNow();
         }
@@ -729,8 +732,8 @@

     /**
      *  Make sure there's a slot in the row arrays for the given row number
-     *  @param contentHolder The set of rows (locked rows, regular rows)
-     *  @param rowNum The row number
+     *  @param contentHolder The set of rows (locked rows, regular rows).
+     *  @param rowNum The row number.
      */
     protected function prepareRowArray(contentHolder:ListBaseContentHolder, rowNum:int):void
     {
@@ -756,15 +759,15 @@
     }

     /**
-     *  Make the renderers for the given rowNum, dataObject and uid
-     *  @param contentHolder The set of rows (locked rows, regular rows)
-     *  @param rowNum The row number
-     *  @param left The offset from the left side for the first column
-     *  @param right The offset from the right side for the last column
-     *  @param yy The y position of the row
-     *  @param data The data for the row
-     *  @param uid The uid for the data
-     *  @return Height of the row
+     *  Make the renderers for the given rowNum, dataObject and uid.
+     *  @param contentHolder The set of rows (locked rows, regular rows).
+     *  @param rowNum The row number.
+     *  @param left The offset from the left side for the first column.
+     *  @param right The offset from the right side for the last column.
+     *  @param yy The y position of the row.
+     *  @param data The data for the row.
+     *  @param uid The uid for the data.
+     *  @return Height of the row.
      */
     protected function makeRow(contentHolder:ListBaseContentHolder, rowNum:int, left:Number, right:Number, yy:Number, data:Object, uid:String):Number
     {
@@ -1274,8 +1277,8 @@
      */
     override public function indicesToIndex(rowIndex:int, colIndex:int):int
     {
-		if (inSelectItem)
-			return 0;
+        if (inSelectItem)
+            return 0;

         return rowIndex;
     }
@@ -1415,9 +1418,9 @@
             renderer = factory.newInstance();
             if (renderer)
             {
-		renderer.styleName = c;
-		factoryMap[renderer] = factory;
-	    }
+        renderer.styleName = c;
+        factoryMap[renderer] = factory;
+        }
         }

@@ -1471,13 +1474,13 @@
             {
                 lockedRowContent.selectionLayer.removeChildAt(0);
             }
-			if (lockedColumnCount && lockedColumnAndRowContent)
-			{
-				while (lockedColumnAndRowContent.selectionLayer.numChildren > 0)
-				{
-					lockedColumnAndRowContent.selectionLayer.removeChildAt(0);
-				}
-			}
+            if (lockedColumnCount && lockedColumnAndRowContent)
+            {
+                while (lockedColumnAndRowContent.selectionLayer.numChildren > 0)
+                {
+                    lockedColumnAndRowContent.selectionLayer.removeChildAt(0);
+                }
+            }
         }
         if (header)
             header.clearSelectionLayer();
@@ -1814,14 +1817,14 @@
                 headerMask.x = maskShape.x;
                 headerMask.y = maskShape.y;

-				// If we have a vScroll only, we want the scrollbar to be below
-				// the header.
-				if (verticalScrollBar != null && verticalScrollBar.visible &&
-				   (horizontalScrollBar == null || !horizontalScrollBar.visible) &&
-				   headerVisible)
-				{
-	                headerMask.width += verticalScrollBar.getExplicitOrMeasuredWidth();
-				}
+                // If we have a vScroll only, we want the scrollbar to be below
+                // the header.
+                if (verticalScrollBar != null && verticalScrollBar.visible &&
+                   (horizontalScrollBar == null || !horizontalScrollBar.visible) &&
+                   headerVisible)
+                {
+                    headerMask.width += verticalScrollBar.getExplicitOrMeasuredWidth();
+                }

                 if (lockedRowContent)
                 {
@@ -1924,14 +1927,14 @@
                 headerMask.height = maskShape.height;
                 headerMask.x = maskShape.x;
                 headerMask.y = maskShape.y;
-				// If we have a vScroll only, we want the scrollbar to be below
-				// the header.
-				if (verticalScrollBar != null && verticalScrollBar.visible &&
-				   (horizontalScrollBar == null || !horizontalScrollBar.visible) &&
-				   headerVisible)
-				{
-	                headerMask.width += verticalScrollBar.getExplicitOrMeasuredWidth();
-				}
+                // If we have a vScroll only, we want the scrollbar to be below
+                // the header.
+                if (verticalScrollBar != null && verticalScrollBar.visible &&
+                   (horizontalScrollBar == null || !horizontalScrollBar.visible) &&
+                   headerVisible)
+                {
+                    headerMask.width += verticalScrollBar.getExplicitOrMeasuredWidth();
+                }

                 if (lockedRowContent)
@@ -2323,28 +2326,28 @@
                     caretIndex--;
                     bSelectItem = true;
                     if (caretIndex >= lockedRowCount)
-                    	bUpdateVerticalScrollPosition = true;
+                        bUpdateVerticalScrollPosition = true;
                 }
                 break;
             }

             case Keyboard.DOWN:
             {
-            	if (caretIndex >= lockedRowCount - 1)
-            	{
-            		if (caretIndex < collection.length - 1)
-	                {
-	                    caretIndex++;
-	                    bUpdateVerticalScrollPosition = true;
-	                    bSelectItem = true;
-	                }
-	                else if ((caretIndex == collection.length - 1) && partialRow)
-	                {
-	                    if (verticalScrollPosition < maxVerticalScrollPosition)
-	                        newVerticalScrollPosition = verticalScrollPosition + 1;
-	                }
-            	}
-            	else if (caretIndex < collection.length - 1)
+                if (caretIndex >= lockedRowCount - 1)
+                {
+                    if (caretIndex < collection.length - 1)
+                    {
+                        caretIndex++;
+                        bUpdateVerticalScrollPosition = true;
+                        bSelectItem = true;
+                    }
+                    else if ((caretIndex == collection.length - 1) && partialRow)
+                    {
+                        if (verticalScrollPosition < maxVerticalScrollPosition)
+                            newVerticalScrollPosition = verticalScrollPosition + 1;
+                    }
+                }
+                else if (caretIndex < collection.length - 1)
                 {
                     caretIndex++;
                     bSelectItem = true;
@@ -2354,37 +2357,37 @@

             case Keyboard.PAGE_UP:
             {
-            	if (caretIndex > lockedRowCount)
+                if (caretIndex > lockedRowCount)
                 {
-	                // if the caret is on-screen, but not at the top row
-	                // just move the caret to the top row
-	                if (caretIndex > verticalScrollPosition + lockedRowCount &&
-	                    caretIndex < verticalScrollPosition + lockedRowCount + onscreenRowCount)
-	                {
-	                    caretIndex = verticalScrollPosition + lockedRowCount;
-	                }
-	                else
-	                {
-	                    // paging up is really hard because we don't know how many
-	                    // rows to move because of variable row height.  We would have
-	                    // to double-buffer a previous screen in order to get this exact
-	                    // so we just guess for now based on current rowCount
-	                    caretIndex = Math.max(caretIndex - Math.max(onscreenRowCount - partialRow, 1), lockedRowCount);
-	                    newVerticalScrollPosition = Math.max(caretIndex, lockedRowCount) - lockedRowCount;
-	                }
-	                bSelectItem = true;
+                    // if the caret is on-screen, but not at the top row
+                    // just move the caret to the top row
+                    if (caretIndex > verticalScrollPosition + lockedRowCount &&
+                        caretIndex < verticalScrollPosition + lockedRowCount + onscreenRowCount)
+                    {
+                        caretIndex = verticalScrollPosition + lockedRowCount;
+                    }
+                    else
+                    {
+                        // paging up is really hard because we don't know how many
+                        // rows to move because of variable row height.  We would have
+                        // to double-buffer a previous screen in order to get this exact
+                        // so we just guess for now based on current rowCount
+                        caretIndex = Math.max(caretIndex - Math.max(onscreenRowCount - partialRow, 1), lockedRowCount);
+                        newVerticalScrollPosition = Math.max(caretIndex, lockedRowCount) - lockedRowCount;
+                    }
+                    bSelectItem = true;
                 }
                 else
                 {
-                	caretIndex = 0;
-                	bSelectItem = true;
+                    caretIndex = 0;
+                    bSelectItem = true;
                 }
                 break;
             }

             case Keyboard.PAGE_DOWN:
             {
-            	// if the caret is on-screen, but not at the bottom row
+                // if the caret is on-screen, but not at the bottom row
                 // just move the caret to the bottom row (not partial row)
                 if (caretIndex >= verticalScrollPosition + lockedRowCount &&
                     caretIndex < verticalScrollPosition + lockedRowCount + onscreenRowCount - partialRow - 1)
@@ -2416,28 +2419,28 @@

             case Keyboard.END:
             {
-            	if (lockedRowCount >= collection.length)
+                if (lockedRowCount >= collection.length)
                 {
                     caretIndex = collection.length - 1;
                     bSelectItem = true;
                 }
                 else
                 {
-                	if (caretIndex < collection.length - 1)
-	                {
-	                    caretIndex = collection.length - 1;
-	                    bSelectItem = true;
-	                    newVerticalScrollPosition = maxVerticalScrollPosition;
-	                }
+                    if (caretIndex < collection.length - 1)
+                    {
+                        caretIndex = collection.length - 1;
+                        bSelectItem = true;
+                        newVerticalScrollPosition = maxVerticalScrollPosition;
+                    }
                 }
                 break;
             }
-  			case Keyboard.SPACE:
-  			{
-  				bUpdateVerticalScrollPosition = true;
-  				bSelectItem = true;
-  				break;
-  			}
+            case Keyboard.SPACE:
+            {
+                bUpdateVerticalScrollPosition = true;
+                bSelectItem = true;
+                break;
+            }
         }

         if (bUpdateVerticalScrollPosition)
@@ -2501,18 +2504,18 @@

         if (lastKey == Keyboard.PAGE_DOWN)
         {
-        	// set caret to last full row of new screen
-        	// partial rows take what you can get
-        	if (onscreenRowCount - partialRow == 0)
-        	{
-	    		caretIndex = Math.min(verticalScrollPosition + lockedRowCount + onscreenRowCount - partialRow,
-	            	                  collection.length - 1);
-	        }
-	        else
-	        {
-	        	caretIndex = Math.min(verticalScrollPosition + lockedRowCount + onscreenRowCount - partialRow - 1,
-	            	                  collection.length - 1);
-	        }
+            // set caret to last full row of new screen
+            // partial rows take what you can get
+            if (onscreenRowCount - partialRow == 0)
+            {
+                caretIndex = Math.min(verticalScrollPosition + lockedRowCount + onscreenRowCount - partialRow,
+                                      collection.length - 1);
+            }
+            else
+            {
+                caretIndex = Math.min(verticalScrollPosition + lockedRowCount + onscreenRowCount - partialRow - 1,
+                                      collection.length - 1);
+            }
         }

         var listItem:IListItemRenderer;
@@ -2534,10 +2537,10 @@
             }

             if (caretIndex < lockedRowCount)
-				listItem = lockedRowContent.listItems[caretIndex][0];
-			else
-				listItem = listItems[caretIndex - lockedRowCount - verticalScrollPosition + offscreenExtraRowsTop][0];
-
+                listItem = lockedRowContent.listItems[caretIndex][0];
+            else
+                listItem = listItems[caretIndex - lockedRowCount - verticalScrollPosition + offscreenExtraRowsTop][0];
+
             if (listItem)
             {
                 uid = itemToUID(listItem.data);
@@ -2624,7 +2627,7 @@

     /**
      *  @private
-	 *  the inselectItem is a flag that converts relative seeks to absolute
+     *  the inselectItem is a flag that converts relative seeks to absolute
      */
     override protected function selectItem(item:IListItemRenderer,
                                   shiftKey:Boolean, ctrlKey:Boolean,
@@ -2632,24 +2635,24 @@
     {
         var bookmark:CursorBookmark = iterator.bookmark;

-		if (lockedRowCount)
-		{
-			inSelectItem = true;
-			iterator.seek(CursorBookmark.FIRST, 0);
-		}
-
-		var retval:Boolean = super.selectItem(item, shiftKey, ctrlKey, transition);
-
-		if (lockedRowCount)
-		{
-			iterator.seek(bookmark, 0);
-			inSelectItem = false;
-		}
-
-		return retval;
-	}
-
-	/**
+        if (lockedRowCount)
+        {
+            inSelectItem = true;
+            iterator.seek(CursorBookmark.FIRST, 0);
+        }
+
+        var retval:Boolean = super.selectItem(item, shiftKey, ctrlKey, transition);
+
+        if (lockedRowCount)
+        {
+            iterator.seek(bookmark, 0);
+            inSelectItem = false;
+        }
+
+        return retval;
+    }
+
+    /**
      *  @private
      */
     override public function showDropFeedback(event:DragEvent):void
@@ -2675,150 +2678,150 @@
         }

         var rowNum:Number = calculateDropIndex(event);
-		if (lockedRowCount && rowNum < lockedRowCount)
-		{
-			if (dropIndicator.parent != lockedRowContent)
-				lockedRowContent.addChild(DisplayObject(dropIndicator));
+        if (lockedRowCount && rowNum < lockedRowCount)
+        {
+            if (dropIndicator.parent != lockedRowContent)
+                lockedRowContent.addChild(DisplayObject(dropIndicator));
             dropIndicator.y = lockedRowContent.listItems[rowNum][0].y - 1

-		}
-		else
-		{
-			var rowCount:int = listItems.length;
-			var partialRow:int = (rowCount > 0 && rowInfo[rowCount - offscreenExtraRowsBottom - 1].y +
-                              	rowInfo[rowCount - offscreenExtraRowsBottom - 1].height >
-                              	listContent.heightExcludingOffsets - listContent.topOffset) ? 1 : 0;
-
-			rowNum -= verticalScrollPosition + lockedRowCount;
-
-			if (rowNum >= rowCount)
-			{
-				if (partialRow)
-					rowNum = rowCount - 1;
-				else
-					rowNum = rowCount;
-			}
+        }
+        else
+        {
+            var rowCount:int = listItems.length;
+            var partialRow:int = (rowCount > 0 && rowInfo[rowCount - offscreenExtraRowsBottom - 1].y +
+                                rowInfo[rowCount - offscreenExtraRowsBottom - 1].height >
+                                listContent.heightExcludingOffsets - listContent.topOffset) ? 1 : 0;
+
+            rowNum -= verticalScrollPosition + lockedRowCount;
+
+            if (rowNum >= rowCount)
+            {
+                if (partialRow)
+                    rowNum = rowCount - 1;
+                else
+                    rowNum = rowCount;
+            }

-			if (rowNum < 0)
-				rowNum = 0;
-
-			if (dropIndicator.parent != listContent)
-				listContent.addChild(DisplayObject(dropIndicator));
-			dropIndicator.y = calculateDropIndicatorY(rowCount, rowNum + offscreenExtraRowsTop);
-		}
-    }
-
-    /**
-     *  @private
-	 *  If there are locked rows but there weren't enough collection items, the iterator
-	 *  is not in the right place and needs fixing.
+            if (rowNum < 0)
+                rowNum = 0;
+
+            if (dropIndicator.parent != listContent)
+                listContent.addChild(DisplayObject(dropIndicator));
+            dropIndicator.y = calculateDropIndicatorY(rowCount, rowNum + offscreenExtraRowsTop);
+        }
+    }
+
+    /**
+     *  @private
+     *  If there are locked rows but there weren't enough collection items, the iterator
+     *  is not in the right place and needs fixing.
      */
     override protected function adjustAfterAdd(items:Array, location:int):Boolean
     {
-		var retval:Boolean = super.adjustAfterAdd(items, location);
-		if (lockedRowCount)
-		{
-			if (verticalScrollPosition > 0 && verticalScrollPosition >= location && location <= lockedRowCount)
-			{
-				if (verticalScrollPosition + lockedRowCount >= collection.length)
-				{
-					// don't let adjustment take us beyond end of iterator
-					super.verticalScrollPosition = verticalScrollPosition - items.length;
-				}
-			}
-			if (collection.length - items.length <= lockedRowCount && collection.length >= lockedRowCount
-				|| location <= lockedRowCount
-				|| location == lockedRowCount + verticalScrollPosition)
-			{
-				try
-				{
-					iterator.seek(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition);
-					if (!iteratorValid)
-					{
-						iteratorValid = true;
-						lastSeekPending = null;
-					}
-				}
-				catch(e:ItemPendingError)
-				{
-					lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition)
-					e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler,
-													lastSeekPending));
-					// trace("IPE in UpdateDisplayList");
-					iteratorValid = false;
-					// don't do anything, we'll repaint when the data arrives
-				}
-			}
-		}
-		return retval;
-	}
-
-    /**
-     *  @private
-	 *  If there are locked rows but there weren't enough collection items, the iterator
-	 *  is not in the right place and needs fixing.
+        var retval:Boolean = super.adjustAfterAdd(items, location);
+        if (lockedRowCount)
+        {
+            if (verticalScrollPosition > 0 && verticalScrollPosition >= location && location <= lockedRowCount)
+            {
+                if (verticalScrollPosition + lockedRowCount >= collection.length)
+                {
+                    // don't let adjustment take us beyond end of iterator
+                    super.verticalScrollPosition = verticalScrollPosition - items.length;
+                }
+            }
+            if (collection.length - items.length <= lockedRowCount && collection.length >= lockedRowCount
+                || location <= lockedRowCount
+                || location == lockedRowCount + verticalScrollPosition)
+            {
+                try
+                {
+                    iterator.seek(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition);
+                    if (!iteratorValid)
+                    {
+                        iteratorValid = true;
+                        lastSeekPending = null;
+                    }
+                }
+                catch(e:ItemPendingError)
+                {
+                    lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition)
+                    e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler,
+                                                    lastSeekPending));
+                    // trace("IPE in UpdateDisplayList");
+                    iteratorValid = false;
+                    // don't do anything, we'll repaint when the data arrives
+                }
+            }
+        }
+        return retval;
+    }
+
+    /**
+     *  @private
+     *  If there are locked rows but there weren't enough collection items, the iterator
+     *  is not in the right place and needs fixing.
      */
     override protected function adjustAfterRemove(items:Array, location:int, requiresValueCommit:Boolean):Boolean
     {
-		var adjustIterator:Boolean = false;
+        var adjustIterator:Boolean = false;

         if (lockedRowCount && listItems.length && listItems[0].length)
         {
-			if (location <= lockedRowCount + verticalScrollPosition)
-				adjustIterator = true;
-			else
-			{
-				// special case when we have less than a screen full of stuff
-				var firstUID:String = rowMap[listItems[0][0].name].uid;
+            if (location <= lockedRowCount + verticalScrollPosition)
+                adjustIterator = true;
+            else
+            {
+                // special case when we have less than a screen full of stuff
+                var firstUID:String = rowMap[listItems[0][0].name].uid;

-				for (var i:int = 0; i < items.length; i++)
-				{
-					var uid:String = itemToUID(items[i]);
+                for (var i:int = 0; i < items.length; i++)
+                {
+                    var uid:String = itemToUID(items[i]);

-					if (uid == firstUID && verticalScrollPosition == 0)
-					{
-						adjustIterator = true;
-						break;
-					}
-				}
-			}
-		}
-
-		var retval:Boolean = super.adjustAfterRemove(items, location, requiresValueCommit);
-
-		if (lockedRowCount)
-		{
-			if (verticalScrollPosition > 0 && location > lockedRowCount
-				&& verticalScrollPosition <= lockedRowCount && verticalScrollPosition == maxVerticalScrollPosition )
-			{
-				super.verticalScrollPosition = verticalScrollPosition - items.length;
-				adjustIterator = true;
-			}
-			if (adjustIterator)
-			{
-				try
-				{
-					iterator.seek(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition);
-					if (!iteratorValid)
-					{
-						iteratorValid = true;
-						lastSeekPending = null;
-					}
-				}
-				catch(e:ItemPendingError)
-				{
-					lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition)
-					e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler,
-													lastSeekPending));
-					// trace("IPE in UpdateDisplayList");
-					iteratorValid = false;
-					// don't do anything, we'll repaint when the data arrives
-				}
-			}
-		}
-
-		return retval;
-	}
+                    if (uid == firstUID && verticalScrollPosition == 0)
+                    {
+                        adjustIterator = true;
+                        break;
+                    }
+                }
+            }
+        }
+
+        var retval:Boolean = super.adjustAfterRemove(items, location, requiresValueCommit);
+
+        if (lockedRowCount)
+        {
+            if (verticalScrollPosition > 0 && location > lockedRowCount
+                && verticalScrollPosition <= lockedRowCount && verticalScrollPosition == maxVerticalScrollPosition )
+            {
+                super.verticalScrollPosition = verticalScrollPosition - items.length;
+                adjustIterator = true;
+            }
+            if (adjustIterator)
+            {
+                try
+                {
+                    iterator.seek(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition);
+                    if (!iteratorValid)
+                    {
+                        iteratorValid = true;
+                        lastSeekPending = null;
+                    }
+                }
+                catch(e:ItemPendingError)
+                {
+                    lastSeekPending = new ListBaseSeekPending(CursorBookmark.FIRST, lockedRowCount + verticalScrollPosition)
+                    e.addResponder(new ItemResponder(seekPendingResultHandler, seekPendingFailureHandler,
+                                                    lastSeekPending));
+                    // trace("IPE in UpdateDisplayList");
+                    iteratorValid = false;
+                    // don't do anything, we'll repaint when the data arrives
+                }
+            }
+        }
+
+        return retval;
+    }

 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.messaging.channels
 {


[VectorEditor] Version 1.4.0

[VectorEditor] Version 1.4.0

git-svn-id: adbdea8fc1759bd16b0eaf24a244a7e5f870a654@262 fe3f0490-d73e-11de-a956-c71e7d3a9d2f

--- VectorEditorStandalone/src/org/jbei/registry/Constants.as
+++ VectorEditorStandalone/src/org/jbei/registry/Constants.as
@@ -7,7 +7,7 @@
 	{
         public static const APPLICATION_NAME:String = "Vector Editor (Beta)";

-		public static const VERSION:String = "1.3.1";
+		public static const VERSION:String = "1.4.0";

 		public static const ENTRY_REGISTRY_URL:String = "https://registry.jbei.org/entry/view/";


Improved StatsMonitor/s FPS dispay to act more calmly and not jump over max. fps.

--- src/engine/tetragon/debug/StatsMonitor.as
+++ src/engine/tetragon/debug/StatsMonitor.as
@@ -149,6 +149,8 @@
 		private var _glRenderMS:uint;

 		/** @private */
+		private var _stageFrameRate:uint;
+		/** @private */
 		private var _stageFPS:uint;
 		/** @private */
 		private var _stageMS:uint;
@@ -212,6 +214,7 @@
 				_statsDelay = 10;
 				_glTicks = 0;
 				_glRenderMS = 0;
+				_stageFrameRate = _stage.frameRate;
 				_last = getTimer();

 				if (_gameLoop)
@@ -309,6 +312,7 @@
 			if (delta >= 50)
 			{
 				_stageFPS = (_frames / delta * 1000);
+				if (_stageFPS > _stageFrameRate) _stageFPS = _stageFrameRate;
 				_frames = 0;
 				_last = time;
 				_stageMS = time - _prevTime;
@@ -346,6 +350,7 @@
 		private function onClick(e:MouseEvent):void
 		{
 			(mouseY / height > .5) ? --_stage.frameRate : ++_stage.frameRate;
+			_stageFrameRate = _stage.frameRate;
 		}

@@ -508,7 +513,7 @@
 			_graphBuffer.setPixel(240 - 1, 46 - (MIN(46, SQRT(SQRT(_mem * 5000))) - 2), _colorMem);
 			_graphBuffer.setPixel(240 - 1, 46 - (_glRenderMS >> 1), _colorEtc3);
 			_graphBuffer.setPixel(240 - 1, 46 - (_stageMS >> 1), _colorEtc2);
-			_graphBuffer.setPixel(240 - 1, 46 - MIN(46, (_stageFPS / _stage.frameRate) * 46), _colorFPS);
+			_graphBuffer.setPixel(240 - 1, 46 - MIN(46, (_stageFPS / _stageFrameRate) * 46), _colorFPS);
 			_graphBuffer.unlock();
 		}

@@ -521,7 +526,7 @@
 			if (_statsDelay++ < 10) return;
 			_statsDelay = 0;

-			_fpsTF.text = "FPS:" + _stageFPS + "/" + _stage.frameRate;
+			_fpsTF.text = "FPS:" + _stageFPS + "/" + _stageFrameRate;
 			_mem1TF.text = "MEM:" + _mem.toFixed(2);
 			_mem2TF.text = "MAX:" + _memMax.toFixed(2);
 			_mem3TF.text = "PRC:" + _memPRC.toFixed(2);


Transferred from the Adobe Open Source Subversion Repository

Revision: 11646
Author:   cframpto@adobe.com
Date:     2009-11-11T13:14:52.333086Z

Log Message:
-----------
Fix focus issues introduced by TLF build 545.  When setText() or setTextFlow() is called when we have focus, make sure there is a text flow with composer in place, the controller has focus and there is an insertion point of 0,0 so typing can continue without a mouse click or a mouse hover.  The caller can set a different insertion point by calling selectRange() after calling setText() or setTextFlow().

QE notes:
Doc notes:
Bugs: SDK-24011, SDK-22638, SDK-24085
Reviewer: Gordon
Tests run: checkintests, TextArea, TextInput, NumericStepper, ComboBox
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
@@ -21,12 +21,15 @@
 import flash.geom.Rectangle;
 import flash.ui.Keyboard;

+import flashx.textLayout.container.ContainerController;
 import flashx.textLayout.container.TextContainerManager;
 import flashx.textLayout.edit.EditingMode;
 import flashx.textLayout.edit.IEditManager;
 import flashx.textLayout.edit.ISelectionManager;
 import flashx.textLayout.edit.SelectionFormat;
 import flashx.textLayout.elements.IConfiguration;
+import flashx.textLayout.elements.TextFlow;
+import flashx.textLayout.tlf_internal;
 import flashx.undo.IUndoManager;
 import flashx.undo.UndoManager;

@@ -38,6 +41,7 @@
 import spark.components.TextSelectionHighlighting;

 use namespace mx_internal;
+use namespace tlf_internal;

 [ExcludeClass]

@@ -246,6 +250,56 @@
     /**
      *  @private
      */
+    override public function setText(text:String):void
+    {
+        super.setText(text);
+
+        // If we have focus, need to make sure we can still input text.
+        initForInputIfHaveFocus();
+    }
+
+    /**
+     *  @private
+     */
+    override public function setTextFlow(textFlow:TextFlow):void
+    {
+        super.setTextFlow(textFlow);
+
+        // If we have focus, need to make sure we can still input text.
+        initForInputIfHaveFocus();
+    }
+
+    /**
+     *  @private
+     */
+    private function initForInputIfHaveFocus():void
+    {
+        // If we have focus, need to make sure there is a composer in place,
+        // the new controller knows it has focus, and there is an insertion
+        // point so input works without a mouse over or mouse click.  Normally
+        // this is done in our focusIn handler by making sure there is a
+        // selection.  Test this by clicking an arrow in the NumericStepper
+        // and then entering a number without clicking on the input field first.
+        if (editingMode != EditingMode.READ_ONLY &&
+            textDisplay.getFocus() == textDisplay)
+        {
+            // this will ensure a text flow with a comopser
+            var im:ISelectionManager = beginInteraction();
+
+            var controller:ContainerController =
+                getTextFlow().flowComposer.getControllerAt(0);
+
+            controller.requiredFocusInHandler(null);
+
+            im.selectRange(0, 0);
+
+            endInteraction();
+        }
+    }
+
+    /**
+     *  @private
+     */
     override public function focusInHandler(event:FocusEvent):void
     {
         textDisplay.focusInHandler(event);


Transferred from the Adobe Open Source Subversion Repository

Revision: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<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/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.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/core/UITextField.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/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ContainerRawChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.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/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.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/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as
+++ frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as
@@ -14,11 +14,6 @@
  *  but for backward compatibility, they have to be included
  *  directly into IFlexDisplayObject, so they are kept in
  *  this separate include file.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
  */

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 7390
Author:   rfrishbe@adobe.com
Date:     2009-05-28T21:48:59.963797Z

Log Message:
-----------
Adding wireframe skins for VideoPlayer.

Also fixing up some other VideoPlayer bugs around fullscreen (going into normal mode wouldn't stop the timer to hide the controls correctly).  Fixed the pause() and stop() methods so that when we're not connected to a source to do nothing instead of RTEing.

Also updated the underlyign FLVPlayback control to the newest version.

Fixed some ASDoc issues in various files.

QE Notes: -
Doc Notes: -
Bugs: SDK-21435
Reviewer: Glenn
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerScrubBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/WireframeClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/DynamicStream.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerVolumeBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerFullScreenFullScreenButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenFullScreenButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ComponentVersion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerScrubBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerVolumeBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerFullScreenButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerPlayPauseButtonSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/core/IVisualElementContainer.as
+++ frameworks/projects/framework/src/mx/core/IVisualElementContainer.as
@@ -61,7 +61,8 @@

     /**
      *  Adds a visual element to this visual container. The element is
-     *  added after all other elements and on top of all other elements.
+     *  added after all other elements.  It will sit on top of all other
+     *  elements unless the layer property is set.
      *  (To add a visual element to a specific index position, use
      *  the addElementAt() method.)
      *


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5288
Author:   rfrishbe@adobe.com
Date:     2009-03-13T01:44:49.712909Z

Log Message:
-----------
A bunch of small bug fixes.

- DataGroup bug around a visualelement being moved to another datagroup (SDK-19680)

- Added removeAllElements method to IVisualElementContainer (SDK-19424)

- Fix up ASDoc/RTE messages for Group/DataGroup/FxContainer when calling addChild(), removeChild(), etc... (SDK-19582)

- Added an mx_internal method, specifically for automation, so mouse event listeners can get added to a Container without adding a mouseshield and changing the behavior of the component (SDK-18864)

- When both skinClass and skinFactory are set, the skin doesn't get reloaded properly when skinFactory changes when it's a non-ClassFactory (SDK-19450)

- autoLayout and typicalItem properties weren't getting proxied properly on FxDataContainer (SDK-19799)

- Tabbing through two focusable items, when one of those items is partially "offscreen", starts the tab loop with the second item instead of the first (SDK-17283)

- Add Icon file for FxVideoDisplay and VideoElement.

- Also fixed up some ASDoc versioning info for stuff that was added in the Flex 4 timeframe but was actually added to the framework project and not the flex4 project.

- Also renaming Group.setMxmlContent -> Group.setMXMLContent to follow proper naming conventions.

QE Notes: I'll update the bug files and let you know which ones we need to add tests for
Doc Notes: -
Bugs: SDK-19680, SDK-19424, SDK-19582, SDK-18864, SDK-19450, SDK-19799, SDK-17283
Reviewer: Jason reviewed most of the changes, Alex reviewed the FocusManager change
tests: checkintests, mustella Group, DataGroup, FxComponent

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -704,6 +704,14 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
+    public function removeAllElements():void
+    {
+        mx_internal::currentContentGroup.removeAllElements();
+    }
+
+    /**
+     *  @inheritDoc
+     */
     public function setElementIndex(element:IVisualElement, index:int):void
     {
         mx_internal::currentContentGroup.setElementIndex(element, index);


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

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

 package mx.styles
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3567
Author:   smgilson@adobe.com
Date:     2008-10-10T15:40:48.928652Z

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

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/MXMLComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -37,12 +37,16 @@
 /**
  *  Dispatched when an item is added to the content holder.
  *  event.
+ *
+ *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_ADD
  */
 [Event(name="itemAdd", type="mx.events.ItemExistenceChangedEvent")]

 /**
  *  Dispatched when an item is removed from the content holder.
  *  event.
+ *
+ *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_REMOVE
  */
 [Event(name="itemRemove", type="mx.events.ItemExistenceChangedEvent")]

@@ -452,7 +456,8 @@
     }

     /**
-     *  Called to add an item to this DataGroup.
+     *  Adds an item to this DataGroup.
+     *  Flex calls this method automatically; you do not call it directly.
      *
      *  @param item The item that was added.
      *
@@ -488,7 +493,8 @@
     }

     /**
-     *  Called to remove an item from this DataGroup.
+     *  Removes an item from this DataGroup.
+     *  Flex calls this method automatically; you do not call it directly.
      *
      *  @param item The item that is being removed.
      *
@@ -534,7 +540,7 @@
     }

     /**
-     *  Removes an item from another datagroup or display list
+     *  Removes an item from another DataGroup or display list
      *  before adding it to this display list.
      *
      *  @param child DisplayObject to add to the display list.


Transferred from the Adobe Open Source Subversion Repository

Revision: 11751
Author:   clucier@adobe.com
Date:     2009-11-12T22:28:38.657563Z

Log Message:
-----------
Setting a transform matrix would always invalidate and cause an update.  If you were setting a transform matrix in upateDisplayList, you'd end up in a continuous update loop.  Added logic to early exit (and not invalidate) when the newly set matrix is identical to the existing.

QE notes: None
Doc notes: None
Bugs: SDK-22807
Reviewer: Evtim
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -2065,33 +2065,47 @@
 		}
 	}

-	/**
-	 *  @inheritDoc
-	 *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-	 */
-	public function setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void
-	{
-		hasDeltaIdentityTransform = false;
-		if (_layoutFeatures == null)
-		{
-			// flash will make a copy of this on assignment.
-			super.transform.matrix = value;
-		}
-		else
-		{
-			// layout features will internally make a copy of this matrix rather than
-			// holding onto a reference to it.
-			_layoutFeatures.layoutMatrix = value;
-			invalidateTransform();
-		}
-
-		if (invalidateLayout)
-			invalidateParentSizeAndDisplayList();
-	}
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void
+    {
+        hasDeltaIdentityTransform = false;
+
+        var previousMatrix:Matrix = _layoutFeatures ?
+            _layoutFeatures.layoutMatrix : super.transform.matrix;
+
+        if (_layoutFeatures == null)
+        {
+            // flash will make a copy of this on assignment.
+            super.transform.matrix = value;
+        }
+        else
+        {
+            // layout features will internally make a copy of this matrix rather than
+            // holding onto a reference to it.
+            _layoutFeatures.layoutMatrix = value;
+            invalidateTransform();
+        }
+
+        // Early exit if possible. We don't want to invalidate unnecessarily.
+        // We need to do the check here, after our new value has been applied
+        // because our matrix components are rounded upon being applied to a
+        // DisplayObject.
+        if (MatrixUtil.isEqual(previousMatrix, _layoutFeatures ?
+            _layoutFeatures.layoutMatrix : super.transform.matrix))
+        {
+            return;
+        }
+
+        if (invalidateLayout)
+            invalidateParentSizeAndDisplayList();
+    }

     /**
      *  @inheritDoc
@@ -2138,27 +2152,31 @@
 		return _layoutFeatures.layoutMatrix3D.clone();
 	}

-	/**
-	 *  Similarly to the layoutMatrix3D property, sets the layout Matrix3D, but
-	 *  doesn't trigger a layout pass.
-	 *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-	 */
-	public function setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void
-	{
-		if (_layoutFeatures == null)
-			initAdvancedLayoutFeatures();
-		// layout features will internally make a copy of this matrix rather than
-		// holding onto a reference to it.
-		_layoutFeatures.layoutMatrix3D = value;
-		invalidateTransform();
-
-		if (invalidateLayout)
-			invalidateParentSizeAndDisplayList();
-	}
+    /**
+     *  Similarly to the layoutMatrix3D property, sets the layout Matrix3D, but
+     *  doesn't trigger a layout pass.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void
+    {
+        // Early exit if possible. We don't want to invalidate unnecessarily.
+        if (_layoutFeatures && MatrixUtil.isEqual3D(_layoutFeatures.layoutMatrix3D, value))
+            return;
+
+        if (_layoutFeatures == null)
+            initAdvancedLayoutFeatures();
+        // layout features will internally make a copy of this matrix rather than
+        // holding onto a reference to it.
+        _layoutFeatures.layoutMatrix3D = value;
+        invalidateTransform();
+
+        if (invalidateLayout)
+            invalidateParentSizeAndDisplayList();
+    }

     /**
      * @copy mx.core.ILayoutElement#transformAround


Transferred from the Adobe Open Source Subversion Repository

Revision: 20649
Author:   smgilson@adobe.com
Date:     2011-03-07T20:19:16.700368Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/ContentRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/ContentCache.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/NavigationUnit.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -1730,6 +1730,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     override public function get visible():Boolean
     {
@@ -2131,6 +2136,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get layoutDirection():String
     {
@@ -2155,6 +2165,11 @@

     /**
      * @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function invalidateLayoutDirection():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17192
Author:   klin@adobe.com
Date:     2010-08-04T22:46:24.590196Z

Log Message:
-----------
Fixed a few bugs in FormItemLayout and ConstraintLayout.

-ConstraintLayout's measure() doesn't set the actual sizes of the columns and rows anymore. Instead, measureColumns and measureRows return a vector of the calculated column and row sizes. These are used to calculate the correct measuredWidth and measuredHeight of the target without altering the columns or rows.
-Added two protected methods, setColumnWidths() and setRowHeights(), for setting the actual sizes for columns and rows. FormItemLayout uses setColumnWidths to set the layout sizes it gets from FormLayout.
-Removed setColumnWidths() from FormItemLayout.
-The Group that wraps the indicatorDisplay is now not included in the layout since we size and position it through binding.

QE notes: No
Doc notes: No
Bugs: SDK-27205, SDK-27206
Reviewer: Jason
Tests run: checkintests, Form
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as
+++ frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as
@@ -395,8 +395,20 @@
         parseConstraints();

         // TODO (klin): minimum will be different when percent size comes into play
-        width = minWidth = measureAndPositionColumns();
-        height = minHeight = measureAndPositionRows();
+        var colWidths:Vector.<Number> = measureColumns();
+        var rowHeights:Vector.<Number> = measureRows();
+        var n:Number;
+
+        for each (n in colWidths)
+        {
+            width += n;
+        }
+        minWidth = width;
+        for each (n in rowHeights)
+        {
+            height += n;
+        }
+        minHeight = height;

         if (otherElements)
         {
@@ -512,8 +524,50 @@
     protected function measureAndPositionColumnsAndRows():void
     {
         parseConstraints();
-        measureAndPositionColumns();
-        measureAndPositionRows();
+        setColumnWidths(measureColumns());
+        setRowHeights(measureRows());
+    }
+
+    /**
+     *  Used to set new column widths before laying out the elements.
+     *  Used by FormItemLayout to set column widths provided by the
+     *  Form.
+     */
+    protected function setColumnWidths(value:Vector.<Number>):void
+    {
+        if (value == null)
+            return;
+
+        var constraintColumns:Vector.<ConstraintColumn> = this.constraintColumns;
+        var numCols:int = constraintColumns.length;
+        var totalWidth:Number = 0;
+
+        for (var i:int = 0; i < numCols; i++)
+        {
+            constraintColumns[i].setActualWidth(value[i]);
+            constraintColumns[i].x = totalWidth;
+            totalWidth += value[i];
+        }
+    }
+
+    /**
+     *  Used to set new row heights before laying out the elements.
+     */
+    protected function setRowHeights(value:Vector.<Number>):void
+    {
+        if (value == null)
+            return;
+
+        var constraintRows:Vector.<ConstraintRow> = this.constraintRows;
+        var numRows:int = constraintRows.length;
+        var totalHeight:Number = 0;
+
+        for (var i:int = 0; i < numRows; i++)
+        {
+            constraintRows[i].setActualHeight(value[i]);
+            constraintRows[i].y = totalHeight;
+            totalHeight += value[i];
+        }
     }

     /**
@@ -722,7 +776,7 @@
     /**
      *  @private
      *  This function measures the ConstraintColumns partitioning
-     *  the target and sets their x positions. The calculations
+     *  the target and returns their new widths. The calculations
      *  are based on the current constraintCache. To update the
      *  constraintCache, one needs to call the parseConstraints()
      *  method.
@@ -749,9 +803,9 @@
      *
      *  6. Sum the column widths to get the total measured width of the target.
      *
-     *  @return measuredWidth of the columns.
-     */
-    private function measureAndPositionColumns():Number
+     *  @return a vector of the new column widths.
+     */
+    private function measureColumns():Vector.<Number>
     {
         // TODO (klin): Parameterize this to work for both columns and rows.
         // This may mean we need to add some mx_internal properties to
@@ -760,15 +814,17 @@
         // what parts aren't possible.

         if (_constraintColumns.length <= 0)
-            return 0;
+            return new Vector.<Number>();

         var measuredWidth:Number = 0;
         var i:Number;
         var numCols:Number = _constraintColumns.length;
         var col:ConstraintColumn;
         var hasContentSize:Boolean = false;
-
-        // Reset content size columns to 0.
+        var colWidths:Vector.<Number> = new Vector.<Number>();
+
+        // Start column widths at the minWidth of each column or
+        // its explicit width.
         for (i = 0; i < numCols; i++)
         {
             col = _constraintColumns[i];
@@ -777,9 +833,21 @@
                 hasContentSize = true;

                 if (!isNaN(col.minWidth))
-                    col.setActualWidth(Math.ceil(Math.max(col.minWidth, 0)));
+                    colWidths[i] = Math.ceil(Math.max(col.minWidth, 0));
                 else
-                    col.setActualWidth(0);
+                    colWidths[i] = 0;
+            }
+            else if (!isNaN(col.explicitWidth))
+            {
+                var w:Number = col.width;
+
+                if (!isNaN(col.minWidth))
+                    w = Math.max(w, col.minWidth);
+
+                if (!isNaN(col.maxWidth))
+                    w = Math.min(w, col.maxWidth);
+
+                colWidths[i] = Math.ceil(w);
             }
         }

@@ -877,7 +945,7 @@
                     // only measure with when dealing with content size
                     if (col.contentSize)
                     {
-                        colWidth = Math.max(col.width, extX + preferredWidth);
+                        colWidth = Math.max(colWidths[leftIndex], extX + preferredWidth);

                         if (constraintsDetermineWidth(elementInfo))
                             colWidth = Math.max(colWidth, extX + layoutElement.getMinBoundsWidth());
@@ -886,7 +954,7 @@
                         if (!isNaN(col.maxWidth))
                             colWidth = Math.min(colWidth, col.maxWidth);

-                        col.setActualWidth(Math.ceil(colWidth));
+                        colWidths[leftIndex] = Math.ceil(colWidth);
                     }
                 }
                 else
@@ -895,6 +963,7 @@
                     // 1) start from leftIndex and subtract fixed columns
                     // 2) divide space evenly into content size columns.
                     var contentCols:Vector.<ConstraintColumn> = new Vector.<ConstraintColumn>();
+                    var contentColsIndices:Vector.<int> = new Vector.<int>();

                     availableWidth = maxExtent;

@@ -915,6 +984,7 @@
                         else if (col.contentSize)
                         {
                             contentCols.push(col);
+                            contentColsIndices.push(j);
                         }
                     }

@@ -928,46 +998,39 @@
                         {
                             col = contentCols[j];

-                            colWidth = Math.max(col.width, splitWidth);
+                            colWidth = Math.max(colWidths[contentColsIndices[j]], splitWidth);
                             if (!isNaN(col.maxWidth))
                                 colWidth = Math.min(colWidth, col.maxWidth);

-                            col.setActualWidth(Math.ceil(colWidth));
+                            colWidths[contentColsIndices[j]] = Math.ceil(colWidth);
                         }
                     }
                 }
             }
         }

-        // Position columns and add up widths.
-        for (i = 0; i < numCols; i++)
-        {
-            col = _constraintColumns[i];
-            col.x = measuredWidth;
-            measuredWidth += col.width;
-        }
-
-        return measuredWidth;
-    }
-
-    /**
-     *  @private
-     *  Synonymous to measureAndPositionColumns(), but with added baseline constraint.
+        return colWidths;
+    }
+
+    /**
+     *  @private
+     *  Synonymous to measureColumns(), but with added baseline constraint.
      *  Baseline is only included in the measurement if at least one of the element's
      *  top or bottom constraint doesn't exist. The calculations are based on the
      *  current constraintCache. To update the constraintCache, one needs to call
      *  the parseConstraints() method.
      */
-    private function measureAndPositionRows():Number
+    private function measureRows():Vector.<Number>
     {
         if (_constraintRows.length <= 0)
-            return 0;
+            return new Vector.<Number>();

         var measuredHeight:Number = 0;
         var i:Number;
         var numRows:Number = _constraintRows.length;
         var row:ConstraintRow;
         var hasContentSize:Boolean = false;
+        var rowHeights:Vector.<Number> = new Vector.<Number>();

         // Reset content size rows to 0.
         for (i = 0; i < numRows; i++)
@@ -978,9 +1041,21 @@
                 hasContentSize = true;

                 if (!isNaN(row.minHeight))
-                    row.setActualHeight(Math.ceil(Math.max(row.minHeight, 0)));
+                    rowHeights[i] = Math.ceil(Math.max(row.minHeight, 0));
                 else
-                    row.setActualHeight(0);
+                    rowHeights[i] = 0;
+            }
+            else if (!isNaN(row.explicitHeight))
+            {
+                var h:Number = row.height;
+
+                if (!isNaN(row.minHeight))
+                    h = Math.max(h, row.minHeight);
+
+                if (!isNaN(row.maxHeight))
+                    h = Math.min(h, row.maxHeight);
+
+                rowHeights[i] = Math.ceil(h);
             }
         }

@@ -1104,7 +1179,7 @@
                     // only measure with when dealing with content size
                     if (row.contentSize)
                     {
-                        rowHeight = Math.max(row.height, extY + preferredHeight);
+                        rowHeight = Math.max(rowHeights[topIndex], extY + preferredHeight);

                         if (constraintsDetermineHeight(elementInfo))
                             rowHeight = Math.max(rowHeight, extY + layoutElement.getMinBoundsHeight());
@@ -1113,7 +1188,7 @@
                         if (!isNaN(row.maxHeight))
                             rowHeight = Math.min(rowHeight, row.maxHeight);

-                        row.setActualHeight(Math.ceil(rowHeight));
+                        rowHeights[topIndex] = Math.ceil(rowHeight);
                     }
                 }
                 else
@@ -1122,6 +1197,7 @@
                     // 1) start from topIndex and subtract fixed rows
                     // 2) divide space evenly into content size rows.
                     var contentRows:Vector.<ConstraintRow> = new Vector.<ConstraintRow>();
+                    var contentRowsIndices:Vector.<int> = new Vector.<int>();

                     availableHeight = maxExtent;

@@ -1142,6 +1218,7 @@
                         else if (row.contentSize)
                         {
                             contentRows.push(row);
+                            contentRowsIndices.push(j);
                         }
                     }

@@ -1155,26 +1232,18 @@
                         {
                             row = contentRows[j];

-                            rowHeight = Math.max(row.height, splitHeight);
+                            rowHeight = Math.max(rowHeights[contentRowsIndices[j]], splitHeight);
                             if (!isNaN(row.maxHeight))
                                 rowHeight = Math.min(rowHeight, row.maxHeight);

-                            row.setActualHeight(Math.ceil(rowHeight));
+                            rowHeights[contentRowsIndices[j]] = Math.ceil(rowHeight);
                         }
                     }
                 }
             }
         }

-        // Position rows and add up heights.
-        for (i = 0; i < numRows; i++)
-        {
-            row = _constraintRows[i];
-            row.y = measuredHeight;
-            measuredHeight += row.height;
-        }
-
-        return measuredHeight;
+        return rowHeights;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 1098
Author:   jimurphy@adobe.com
Date:     2008-04-03T21:50:39.896200Z

Log Message:
-----------
Merge 3.0.x -- 362:394, 427:429, 603:608, 644:645, 651:663, 672:676, 755:756, 763:766, 785:790, 812:814, 854:861, 862:866, 866:933,971:1009, 1050:1056 --> trunk

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/controls/treeClasses/DefaultDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IRepeaterClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/Locale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/SOAPMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IBrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ComponentDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IViewCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.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/controls/menuClasses/IMenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ILayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Spacer.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/rpc/src/mx/rpc/Fault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/XMLListCollection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SliderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncToken.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ScrollEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/CuePointManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/NumericStepperEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/events/ChannelFaultEvent.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/collections/CursorBookmark.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/WSDLLoadEvent.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/rpc/src/mx/rpc/soap/LoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/FlexClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/LogLogger.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build_framework.xml</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/rpc/src/mx/rpc/events/HeaderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</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/dataGridClasses/DataGridDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/ITreeDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>

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

--- frameworks/projects/mx/src/mx/controls/videoClasses/VideoError.as
+++ frameworks/projects/mx/src/mx/controls/videoClasses/VideoError.as
@@ -27,7 +27,7 @@
  */
 public class VideoError extends Error
 {
-	include "../../core/Version.as";
+    include "../../core/Version.as";

     //--------------------------------------------------------------------------
     //
@@ -35,93 +35,93 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 *  Base error code
-	 */
-	private static const BASE_ERROR_CODE:uint = 1000;
+    /**
+     *  @private
+     *  Base error code
+     */
+    private static const BASE_ERROR_CODE:uint = 1000;

-	/**
-	 *  Unable to make connection to server or to find FLV on server.
-	 */
-	public static const NO_CONNECTION:uint = 1000;
+    /**
+     *  Unable to make connection to server or to find FLV on server.
+     */
+    public static const NO_CONNECTION:uint = 1000;

-	/**
-	 *  No matching cue point found.
-	 */
-	public static const NO_CUE_POINT_MATCH:uint = 1001;
+    /**
+     *  No matching cue point found.
+     */
+    public static const NO_CUE_POINT_MATCH:uint = 1001;

-	/**
-	 *  Illegal cue point.
-	 */
-	public static const ILLEGAL_CUE_POINT:uint = 1002;
+    /**
+     *  Illegal cue point.
+     */
+    public static const ILLEGAL_CUE_POINT:uint = 1002;

-	/**
-	 *  Invalid seek.
-	 */
-	public static const INVALID_SEEK:uint = 1003;
+    /**
+     *  Invalid seek.
+     */
+    public static const INVALID_SEEK:uint = 1003;

-	/**
-	 *  Invalid content path.
-	 */
-	public static const INVALID_CONTENT_PATH:uint = 1004;
+    /**
+     *  Invalid content path.
+     */
+    public static const INVALID_CONTENT_PATH:uint = 1004;

-	/**
-	 *  Invalid XML.
-	 */
-	public static const INVALID_XML:uint = 1005;
+    /**
+     *  Invalid XML.
+     */
+    public static const INVALID_XML:uint = 1005;

-	/**
-	 *  No bitrate match.
-	 */
-	public static const NO_BITRATE_MATCH:uint = 1006;
+    /**
+     *  No bitrate match.
+     */
+    public static const NO_BITRATE_MATCH:uint = 1006;

-	/**
-	 *  Cannot delete default VideoPlayer
-	 */
-	public static const DELETE_DEFAULT_PLAYER:uint = 1007;
-
+    /**
+     *  Cannot delete default VideoPlayer
+     */
+    public static const DELETE_DEFAULT_PLAYER:uint = 1007;
+
     //--------------------------------------------------------------------------
     //
     //  Constructor
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  Constructor
-	 *
-	 *  @param The error code.
-	 *
-	 *  @param msg The error message.
-	 */
-	public function VideoError(errCode:uint, msg:String = null)
-	{
-		super();
+    /**
+     *  Constructor.
+     *
+     *  @param The error code.
+     *
+     *  @param msg The error message.
+     */
+    public function VideoError(errCode:uint, msg:String = null)
+    {
+        super();

-		_code = errCode;
+        _code = errCode;

-		var errorMessages:Array = resourceManager.getStringArray(
-			"controls", "errorMessages")
-
-		message = "" + errCode + ": " +
-				  errorMessages[errCode - BASE_ERROR_CODE] +
-				  ((msg == null) ? "" : (": " + msg));
-
-		//name = "VideoError";
-	}
-
+        var errorMessages:Array = resourceManager.getStringArray(
+            "controls", "errorMessages")
+
+        message = "" + errCode + ": " +
+                  errorMessages[errCode - BASE_ERROR_CODE] +
+                  ((msg == null) ? "" : (": " + msg));
+
+        //name = "VideoError";
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Variables
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 *  Used for accessing localized Error messages.
-	 */
-	private var resourceManager:IResourceManager =
-									ResourceManager.getInstance();
+    /**
+     *  @private
+     *  Used for accessing localized Error messages.
+     */
+    private var resourceManager:IResourceManager =
+                                    ResourceManager.getInstance();

     //--------------------------------------------------------------------------
     //
@@ -130,22 +130,22 @@
     //--------------------------------------------------------------------------

     //----------------------------------
-	//  code
+    //  code
     //----------------------------------

     /**
-	 *  @private
-	 *  Storage for the code property.
+     *  @private
+     *  Storage for the code property.
      */
-	private var _code:uint;
+    private var _code:uint;

-	/**
-	 *  Contains the error code.
-	 */
-	public function get code():uint
-	{
-		return _code;
-	}
+    /**
+     *  Contains the error code.
+     */
+    public function get code():uint
+    {
+        return _code;
+    }
 }

 }


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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12625
Author:   mhorn@adobe.com
Date:     2009-12-07T21:50:25.279856Z

Log Message:
-----------
asdoc updates for l10n; add examples

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as
@@ -61,11 +61,14 @@
  *  <s:GradientGlowFilter/>
  *  </pre>
  *
+ * @see spark.filters.GlowFilter
+ * @see flash.filters.GradientGlowFilter
  * @see flash.display.BitmapData#applyFilter()
  * @see flash.display.DisplayObject#cacheAsBitmap
  * @see flash.display.DisplayObject#filters
- * @see flash.filters.GlowFilter GlowFilter class
  *
+ * @includeExample examples/GradientGlowFilterExample.mxml
+ *
  * @langversion 3.0
  * @playerversion Flash 10
  * @playerversion AIR 1.5


Transferred from the Adobe Open Source Subversion Repository

Revision: 4933
Author:   dsubrama@adobe.com
Date:     2009-02-12T00:15:06.489167Z

Log Message:
-----------
A variety of fixes to Spinner and NumericStepper that exposed some inaccuracies in Range. All discovered while fixing SDK-17822.

Additionally, added the extractValueFunction which is the sibling property to displayFormatFunction. Both can be set on a Spark NumericStepper to modify the value displayed in the text input and to extract the correct value for internal representation.

Checkintests: Pass
Mustella tests: Pass (NS, Spinner, ScrollBar, Slider)
Reviewer: Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -250,13 +250,17 @@
      */
     override public function step(increase:Boolean = true):void
     {
-        if (stepSize == 0)
-            return;
-
-        if (increase)
-            value = (valueWrap && (value == maximum)) ? minimum : value + stepSize;
-        else
-            value = (valueWrap && (value == minimum)) ? maximum : value - stepSize;
+		if (valueWrap)
+		{
+			if (increase && (value == maximum))
+				value = minimum;
+			else if (!increase && (value == minimum))
+				value = maximum;
+			else
+				super.step(increase);
+		}
+		else
+			super.step(increase);
     }

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