You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/12/26 08:30:54 UTC

[royale-asjs] 02/02: column headers now display text, but we still need to display the group header

This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch adg_grouped
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 49ff2c7206d44709c9c363f91c4440cabe97ce9b
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Dec 26 00:30:29 2019 -0800

    column headers now display text, but we still need to display the group header
---
 .../src/main/royale/mx/controls/AdvancedDataGrid.as  | 20 +++++++++++++-------
 .../AdvancedDataGridColumn.as                        |  2 +-
 .../AdvancedDataGridHeaderRenderer.as                | 14 ++++++++++++--
 .../main/royale/mx/controls/beads/DataGridView.as    |  7 +++++++
 4 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
index fc84bb2..96b7961 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
@@ -44,14 +44,16 @@ package mx.controls
     import mx.collections.IHierarchicalCollectionView;
     import mx.collections.IHierarchicalCollectionViewCursor;
     import mx.collections.IHierarchicalData;
-    import mx.collections.IViewCursor;
     import mx.collections.ISort;
+    import mx.collections.IViewCursor;
     import mx.collections.Sort;
     import mx.collections.SortField;
     import mx.controls.beads.AdvancedDataGridSortBead;
     import mx.controls.beads.AdvancedDataGridView;
-    import mx.controls.beads.DataGridLinesBeadForICollectionView;
     import mx.controls.beads.DataGridColumnResizeBead;
+    import mx.controls.beads.DataGridLinesBeadForICollectionView;
+    import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
+    import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup;
     import mx.controls.dataGridClasses.DataGridColumn;
     import mx.controls.listClasses.AdvancedListBase;
     import mx.core.mx_internal;
@@ -64,7 +66,7 @@ package mx.controls
     import org.apache.royale.core.IDataGridModel;
     import org.apache.royale.core.IDataGridPresentationModel;
     import org.apache.royale.core.ValuesManager;
-    import org.apache.royale.events.Event;
+    import org.apache.royale.events.Event;
     import org.apache.royale.html.DataGridButtonBar;
 
 use namespace mx_internal;
@@ -1297,11 +1299,13 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
                         columnGroupRendererChanged(AdvancedDataGridColumnGroup(_groupedColumns[i]));
                 }
             }
-            
+            */
             _groupedColumns = value;
+            /*
             groupedColumnsChanged = true;
             invalidateProperties();
         } */
+        /*super.*/columns = getLeafColumns(_groupedColumns.slice(0));
     }
 
     //
@@ -6433,7 +6437,7 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
     /**
      *  @private
      */
-    /* private function getLeafColumns(groupedColumns:Array):Array
+    private function getLeafColumns(groupedColumns:Array):Array
     {
         var i:int=0; 
         while (i < groupedColumns.length)
@@ -6452,7 +6456,7 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
             }
         }
         return groupedColumns;
-    } */
+    }
 
     /**
      *  @private
@@ -9377,10 +9381,12 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
      */
     public function set columns(value:Array):void
     {
+        var index:int = 0;
         IDataGridModel(model).columns = value;
-        for each (var col:DataGridColumn in value)
+        for each (var col:AdvancedDataGridColumn in value)
         {
             col.owner = this;
+            col.colNum = index++;
         }
     }
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
index 505737f..1a40e5c 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridColumn.as
@@ -318,7 +318,7 @@ public class AdvancedDataGridColumn extends DataGridColumn
      *  In MXML, the default order of the columns is the order of the
      *  <code>mx:AdvancedDataGridColumn</code> tags.
      */
-   // mx_internal var colNum:Number;
+    mx_internal var colNum:Number;
     
     // preferred width is the number we should use when measuring
     // regular width will be changed if we shrink columns to fit.
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
index 7e5bf48..3c196c0 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
@@ -186,6 +186,10 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
 
         // InteractiveObject variables.
         tabEnabled   = false;
+        COMPILE::JS
+        {
+            isAbsolute = false;
+        }
 
         addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler); 
     }
@@ -305,6 +309,12 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
     {
         _data = value;
 
+        var col:AdvancedDataGridColumn = (value as AdvancedDataGridColumn);
+        var ld:AdvancedDataGridListData = new AdvancedDataGridListData(col.headerText != null ? col.headerText : col.dataField,
+                col.dataField, 
+                col.colNum, "", col.owner);
+        listData = ld;
+        
         invalidateProperties();
         commitProperties();
 
@@ -747,8 +757,8 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
                 labelColor = getStyle("disabledColor");
             // else if (grid.isItemHighlighted(listData.uid))
             //     labelColor = getStyle("textRollOverColor");
-            else if (grid.isItemSelected(listData.uid))
-                labelColor = getStyle("textSelectedColor");
+            //else if (grid.isItemSelected(listData.uid))
+            //    labelColor = getStyle("textSelectedColor");
             else
                 labelColor = getStyle("color");
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
index a5fd987..2a89092 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
@@ -24,8 +24,10 @@ package mx.controls.beads
     import mx.controls.AdvancedDataGrid;
     import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
     import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnList;
+    import mx.core.mx_internal;
     import mx.events.CollectionEvent;
     import mx.utils.ObjectUtil;
+    use namespace mx_internal;
     
     import org.apache.royale.core.IBeadModel;
     import org.apache.royale.core.IDataGrid;
@@ -152,6 +154,7 @@ package mx.controls.beads
                 
                 if (!cols)
                 {
+                    var index:int = 0;
                     // introspect the first item and use its fields
                     var itmObj:Object = iterator.current;
                     for (var p:String in itmObj)
@@ -161,6 +164,8 @@ package mx.controls.beads
                             col = new AdvancedDataGridColumn();
                             col.dataField = p;
                             newCols.push(col);
+                            col.owner = _strand as AdvancedDataGrid;
+                            col.colNum = index++;
                         }
                     }
                 }
@@ -176,6 +181,8 @@ package mx.controls.beads
                             colName = QName(colName).localName;
                         col = new AdvancedDataGridColumn();
                         col.dataField = String(colName);
+                        col.owner = _strand as AdvancedDataGrid;
+                        col.colNum = i;
                         newCols.push(col);
                     }
                 }