Repository: flex-asjs
Updated Branches:
  refs/heads/develop 055a4bb4e -> 9cb961f7c


Fixed DataGrid layout to size the button bar header buttons correctly.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/9cb961f7
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/9cb961f7
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/9cb961f7

Branch: refs/heads/develop
Commit: 9cb961f7ca2e457e3c19608cf3adb3231e0ab1d9
Parents: 055a4bb
Author: Peter Ent <[email protected]>
Authored: Tue May 26 16:02:19 2015 -0400
Committer: Peter Ent <[email protected]>
Committed: Tue May 26 16:02:19 2015 -0400

----------------------------------------------------------------------
 .../org/apache/flex/html/beads/DataGridView.as  |  4 ---
 .../flex/html/beads/layouts/DataGridLayout.as   | 26 +++++++++++++-------
 2 files changed, 17 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9cb961f7/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as 
b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
index 8d3e8fa..2c67e70 100644
--- 
a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
+++ 
b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/DataGridView.as
@@ -108,14 +108,11 @@ package org.apache.flex.html.beads
                        
                        // create an array of columnLabels for use by the 
ButtonBar/DataGrid header.
                        var columnLabels:Array = new Array();
-                       var buttonWidths:Array = new Array();
                        for(var i:int=0; i < sharedModel.columns.length; i++) {
                                var dgc:DataGridColumn = sharedModel.columns[i] 
as DataGridColumn;
                                columnLabels.push(dgc.label);
-                               buttonWidths.push(dgc.columnWidth);
                        }
                        var bblayout:ButtonBarLayout = new ButtonBarLayout();
-                       bblayout.buttonWidths = buttonWidths;
                        
                        buttonBarModel = new ArraySelectionModel();
                        buttonBarModel.dataProvider = columnLabels;
@@ -142,7 +139,6 @@ package org.apache.flex.html.beads
                                list.itemRenderer = dataGridColumn.itemRenderer;
                                list.labelField = dataGridColumn.dataField;
                                list.addBead(presentationModel);
-                               trace("List.rowHeight is "+list.rowHeight);
                                
                                var colWidth:Number = 
dataGridColumn.columnWidth;
                                if (!isNaN(colWidth)) list.width = colWidth;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/9cb961f7/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
 
b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
index 0ad68df..4d1a288 100644
--- 
a/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
+++ 
b/frameworks/projects/HTML/asjs/src/org/apache/flex/html/beads/layouts/DataGridLayout.as
@@ -26,6 +26,7 @@ package org.apache.flex.html.beads.layouts
        import org.apache.flex.core.UIBase;
        import org.apache.flex.events.Event;
        import org.apache.flex.events.IEventDispatcher;
+       import org.apache.flex.html.ButtonBar;
        import org.apache.flex.html.supportClasses.DataGridColumn;
        
        /**
@@ -86,7 +87,6 @@ package org.apache.flex.html.beads.layouts
                        _header = UIBase(value);
                }
                
-               
                private var _columns:Array;
                
                /**
@@ -114,22 +114,19 @@ package org.apache.flex.html.beads.layouts
                        var sw:Number = UIBase(_strand).width;
                        var sh:Number = UIBase(_strand).height;
                        
-                       header.x = 0;
-                       header.y = 0;
-                       header.width = sw;
-                       header.height = 25;
-                       
-                       var columnHeight:Number = sh - header.height;
-                       var columnWidth:Number  = sw / columns.length;
+                       var columnHeight:Number = Math.floor(sh - 
header.height);
+                       var columnWidth:Number  = Math.floor(sw / 
columns.length);
                        
                        var xpos:Number = 0;
-                       var ypos:Number = header.height;
+                       var ypos:Number = Math.floor(header.height);
                        
                        // TODO: change the layout so that the model's 
DataGridColumn.columnWidth
                        // isn't used blindly, but is considered in the overall 
width. In other words,
                        // right now the width could exceed the strand's width.
                        var model:IDataGridModel = 
_strand.getBeadByType(IDataGridModel) as IDataGridModel;
                        
+                       var buttonWidths:Array = new Array();
+                       
                        for(var i:int=0; i < columns.length; i++) {
                                var column:UIBase = columns[i] as UIBase;
                                column.x = xpos;
@@ -141,8 +138,19 @@ package org.apache.flex.html.beads.layouts
                                else column.width  = columnWidth;
                                
                                xpos += column.width;
+                               
+                               buttonWidths.push(column.width);
                        }
                        
+                       var bar:ButtonBar = header as ButtonBar;
+                       var barLayout:ButtonBarLayout = 
bar.getBeadByType(ButtonBarLayout) as ButtonBarLayout;
+                       barLayout.buttonWidths = buttonWidths;
+                       
+                       header.x = 0;
+                       header.y = 0;
+                       header.width = sw;
+                       header.height = 25;
+                       
                        return true;
                }
        }

Reply via email to