You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cf...@apache.org on 2012/12/21 19:05:22 UTC

svn commit: r1425063 [9/13] - in /incubator/flex/sdk/branches/develop: frameworks/ frameworks/projects/spark/ frameworks/projects/spark/src/ frameworks/projects/spark/src/spark/collections/ frameworks/projects/spark/src/spark/components/ frameworks/pro...

Propchange: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/gridClasses/GridViewLayout.as
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/gridClasses/GridViewLayout.as
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as Fri Dec 21 18:05:20 2012
@@ -190,5 +190,28 @@ public interface IGridItemEditor extends
      */  
     function save():Boolean;
 
+    /**
+     *  Called by the DataGrid when an open editor is being closed without 
+     *  saving the data in the editor. Closing the editor may be 
+     *  prevented by returning <code>false</code>
+     * .  
+     *  <p>Do not call this method directly. 
+     *  It should only be called by the control hosting the item editor.
+     *  To close the editor without saving its data, call the 
+     *  <code>endItemEditorSession()</code> method with the <code>cancel</code>
+     *  parameter set to <code>true</code>.</p>
+     *
+     *  @return <code>true</code> to close the editor without saving its data. 
+     *  Return <code>false</code> to prevent the editor from closing.
+     *  
+     *  @see spark.components.DataGrid
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5 
+     */  
+    function cancel():Boolean;
+    
 }
 }
\ No newline at end of file

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml Fri Dec 21 18:05:20 2012
@@ -33,6 +33,7 @@ columnHeaderGroup's headerRenderer prope
 and can be overridden by subclasses of this class: <code>alternatingRowColors</code>,
 <code>caretIndicator</code>, <code>columnSeparator</code>, <code>editorIndicator</code>, 
 <code>headerColumnSeparator</code>, <code>hoverIndicator</code>, 
+<code>lockedColumnsSeparator</code>, <code>lockedRowsSeparator</code>, 
 <code>rowSeparator</code>, <code>selectionIndicator</code>.  All of these 
 declarations define DataGrid skin parts except <code>headerColumnSeparator</code> and
 <code>headerRenderer</code> which are used for the values of the columnHeaderGroup's 
@@ -53,16 +54,17 @@ declarations define DataGrid skin parts 
     alpha.disabled="0.5" minWidth="89" minHeight="84">
     
     <fx:Metadata>
-    <![CDATA[
-        /** 
-        * @copy spark.skins.spark.ApplicationSkin#hostComponent
-          @langversion 3.0
-          @playerversion Flash 10
-          @playerversion AIR 1.5
-          @productversion Flex 4
-         */
-        [HostComponent("spark.components.DataGrid")]
-    ]]>
+        <![CDATA[
+            /** 
+             *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 10
+             *  @playerversion AIR 2.5
+             *  @productversion Flex 4.5
+             */
+            [HostComponent("spark.components.DataGrid")]
+        ]]>
     </fx:Metadata>
     
     <s:states>
@@ -74,7 +76,7 @@ declarations define DataGrid skin parts 
         <!--- @private -->        
         <fx:Component id="alternatingRowColorsBackground">
             <s:Rect implements="spark.components.gridClasses.IGridVisualElement">
-                <fx:Script>
+                <fx:Script fb:purpose="styling">
                     <![CDATA[
                         import spark.components.DataGrid;
                         import spark.components.Grid;
@@ -112,7 +114,7 @@ declarations define DataGrid skin parts 
         <!--- @private -->        
         <fx:Component id="caretIndicator">
             <s:Rect implements="spark.components.gridClasses.IGridVisualElement">
-                <fx:Script>
+                <fx:Script fb:purpose="styling">
                     <![CDATA[
                         import spark.components.DataGrid;
                         import spark.components.Grid;
@@ -148,6 +150,24 @@ declarations define DataGrid skin parts 
             </s:Line>
         </fx:Component>
         
+        <!--- 
+        Defines the appearance of the drop indicator.
+        The DataGrid's layout takes care to size and position the dropIndicator.
+        -->
+        <fx:Component id="dropIndicator">
+            <s:Group>
+                <s:Rect left="0" right="0" top="0" bottom="0">
+                    <s:fill>
+                        <!--- Defines the color of the background. -->
+                        <s:SolidColor color="0xBBBBBB" />
+                    </s:fill>
+                    <s:stroke>
+                        <s:SolidColorStroke color="0x868686" weight="1"/>
+                    </s:stroke>
+                </s:Rect>
+            </s:Group>
+        </fx:Component>
+        
         <!--- Defines the value of the columnSeparator property for the columnHeaderGroup. -->
         <fx:Component id="headerColumnSeparator">
             <s:Line>
@@ -155,7 +175,7 @@ declarations define DataGrid skin parts 
                     <s:SolidColorStroke color="0x696969" weight="1" caps="square"/>
                 </s:stroke>
             </s:Line>
-        </fx:Component>
+        </fx:Component>       
         
         <!--- Defines the value of the headerRenderer property for the columnHeaderGroup. 
               The default is spark.skins.spark.DefaultGridHeaderRenderer -->
@@ -166,7 +186,7 @@ declarations define DataGrid skin parts 
         <!--- @private -->
         <fx:Component id="hoverIndicator">
             <s:Rect implements="spark.components.gridClasses.IGridVisualElement">
-                <fx:Script>
+                <fx:Script fb:purpose="styling">
                     <![CDATA[
                         import spark.components.DataGrid;
                         import spark.components.Grid;
@@ -193,6 +213,29 @@ declarations define DataGrid skin parts 
             </s:Rect>
         </fx:Component>
         
+        
+        <!--- @private -->
+        <fx:Component id="lockedColumnsSeparator">
+            <s:Group>
+                <s:Line left="0" right="0" top="0" bottom="0">
+                    <s:stroke>
+                        <s:SolidColorStroke color="0x000000" weight="2" caps="square"/>
+                    </s:stroke>
+                </s:Line>
+            </s:Group>
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="lockedRowsSeparator">
+            <s:Group>
+                <s:Line left="0" right="0" top="0" bottom="0">
+                    <s:stroke>
+                        <s:SolidColorStroke color="0x000000" weight="2" caps="square"/>
+                    </s:stroke>
+                </s:Line>
+            </s:Group>
+        </fx:Component>           
+        
         <!--- @private -->
         <fx:Component id="rowSeparator">
             <s:Line>
@@ -205,7 +248,7 @@ declarations define DataGrid skin parts 
         <!--- @private -->
         <fx:Component id="selectionIndicator">
             <s:Rect implements="spark.components.gridClasses.IGridVisualElement">
-                <fx:Script>
+                <fx:Script fb:purpose="styling">
                     <![CDATA[
                         import spark.components.DataGrid;
                         import spark.components.Grid;
@@ -296,9 +339,13 @@ declarations define DataGrid skin parts 
     <!-- column header, content -->
     <s:VGroup horizontalAlign="justify" gap="0" left="0" right="0" top="0" bottom="0">
         
-        <!--- @private -->
-        <s:GridColumnHeaderGroup id="columnHeaderGroup"
-            paddingLeft="1" paddingTop="1" paddingRight="1" minHeight="21" 
+        <!--- @private
+            The GridColumnHeaderGroup's padding values are used to line it up with the Grid
+            which is inset by the Scroller's minViewportInset, which provides room for the 
+            DataGrid border - the last Rect element below.
+        -->
+        <s:GridColumnHeaderGroup id="columnHeaderGroup" minHeight="21"
+            paddingLeft="1" paddingRight="1" paddingTop="1"
             columnSeparator="{headerColumnSeparator}"
             headerRenderer="{headerRenderer}"/>
 
@@ -325,11 +372,17 @@ declarations define DataGrid skin parts 
                 <s:Scroller id="scroller" minViewportInset="1" hasFocusableChildren="false" height="100%">
                     <!--- @private -->
                     <s:Grid id="grid" itemRenderer="spark.skins.spark.DefaultGridItemRenderer">
-                        <s:GridLayer name="backgroundLayer"/>
-                        <s:GridLayer name="selectionLayer"/>
-                        <s:GridLayer name="editorIndicatorLayer"/>                            
-                        <s:GridLayer name="rendererLayer"/>
-                        <s:GridLayer name="overlayLayer"/>
+                        <s:gridView>
+                            <fx:Component>
+                                <s:GridView>
+                                    <s:GridLayer name="backgroundLayer"/>
+                                    <s:GridLayer name="selectionLayer"/>
+                                    <s:GridLayer name="editorIndicatorLayer"/>                            
+                                    <s:GridLayer name="rendererLayer"/>
+                                    <s:GridLayer name="overlayLayer"/>
+                                </s:GridView>
+                            </fx:Component>
+                        </s:gridView>
                     </s:Grid>                    
                 </s:Scroller>
             </s:VGroup>
@@ -347,4 +400,4 @@ declarations define DataGrid skin parts 
         </s:stroke>
     </s:Rect>    
 
-</s:SparkSkin>
+</s:SparkSkin>
\ No newline at end of file

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.mxml Fri Dec 21 18:05:20 2012
@@ -40,7 +40,8 @@ and <code>sortIndicator</code> propertie
 <s:GridItemRenderer minWidth="21" minHeight="21"
     xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
-    xmlns:mx="library://ns.adobe.com/flex/mx">
+    xmlns:mx="library://ns.adobe.com/flex/mx"
+    xmlns:fb="http://ns.adobe.com/flashbuilder/2009">
     
     <fx:Declarations>
         <!--- The default value of the <code>sortIndicator</code> property.
@@ -56,11 +57,12 @@ and <code>sortIndicator</code> propertie
         @productversion Flex 4.5
         -->
         <fx:Component id="defaultSortIndicator">
-            <s:Path data="M 3.5 7.0 L 0.0 0.0 L 7.0 0.0 L 3.5 7.0" implements="spark.components.gridClasses.IGridVisualElement">
-                <fx:Script>
+            <s:HGroup verticalAlign="middle"  implements="spark.components.gridClasses.IGridVisualElement">
+                <fx:Script fb:purpose="styling">
                     <![CDATA[
                         import spark.components.DataGrid;
                         import spark.components.Grid;
+                        import spark.components.gridClasses.GridColumn;
                         
                         /**
                          *  @private
@@ -68,9 +70,25 @@ and <code>sortIndicator</code> propertie
                         public function prepareGridVisualElement(grid:Grid, rowIndex:int, columnIndex:int):void
                         {
                             const dataGrid:DataGrid = grid.dataGrid;
-                            if (!dataGrid)
+                            if (!dataGrid || !dataGrid.columnHeaderGroup)
                                 return;
                             
+                            const sortColumnIndices:Vector.<int> = dataGrid.columnHeaderGroup.visibleSortIndicatorIndices;
+                            if (sortColumnIndices.length == 1)
+                            {
+                                priorityLabel.visible = false;
+                                priorityLabel.includeInLayout = false;
+                            }
+                            else
+                            {
+                                priorityLabel.visible = true;
+                                priorityLabel.includeInLayout = true;
+                                priorityLabel.text = String(sortColumnIndices.indexOf(columnIndex) + 1);
+                            }
+                            
+                            const column:GridColumn = grid.columns.getItemAt(columnIndex) as GridColumn;
+                            arrow.scaleY = (column.sortDescending) ? 1 : -1;
+                            
                             const color:uint = dataGrid.getStyle("symbolColor");
                             arrowFill1.color = color;
                             arrowFill2.color = color;
@@ -78,15 +96,19 @@ and <code>sortIndicator</code> propertie
                     ]]>
                 </fx:Script>
                 
-                <s:fill>
-                    <s:RadialGradient rotation="90" focalPointRatio="1">    
-                        <!--- @private -->
-                        <s:GradientEntry id="arrowFill1" color="0" alpha="0.6" />
-                        <!--- @private -->
-                        <s:GradientEntry id="arrowFill2" color="0" alpha="0.8" />
-                    </s:RadialGradient>
-                </s:fill>
-            </s:Path>
+                <s:Label id="priorityLabel" />
+                
+                <s:Path id="arrow" data="M 3.5 7.0 L 0.0 0.0 L 7.0 0.0 L 3.5 7.0">
+                    <s:fill>
+                        <s:RadialGradient rotation="90" focalPointRatio="1">    
+                            <!--- @private -->
+                            <s:GradientEntry id="arrowFill1" color="0" alpha="0.6" />
+                            <!--- @private -->
+                            <s:GradientEntry id="arrowFill2" color="0" alpha="0.8" />
+                        </s:RadialGradient>
+                    </s:fill>
+                </s:Path>
+            </s:HGroup>
         </fx:Component>
         
         <!--- Displays the renderer's label property, which is set to the column's <code>headerText</code>.
@@ -251,11 +273,11 @@ and <code>sortIndicator</code> propertie
                 }
                 
                 const column:GridColumn = this.column;
-                if (sortIndicator && column && column.grid && column.grid.dataGrid && column.grid.dataGrid.columnHeaderGroup)
-                {
-                    const dataGrid:DataGrid = column.grid.dataGrid;
-                    const columnHeaderGroup:GridColumnHeaderGroup = dataGrid.columnHeaderGroup;
+                const dataGrid:DataGrid = (column && column.grid) ? column.grid.dataGrid : null;
+                const columnHeaderGroup:GridColumnHeaderGroup = (dataGrid) ? dataGrid.columnHeaderGroup : null;
                     
+                if (sortIndicator && columnHeaderGroup)
+                {
                     if (columnHeaderGroup.isSortIndicatorVisible(column.columnIndex))
                     {
                         if (!sortIndicatorInstance)
@@ -273,7 +295,6 @@ and <code>sortIndicator</code> propertie
                             gridVisualElement.prepareGridVisualElement(column.grid, -1, column.columnIndex);
                         
                         sortIndicatorGroup.includeInLayout = true;
-                        sortIndicatorGroup.scaleY = (column.sortDescending) ? 1 : -1;
                     }
                     else
                     {
@@ -285,6 +306,12 @@ and <code>sortIndicator</code> propertie
                         }
                     }
                 }
+                
+                if (selectionIndicator && columnHeaderGroup)
+                {
+                    selectionIndicator.visible = 
+                        columnHeaderGroup.highlightSelectedColumn && (columnHeaderGroup.selectedColumnIndex == column.columnIndex);
+                }
             }
             
             private var chromeColorChanged:Boolean = false;
@@ -458,6 +485,7 @@ and <code>sortIndicator</code> propertie
             </s:LinearGradientStroke>
         </s:stroke>
     </s:Rect>
+    
     <!--- @private -->
     <s:Rect id="hldownstroke2" left="1" right="1" top="1" bottom="1" includeIn="down">
         <s:stroke>
@@ -468,6 +496,14 @@ and <code>sortIndicator</code> propertie
         </s:stroke>
     </s:Rect>
     
+    <!--- @private -->
+    <s:Rect id="selectionIndicator" left="1" right="1" top="1" bottom="1" visible="false">
+        <s:stroke>
+            <!--- @private -->
+            <s:SolidColorStroke id="selectionIndicatorFill" color="0x000000" alpha="0.25" weight="1"/>
+        </s:stroke>
+    </s:Rect>    
+    
     <s:HGroup left="7" right="7" top="5" bottom="5" gap="2" verticalAlign="middle">
         
         <!-- layer 7: Container for labelDisplay:TextBase  -->

Modified: incubator/flex/sdk/branches/develop/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml (original)
+++ incubator/flex/sdk/branches/develop/frameworks/projects/wireframe/src/spark/skins/wireframe/DataGridSkin.mxml Fri Dec 21 18:05:20 2012
@@ -106,7 +106,7 @@ The default skin class for a Spark DataG
                 </s:stroke>
             </s:Line>
         </fx:Component>
-        
+       
         <!--- Defines the value of the columnSeparator property for the columnHeaderGroup. -->
         <fx:Component id="headerColumnSeparator">
             <s:Line>
@@ -126,6 +126,28 @@ The default skin class for a Spark DataG
         </fx:Component>      
 
         <!--- @private -->
+        <fx:Component id="lockedColumnsSeparator">
+            <s:Group>
+                <s:Line left="0" right="0" top="0" bottom="0">
+                    <s:stroke>
+                        <s:SolidColorStroke color="0x000000" weight="2" caps="square"/>
+                    </s:stroke>
+                </s:Line>
+            </s:Group>
+        </fx:Component>
+        
+        <!--- @private -->
+        <fx:Component id="lockedRowsSeparator">
+            <s:Group>
+                <s:Line left="0" right="0" top="0" bottom="0">
+                    <s:stroke>
+                        <s:SolidColorStroke color="0x000000" weight="2" caps="square"/>
+                    </s:stroke>
+                </s:Line>
+            </s:Group>
+        </fx:Component>           
+
+        <!--- @private -->
         <fx:Component id="rowSeparator">
             <s:Line>
                 <s:stroke>
@@ -181,11 +203,17 @@ The default skin class for a Spark DataG
             <s:Scroller id="scroller" minViewportInset="1" hasFocusableChildren="false" height="100%">
                 <!--- @private -->
                 <s:Grid id="grid" itemRenderer="spark.skins.spark.DefaultGridItemRenderer">
-                    <s:GridLayer name="backgroundLayer"/>
-                    <s:GridLayer name="selectionLayer"/>
-                    <s:GridLayer name="editorIndicatorLayer"/>
-                    <s:GridLayer name="rendererLayer"/>
-                    <s:GridLayer name="overlayLayer"/>
+                    <s:gridView>
+                        <fx:Component>
+                            <s:GridView>
+                                <s:GridLayer name="backgroundLayer"/>
+                                <s:GridLayer name="selectionLayer"/>
+                                <s:GridLayer name="editorIndicatorLayer"/>                            
+                                <s:GridLayer name="rendererLayer"/>
+                                <s:GridLayer name="overlayLayer"/>
+                           </s:GridView>
+                        </fx:Component>
+                    </s:gridView>
                 </s:Grid>
             </s:Scroller>
         </s:VGroup>

Modified: incubator/flex/sdk/branches/develop/frameworks/spark-manifest.xml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/frameworks/spark-manifest.xml?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/frameworks/spark-manifest.xml (original)
+++ incubator/flex/sdk/branches/develop/frameworks/spark-manifest.xml Fri Dec 21 18:05:20 2012
@@ -25,7 +25,7 @@
 -->
 <componentPackage>
 
-	<!-- Flex4 Framework -->
+    <!-- Flex4 Framework -->
     <component id="AddAction" class="spark.effects.AddAction"/>
     <component id="Animate" class="spark.effects.Animate"/>
     <component id="AnimateColor" class="spark.effects.AnimateColor"/>
@@ -37,7 +37,8 @@
     <component id="Application" class="spark.components.Application"/>
     <component id="ArrayCollection" class="mx.collections.ArrayCollection" lookupOnly="true"/>
     <component id="ArrayList" class="mx.collections.ArrayList" lookupOnly="true"/>
-    <component id="AsyncListView" class="mx.collections.AsyncListView" lookupOnly="true"/>
+    <component id="AsyncListView" class="mx.collections.AsyncListView" lookupOnly="true"/> 
+    <component id="SubListView" class="spark.collections.SubListView"/> 
     <component id="BasicLayout" class="spark.layouts.BasicLayout"/>
     <component id="BevelFilter" class="spark.filters.BevelFilter"/>
     <component id="BitmapImage" class="spark.primitives.BitmapImage"/>
@@ -67,12 +68,12 @@
     <component id="ContentCache" class="spark.core.ContentCache"/> 
     <component id="ConvolutionFilter" class="spark.filters.ConvolutionFilter"/>
     <component id="CrossFade" class="spark.effects.CrossFade"/>
-	<component id="CurrencyFormatter" class="spark.formatters.CurrencyFormatter"/>
-	<component id="CurrencyValidator" class="spark.validators.CurrencyValidator"/>
-	<component id="DataGrid" class="spark.components.DataGrid"/>    
+    <component id="CurrencyFormatter" class="spark.formatters.CurrencyFormatter"/>
+    <component id="CurrencyValidator" class="spark.validators.CurrencyValidator"/>
+    <component id="DataGrid" class="spark.components.DataGrid"/>    
     <component id="DataGroup" class="spark.components.DataGroup"/>
     <component id="DataRenderer" class="spark.components.DataRenderer"/>
-	<component id="DateTimeFormatter" class="spark.formatters.DateTimeFormatter"/>
+    <component id="DateTimeFormatter" class="spark.formatters.DateTimeFormatter"/>
     <component id="DefaultGridHeaderRenderer" class="spark.skins.spark.DefaultGridHeaderRenderer"/>
     <component id="DefaultGridItemRenderer" class="spark.skins.spark.DefaultGridItemRenderer"/>
     <component id="DisplacementMapFilter" class="spark.filters.DisplacementMapFilter"/>
@@ -101,6 +102,7 @@
     <component id="GridItemEditor" class="spark.components.gridClasses.GridItemEditor" />
     <component id="GridItemRenderer" class="spark.components.gridClasses.GridItemRenderer"/>
     <component id="GridLayer" class="spark.components.gridClasses.GridLayer"/>
+    <component id="GridView" class="spark.components.gridClasses.GridView"/>
     <component id="Group" class="spark.components.Group"/>
     <component id="GroupBase" class="spark.components.supportClasses.GroupBase"/>
     <component id="HGroup" class="spark.components.HGroup"/>
@@ -116,7 +118,7 @@
     <component id="LayoutBase" class="spark.layouts.supportClasses.LayoutBase"/>
     <component id="Line" class="spark.primitives.Line"/>
     <component id="Linear" class="spark.effects.easing.Linear"/>
-	<component id="List" class="spark.components.List"/>
+    <component id="List" class="spark.components.List"/>
     <component id="ListBase" class="spark.components.supportClasses.ListBase"/>
     <component id="MaskType" class="spark.core.MaskType"/>
     <component id="MatchingCollator" class="spark.globalization.MatchingCollator"/>
@@ -139,10 +141,10 @@
     <component id="NumericStepper" class="spark.components.NumericStepper"/>
     <component id="Panel" class="spark.components.Panel"/>
     <component id="Path" class="spark.primitives.Path"/>
-	<component id="PopUpAnchor" class="spark.components.PopUpAnchor"/>
- 	<component id="PopUpPosition" class="spark.components.PopUpPosition"/>
+    <component id="PopUpAnchor" class="spark.components.PopUpAnchor"/>
+    <component id="PopUpPosition" class="spark.components.PopUpPosition"/>
     <component id="Power" class="spark.effects.easing.Power"/>
-	<component id="RadioButton" class="spark.components.RadioButton"/>
+    <component id="RadioButton" class="spark.components.RadioButton"/>
     <component id="RadioButtonGroup" class="spark.components.RadioButtonGroup"/>
     <component id="Range" class="spark.components.supportClasses.Range"/>
     <component id="Rect" class="spark.primitives.Rect"/>
@@ -215,33 +217,33 @@
 
     <!-- Special Components -->
     <component id="State" class="mx.states.State" lookupOnly="true"/>
-	<component id="AddItems" class="mx.states.AddItems" lookupOnly="true"/>
+    <component id="AddItems" class="mx.states.AddItems" lookupOnly="true"/>
     <component id="DataItem" class="spark.utils.DataItem"/>
 
-	<!-- airframework -->
+    <!-- airframework -->
     <component id="TitleBar" class="spark.components.windowClasses.TitleBar" lookupOnly="true"/>   
     <component id="Window" class="spark.components.Window" lookupOnly="true"/>
     <component id="WindowedApplication" class="spark.components.WindowedApplication" lookupOnly="true"/>
 
-	<!-- FTE text for MX components -->
-	<component id="FTEDataGridItemRenderer" class="mx.controls.dataGridClasses.FTEDataGridItemRenderer"/>
+    <!-- FTE text for MX components -->
+    <component id="FTEDataGridItemRenderer" class="mx.controls.dataGridClasses.FTEDataGridItemRenderer"/>
     <component id="MXFTETextInput" class="mx.controls.MXFTETextInput"/>
 
-	<!-- Text Layout Framework (TLF) -->
-	<component id="a" class="flashx.textLayout.elements.LinkElement" lookupOnly="true"/>
-	<component id="br" class="flashx.textLayout.elements.BreakElement" lookupOnly="true"/>
-	<component id="div" class="flashx.textLayout.elements.DivElement" lookupOnly="true"/>
-	<component id="img" class="flashx.textLayout.elements.InlineGraphicElement" lookupOnly="true"/>
-        <component id="list" class="flashx.textLayout.elements.ListElement" lookupOnly="true"/>
-        <component id="li" class="flashx.textLayout.elements.ListItemElement" lookupOnly="true"/>
-	<component id="p" class="flashx.textLayout.elements.ParagraphElement" lookupOnly="true"/>
-	<component id="span" class="flashx.textLayout.elements.SpanElement" lookupOnly="true"/>
-	<component id="tab" class="flashx.textLayout.elements.TabElement" lookupOnly="true"/>
-	<component id="tcy" class="flashx.textLayout.elements.TCYElement" lookupOnly="true"/>
-	<component id="ListMarkerFormat" class="flashx.textLayout.formats.ListMarkerFormat" lookupOnly="true"/>			         
-	<component id="g" class="flashx.textLayout.elements.SubParagraphGroupElement" lookupOnly="true"/>
-	<component id="TextFlow" class="flashx.textLayout.elements.TextFlow" lookupOnly="true"/>
-	<component id="TextLayoutFormat" class="flashx.textLayout.formats.TextLayoutFormat" lookupOnly="true"/>
+    <!-- Text Layout Framework (TLF) -->
+    <component id="a" class="flashx.textLayout.elements.LinkElement" lookupOnly="true"/>
+    <component id="br" class="flashx.textLayout.elements.BreakElement" lookupOnly="true"/>
+    <component id="div" class="flashx.textLayout.elements.DivElement" lookupOnly="true"/>
+    <component id="img" class="flashx.textLayout.elements.InlineGraphicElement" lookupOnly="true"/>
+    <component id="list" class="flashx.textLayout.elements.ListElement" lookupOnly="true"/>
+    <component id="li" class="flashx.textLayout.elements.ListItemElement" lookupOnly="true"/>
+    <component id="p" class="flashx.textLayout.elements.ParagraphElement" lookupOnly="true"/>
+    <component id="span" class="flashx.textLayout.elements.SpanElement" lookupOnly="true"/>
+    <component id="tab" class="flashx.textLayout.elements.TabElement" lookupOnly="true"/>
+    <component id="tcy" class="flashx.textLayout.elements.TCYElement" lookupOnly="true"/>
+    <component id="ListMarkerFormat" class="flashx.textLayout.formats.ListMarkerFormat" lookupOnly="true"/>			         
+    <component id="g" class="flashx.textLayout.elements.SubParagraphGroupElement" lookupOnly="true"/>
+    <component id="TextFlow" class="flashx.textLayout.elements.TextFlow" lookupOnly="true"/>
+    <component id="TextLayoutFormat" class="flashx.textLayout.formats.TextLayoutFormat" lookupOnly="true"/>
 
     <!-- rpc -->
     <component id="AMFChannel" class="mx.messaging.channels.AMFChannel" lookupOnly="true"/>
@@ -267,7 +269,7 @@
     <!-- LCDS (formerly known as FDS) -->
     <component id="DataService" class="mx.data.mxml.DataService" lookupOnly="true"/>
 	
-	<!-- Flex 3 Graphics -->
+    <!-- Flex 3 Graphics -->
     <component id="BitmapFill" class="mx.graphics.BitmapFill" lookupOnly="true"/>
     <component id="BitmapFillMode" class="mx.graphics.BitmapFillMode" lookupOnly="true"/>
     <component id="CompoundTransform" class="mx.geom.CompoundTransform" lookupOnly="true"/>
@@ -291,7 +293,7 @@
     <component id="MiniDebugTarget" class="mx.logging.targets.MiniDebugTarget" lookupOnly="true"/>
     <component id="TraceTarget" class="mx.logging.targets.TraceTarget" lookupOnly="true"/>
 
-	<!-- MXItemRenderer -->
+    <!-- MXItemRenderer -->
     <component id="MXItemRenderer" class="mx.controls.listClasses.MXItemRenderer"/>
     <component id="MXTreeItemRenderer" class="mx.controls.treeClasses.MXTreeItemRenderer"/>
     <component id="MXDataGridItemRenderer" class="mx.controls.dataGridClasses.MXDataGridItemRenderer"/>

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Events/DataGrid_Events_basic01.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Events/DataGrid_Events_basic01.mxml?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Events/DataGrid_Events_basic01.mxml (original)
+++ incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Events/DataGrid_Events_basic01.mxml Fri Dec 21 18:05:20 2012
@@ -65,7 +65,7 @@
     		public var receivedEventType:String;
     		
     		
-    		public function mouseGeneralHandler(e:GridEvent):void
+    	public function mouseGeneralHandler(e:GridEvent):void
 		{
 			gridEvent=e;	
 		}
@@ -105,10 +105,12 @@
 		public function createExpectedGridEvent(type:String, rowIndex:int, columnIndex:int, dg:DataGrid):GridEvent
 		{
 			if (rowIndex==-1)
-			    return new GridEvent(type,true,true,NaN,NaN,null,false,false,false,false,0,rowIndex,columnIndex, GridColumn(dg.columns.getItemAt(columnIndex)),null);
+			    return new GridEvent(type,true,true,NaN,NaN,null,false,false,false,false,0,rowIndex,columnIndex, 
+			                         columnIndex >= 0 ? GridColumn(dg.columns.getItemAt(columnIndex)) : null,null);
 		
 			if (columnIndex==-1)
-			    return new GridEvent(type,true,true,NaN,NaN,null,false,false,false,false,0,rowIndex,columnIndex, null,dg.dataProvider.getItemAt(rowIndex));
+			    return new GridEvent(type,true,true,NaN,NaN,null,false,false,false,false,0,rowIndex,columnIndex, null,
+			                         rowIndex >= 0 ? dg.dataProvider.getItemAt(rowIndex) : null);
 			
 			return new GridEvent(type,true,true,NaN,NaN,null,false,false,false,false,0,rowIndex,columnIndex, GridColumn(dg.columns.getItemAt(columnIndex)),dg.dataProvider.getItemAt(rowIndex));
 		
@@ -419,10 +421,10 @@
              <body>
                  <DispatchMouseEvent type="{MouseEvent.MOUSE_DOWN}" target="dataGrid.grid" localX="10" localY="20" />
                  <DispatchMouseEvent type="{MouseEvent.MOUSE_MOVE}" buttonDown="true" target="dataGrid.grid" localX="10" localY="20"/>
-	            <DispatchMouseEvent type="{MouseEvent.MOUSE_MOVE}" buttonDown="true" target="label1" localX="10" localY="30"/>
-              	 <!-- drag outside of dataGrid -->
+              	 <!-- drag outside of dataGrid so "gridMouseDrag" event will have rowIndex=-1 and columnIndex=-1 -->
+	             <DispatchMouseEvent type="{MouseEvent.MOUSE_MOVE}" buttonDown="true" target="label1" localX="10" localY="30"/>
                  <AssertEvent target="dataGrid.grid" eventName="{eventType}" eventClass="spark.events::GridEvent" />
- 		        <AssertMethodValue method="value=verifyGridEvent(createExpectedGridEvent(eventType,-1,0,FlexGlobals.topLevelApplication.dataGrid))" value=""/>		
+ 		         <AssertMethodValue method="value=verifyGridEvent(createExpectedGridEvent(eventType,-1,-1,FlexGlobals.topLevelApplication.dataGrid))" value=""/>		
              </body>
         </TestCase>
         

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/complex_dataField_sort_test.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/complex_dataField_sort_test.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/dataFormatter_test.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/dataFormatter_test.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/invalidateCell_dataIconChange.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/invalidateCell_dataIconChange.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/invalidateCell_rendererChange.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/invalidateCell_rendererChange.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test_checkBoxRenderer.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test_checkBoxRenderer.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test_dropListRenderer.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test_dropListRenderer.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test_labelRenderer.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRendererFunction_differentRenderer_test_labelRenderer.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test_checkBoxRenderer.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test_checkBoxRenderer.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test_dropListRenderer.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test_dropListRenderer.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test_labelRenderer.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/itemRenderer_update_test_labelRenderer.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/labelFunction_test.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/labelFunction_test.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/requestedRCs_Neg1_test001.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/requestedRCs_Neg1_test001.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/sparkSort_arrayList_test001_firstName.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/sparkSort_arrayList_test001_firstName.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/sparkSort_arrayList_test001_lastName.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/sparkSort_arrayList_test001_lastName.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_setter_noData_test001.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_setter_noData_test001.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_setter_smallWidth_test001_notypicalItem.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_setter_smallWidth_test001_notypicalItem.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_winOver_RequestRCNeg1_test001.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_winOver_RequestRCNeg1_test001.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_winOver_RequestRCNeg1_test002_noTypicalItem.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_winOver_RequestRCNeg1_test002_noTypicalItem.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_winOver_RequestRC_test001.png
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/tests/gumbo/components/DataGrid/Integrations/Baselines/typicalItem_winOver_RequestRC_test001.png?rev=1425063&r1=1425062&r2=1425063&view=diff
==============================================================================
Binary files - no diff available.