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

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


The following commit(s) were added to refs/heads/develop by this push:
     new 5b68129  DataGrid now defaults its model et al to support Array 
dataProvider; for other data types, change the beads or use the new 
.DynamicDataGrid style for convenience. Style class names fixed for DataGrid, 
Tree, and TreeGrid.
5b68129 is described below

commit 5b68129cf5dae853d792ad02894d1cd7ca2bad6e
Author: Peter Ent <[email protected]>
AuthorDate: Thu Jan 18 16:30:06 2018 -0500

    DataGrid now defaults its model et al to support Array dataProvider; for 
other data types, change the beads or use the new .DynamicDataGrid style for 
convenience. Style class names fixed for DataGrid, Tree, and TreeGrid.
---
 .../projects/Basic/src/main/resources/defaults.css | 56 ++++++++++++++++++----
 .../src/main/royale/org/apache/royale/html/Tree.as |  1 +
 .../royale/html/beads/DataGridPercentageView.as    | 11 ++---
 .../org/apache/royale/html/beads/DataGridView.as   | 40 ++++++++++------
 .../org/apache/royale/html/beads/TreeGridView.as   | 31 ++++++++----
 .../beads/models/DataGridCollectionViewModel.as    |  2 +-
 .../royale/html/beads/models/DataGridModel.as      |  6 +--
 .../html/supportClasses/DataGridColumnList.as      |  2 +-
 8 files changed, 106 insertions(+), 43 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/resources/defaults.css 
b/frameworks/projects/Basic/src/main/resources/defaults.css
index 0ac8a4d..8fbf1b0 100644
--- a/frameworks/projects/Basic/src/main/resources/defaults.css
+++ b/frameworks/projects/Basic/src/main/resources/defaults.css
@@ -174,9 +174,7 @@ DataGrid
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
        
        background-color: #FFFFFF;
-       border-style: solid;
-       border-color: #222222;
-       border-width: 1px;
+       border: solid 0.5px #222222;
 }
 
 DataGridButtonBar
@@ -197,7 +195,7 @@ DataGridColumnList {
        IBeadView:  ClassReference("org.apache.royale.html.beads.ListView");    
                
        IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
-       IDataProviderItemRendererMapper: 
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayList");
+       IDataProviderItemRendererMapper: 
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForArrayData");
        IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
        IItemRenderer: 
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.Viewport");
@@ -213,6 +211,32 @@ DataGridColumnList {
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
 }
 
+.DynamicDataGrid {
+       IChangePropagator: 
ClassReference("org.apache.royale.html.beads.DataGridColumnChangePropagator");
+       IDataGridPresentationModel: 
ClassReference("org.apache.royale.html.beads.models.DataGridPresentationModel");
+       IBeadView: ClassReference("org.apache.royale.html.beads.DataGridView");
+       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.DataGridCollectionViewModel");
+       IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
+       ColumnClassName: "DynamicDataGridColumnList";
+       
+       background-color: #FFFFFF;
+       border: solid 0.5px #222222;
+}
+
+.DynamicDataGridColumnList {
+       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.DataGridModel");
+       IBeadView:  ClassReference("org.apache.royale.html.beads.ListView");    
                
+       IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
+       IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalFlexLayout");
+       IDataProviderItemRendererMapper: 
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
+       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+       IItemRenderer: 
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
+       IViewport: 
ClassReference("org.apache.royale.html.supportClasses.Viewport");
+       IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
+       border-style: none;
+       background-color: #FFFFFF;
+}
+
 /* DateChooser */
 
 DateChooser {
@@ -365,6 +389,20 @@ List
        IItemRenderer: 
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
+       border: solid 0.5px #222222;
+}
+
+.DynamicList
+{
+       IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.SingleSelectionCollectionViewModel");
+       IBeadView:  ClassReference("org.apache.royale.html.beads.ListView");    
                
+       IBeadController: 
ClassReference("org.apache.royale.html.beads.controllers.ListSingleSelectionMouseController");
+       IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.VerticalLayout");
+       IDataProviderItemRendererMapper: 
ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
+       IItemRendererClassFactory: 
ClassReference("org.apache.royale.core.ItemRendererClassFactory");
+       IItemRenderer: 
ClassReference("org.apache.royale.html.supportClasses.StringItemRenderer");
+       IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
+       IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
        border-style: solid;
        border-color: #222222;
        background-color: #FFFFFF;
@@ -415,8 +453,7 @@ Tree
        IItemRenderer: 
ClassReference("org.apache.royale.html.supportClasses.TreeItemRenderer");
        IViewport: 
ClassReference("org.apache.royale.html.supportClasses.ScrollingViewport");
        IViewportModel: 
ClassReference("org.apache.royale.html.beads.models.ViewportModel");
-       border-style: solid;
-       border-color: #222222;
+       border: solid 0.5px #222222;
 }
 
 TreeGrid
@@ -424,8 +461,11 @@ TreeGrid
        IBeadModel: 
ClassReference("org.apache.royale.html.beads.models.TreeGridModel");
        IBeadView: ClassReference("org.apache.royale.html.beads.TreeGridView");
        IBeadLayout: 
ClassReference("org.apache.royale.html.beads.layouts.TreeGridLayout");
-       border-style: solid;
-       border-color: #222222;
+       border: solid 0.5px #222222;
+}
+
+TreeGrid .TreeGridColumn {
+       border: none
 }
 
 .opt_org-apache.royale-html-TreeGrid_ListArea {
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
index 43b1c29..ec4b46a 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/Tree.as
@@ -45,6 +45,7 @@ package org.apache.royale.html
                public function Tree()
                {
                        super();
+                       className = "Tree";
                }
                
                /**
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
index 2136788..0bf5ce7 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridPercentageView.as
@@ -19,12 +19,11 @@
 package org.apache.royale.html.beads
 {
        import org.apache.royale.core.IDataGridModel;
+       import org.apache.royale.core.UIBase;
        import org.apache.royale.events.Event;
-       import org.apache.royale.html.DataGrid;
        import org.apache.royale.html.DataGridButtonBar;
        import org.apache.royale.html.beads.models.ButtonBarModel;
-       import org.apache.royale.html.supportClasses.DataGridColumn;
-       import org.apache.royale.html.supportClasses.DataGridColumnList;
+       import org.apache.royale.html.supportClasses.IDataGridColumn;
 
        /**
         *  The DataGridPercentageView class is the visual bead for the 
org.apache.royale.html.DataGrid.
@@ -62,18 +61,18 @@ package org.apache.royale.html.beads
 
             if (columnLists)
                        {
-                var host:DataGrid = _strand as DataGrid;
+                var host:UIBase = _strand as UIBase;
                 var sharedModel:IDataGridModel = host.model as IDataGridModel;
                                var columnListCount:int = 
sharedModel.columns.length;
                 var buttonWidths:Array = [];
 
                                for (var i:int = 0; i < columnListCount; i++)
                                {
-                    var dgc:DataGridColumn = sharedModel.columns[i] as 
DataGridColumn;
+                    var dgc:IDataGridColumn = sharedModel.columns[i] as 
IDataGridColumn;
                     var colWidth:Number = dgc.columnWidth;
                     buttonWidths.push(colWidth);
 
-                    var list:DataGridColumnList = columnLists[i] as 
DataGridColumnList;
+                    var list:UIBase = columnLists[i] as UIBase;
                     if (!isNaN(dgc.columnWidth))
                     {
                                                list.width = NaN;
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
index d3dbb68..6cc2bbe 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataGridView.as
@@ -18,23 +18,25 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.html.beads
 {
+       import org.apache.royale.core.IBead;
        import org.apache.royale.core.IBeadModel;
        import org.apache.royale.core.IBeadView;
-       import org.apache.royale.core.IDataGridModel;
        import org.apache.royale.core.IChild;
+       import org.apache.royale.core.IDataGridModel;
        import org.apache.royale.core.IDataGridPresentationModel;
+       import org.apache.royale.core.IUIBase;
+       import org.apache.royale.core.ValuesManager;
        import org.apache.royale.events.Event;
        import org.apache.royale.events.IEventDispatcher;
-    import org.apache.royale.core.IBead;
-    import org.apache.royale.core.IUIBase;
+       import org.apache.royale.html.Container;
        import org.apache.royale.html.DataGrid;
        import org.apache.royale.html.DataGridButtonBar;
-       import org.apache.royale.html.Container;
        import org.apache.royale.html.beads.layouts.ButtonBarLayout;
        import org.apache.royale.html.beads.models.ButtonBarModel;
        import org.apache.royale.html.supportClasses.DataGridColumn;
        import org.apache.royale.html.supportClasses.DataGridColumnList;
        import org.apache.royale.html.supportClasses.Viewport;
+       import org.apache.royale.utils.loadBeadFromValuesManager;
 
        COMPILE::SWF {
                import org.apache.royale.core.SimpleCSSStylesWithFlex;
@@ -242,6 +244,12 @@ package org.apache.royale.html.beads
                        private function createLists():void
                        {
                                var host:DataGrid = _strand as DataGrid;
+                               
+                               // get the name of the class to use for the 
columns
+                               var columnClassName:String = 
ValuesManager.valuesImpl.getValue(host, "columnClassName") as String;
+                               if (columnClassName == null) {
+                                       columnClassName = "DataGridColumnList";
+                               }
 
                                var sharedModel:IDataGridModel = host.model as 
IDataGridModel;
                                var 
presentationModel:IDataGridPresentationModel = host.presentationModel;
@@ -251,28 +259,30 @@ package org.apache.royale.html.beads
                                for (var i:int=0; i < 
sharedModel.columns.length; i++)
                                {
                                        var dataGridColumn:DataGridColumn = 
sharedModel.columns[i] as DataGridColumn;
+                                       var useClassName:String = 
columnClassName;
+                                       if (dataGridColumn.className != null) 
useClassName = dataGridColumn.className;
 
                                        var list:DataGridColumnList = new 
DataGridColumnList();
-                                       if (dataGridColumn.className != null) 
list.className = dataGridColumn.className;
-                                       list.id = "dataGridColumn"+String(i);
-                                       list.dataProvider = 
sharedModel.dataProvider;
-                                       list.itemRenderer = 
dataGridColumn.itemRenderer;
-                                       list.labelField = 
dataGridColumn.dataField;
-                                       
list.addEventListener('change',handleColumnListChange);
-                                       list.addBead(presentationModel as 
IBead);
-
+                                       
                                        if (i == 0)
                                        {
-                                               list.typeNames = "first";
+                                               list.className = "first 
"+useClassName;
                                        }
                                        else if (i == 
sharedModel.columns.length-1)
                                        {
-                                               list.typeNames = "last";
+                                               list.className = "last 
"+useClassName;
                                        }
                                        else
                                        {
-                                               list.typeNames = "middle";
+                                               list.className = "middle 
"+useClassName;
                                        }
+                                       
+                                       list.id = "dataGridColumn"+String(i);
+                                       list.dataProvider = 
sharedModel.dataProvider;
+                                       list.itemRenderer = 
dataGridColumn.itemRenderer;
+                                       list.labelField = 
dataGridColumn.dataField;
+                                       
list.addEventListener('change',handleColumnListChange);
+                                       list.addBead(presentationModel as 
IBead);
 
                                        _listArea.addElement(list as IChild);
                                        _lists.push(list);
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
index fd99b6c..b2bc41f 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TreeGridView.as
@@ -267,6 +267,12 @@ package org.apache.royale.html.beads
                {
                        var host:TreeGrid = _strand as TreeGrid;
                        
+                       // get the name of the class to use for the columns
+                       var columnClassName:String = 
ValuesManager.valuesImpl.getValue(host, "columnClassName") as String;
+                       if (columnClassName == null) {
+                               columnClassName = "TreeGridColumn";
+                       }
+                       
                        var presentationModel:IDataGridPresentationModel = 
host.presentationModel;
                        var sharedModel:IDataGridModel = host.model as 
IDataGridModel;
                        
@@ -274,8 +280,23 @@ package org.apache.royale.html.beads
                        
                        for (var i:int=0; i < sharedModel.columns.length; i++) {
                                var columnDef:IDataGridColumn = 
sharedModel.columns[i] as IDataGridColumn;
+                               var useClassName:String = columnClassName;
+                               if (columnDef.className != null) useClassName = 
columnDef.className;
+                               
                                var column:List = columnDef.createColumn() as 
List;
-                               if (columnDef.className != null) 
column.className = columnDef.className;
+                               
+                               if (i == 0)
+                               {
+                                       column.className = "first 
"+useClassName;
+                               }
+                               else if (i == sharedModel.columns.length-1)
+                               {
+                                       column.className = "last "+useClassName;
+                               }
+                               else
+                               {
+                                       column.className = "middle 
"+useClassName;
+                               }
                                
                                // For the TreeGrid, the List columns must use 
this
                                // model and itemRenderer factory to be 
compatible 
@@ -293,14 +314,6 @@ package org.apache.royale.html.beads
                                column.addBead(new Viewport());
                                column.addEventListener('change', 
handleColumnListChange);
                                
-                               if (i == 0) {
-                                       column.typeNames = "first";
-                               } else if (i == sharedModel.columns.length-1) {
-                                       column.typeNames = "last";
-                               } else {
-                                       column.typeNames = "middle";
-                               }
-                               
                                _listArea.addElement(column);
                                _lists.push(column);
                                
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
index 3266654..c615036 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridCollectionViewModel.as
@@ -25,7 +25,7 @@ package org.apache.royale.html.beads.models
        /**
         *  The DataGridCollectiomModel class bead extends 
org.apache.royale.html.beads.models.SingleSelectionCollectionViewModel
         *  to facilitate using an ICollectionView as the dataProvider for the 
DataGrid. Use this with
-        *  org.apache.royale.html.beads.DataItemRenderFactoryForCollectionView.
+        *  org.apache.royale.html.beads.DataItemRenderFactoryForCollectionView 
for each DataGridColumn.
         *
         *  @langversion 3.0
         *  @playerversion Flash 10.2
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
index 419f124..9ce6797 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/DataGridModel.as
@@ -23,15 +23,15 @@ package org.apache.royale.html.beads.models
        import org.apache.royale.events.Event;
 
        /**
-        *  The DataGridModel class bead extends 
org.apache.royale.html.beads.models.ArrayListSelectionModel
-        *  to facilitate using an ArrayList as the dataProvider for the 
DataGrid.
+        *  The DataGridModel class bead extends 
org.apache.royale.html.beads.models.ArraySelectionModel
+        *  to facilitate using an Array as the dataProvider for the DataGrid.
         *
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.0
         */
-       public class DataGridModel extends ArrayListSelectionModel implements 
IDataGridModel
+       public class DataGridModel extends ArraySelectionModel implements 
IDataGridModel
        {
                /**
                 *  constructor.
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
index a7d9fb2..a127562 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/DataGridColumnList.as
@@ -56,7 +56,7 @@ package org.apache.royale.html.supportClasses
                public function DataGridColumnList()
                {
                        super();
-                       typeNames = "DataGridColumnList";
+                       className = "DataGridColumnList";
                }
                
                public var columnInfo: DataGridColumn;

-- 
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].

Reply via email to