You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/12/31 16:19:25 UTC

[royale-asjs] branch develop updated: jewel-datagrid: make item renderer takes align from columns, and show it in TDJ examples

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

carlosrovira 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 0bcdf33  jewel-datagrid: make item renderer takes align from columns, and show it in TDJ examples
0bcdf33 is described below

commit 0bcdf33a584de8b61f27adc96421f796d19261a9
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue Dec 31 17:19:15 2019 +0100

    jewel-datagrid: make item renderer takes align from columns, and show it in TDJ examples
---
 .../royale/TourDeJewel/src/main/royale/DataGridPlayGround.mxml   | 9 +++++----
 .../itemRenderers/DataItemRendererFactoryForCollectionView.as    | 5 +++++
 .../royale/jewel/beads/itemRenderers/IAlignItemRenderer.as       | 2 +-
 .../royale/jewel/beads/models/DataGridPresentationModel.as       | 2 +-
 .../royale/org/apache/royale/jewel/beads/views/DataGridView.as   | 8 +++++++-
 .../org/apache/royale/jewel/itemRenderers/ListItemRenderer.as    | 9 +++++----
 6 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/examples/royale/TourDeJewel/src/main/royale/DataGridPlayGround.mxml b/examples/royale/TourDeJewel/src/main/royale/DataGridPlayGround.mxml
index 58e5291..8a8dd67 100644
--- a/examples/royale/TourDeJewel/src/main/royale/DataGridPlayGround.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/DataGridPlayGround.mxml
@@ -93,7 +93,8 @@ limitations under the License.
 			<j:Card>
 				<html:H3 text="Jewel DataGrid"/>
 				
-				<j:Label text="Using specific column widths, rowHeight=54 and height=220"/>
+				<j:Label text="Using specific column widths, rowHeight=54 and height=220, last column has right alignment"
+					multiline="true"/>
 
 				<j:DataGrid localId="datagrid2" height="205"
 					rowHeight="54" emphasis="primary" 
@@ -103,7 +104,7 @@ limitations under the License.
 						<j:DataGridColumn label="Images" dataField="image" columnWidth="90" 
 										itemRenderer="itemRenderers.ImageDataGridItemRenderer"/>
 						<j:DataGridColumn label="Title" dataField="title" columnWidth="120"/>
-						<j:DataGridColumn label="Sales" dataField="sales" columnWidth="70"/>
+						<j:DataGridColumn label="Sales" dataField="sales" columnWidth="70" align="right"/>
 					</j:columns>
 				</j:DataGrid>
 
@@ -118,7 +119,7 @@ limitations under the License.
 			<j:Card>
 				<html:H3 text="Jewel DataGrid"/>
 				
-				<j:Label text="Basic configuration, width = 100%, no column widths, rowHeight=42 and emphasis='secondary'"
+				<j:Label text="Basic configuration, width = 100%, no column widths, rowHeight=42 and emphasis='secondary', last column has center alignment"
 					multiline="true"/>
 
 				<j:DataGrid width="100%" emphasis="secondary" rowHeight="42"
@@ -133,7 +134,7 @@ limitations under the License.
 						<j:DataGridColumn label="Icon" dataField="icon" 
 											itemRenderer="itemRenderers.IconDataGridItemRenderer"/>
 						<j:DataGridColumn label="Label" dataField="label"/>
-						<j:DataGridColumn label="Set" dataField="componentSet"/>
+						<j:DataGridColumn label="Set" dataField="componentSet" align="center"/>
 					</j:columns>
 				</j:DataGrid>
 
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as
index 47208de..a63e848 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForCollectionView.as
@@ -294,6 +294,11 @@ package org.apache.royale.jewel.beads.itemRenderers
 				UIBase(itemRenderer).style = style;
 				UIBase(itemRenderer).height = presentationModel.rowHeight;
 				UIBase(itemRenderer).percentWidth = 100;
+
+				if(itemRenderer is IAlignItemRenderer)
+				{
+					(itemRenderer as IAlignItemRenderer).align = presentationModel.align;
+				}
 			}
 			
 			setData(itemRenderer, item, index);
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/IAlignItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/IAlignItemRenderer.as
index 43e3651..e9e268a 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/IAlignItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/IAlignItemRenderer.as
@@ -30,7 +30,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 	public interface IAlignItemRenderer
 	{
         /**
-         *  How text align in the itemRenderer instance.
+         *  How text aligns in the itemRenderer instance.
          *
          *  @langversion 3.0
          *  @playerversion Flash 10.2
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
index ca1d06d..2c88699 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
@@ -69,7 +69,7 @@ package org.apache.royale.jewel.beads.models
 			}
 		}
 
-		private var _columnLabelAlign:String = ""
+		private var _columnLabelAlign:String = "left"
 		/**
 		 *  How column label aligns in the header
 		 *
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
index 51541f2..bd24a88 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DataGridView.as
@@ -35,6 +35,7 @@ package org.apache.royale.jewel.beads.views
 	import org.apache.royale.html.beads.GroupView;
 	import org.apache.royale.html.beads.IDataGridView;
 	import org.apache.royale.jewel.beads.layouts.ButtonBarLayout;
+	import org.apache.royale.jewel.beads.models.ListPresentationModel;
 	import org.apache.royale.jewel.supportClasses.IDataGridPresentationModel;
 	import org.apache.royale.jewel.supportClasses.Viewport;
 	import org.apache.royale.jewel.supportClasses.datagrid.DataGridButtonBar;
@@ -313,7 +314,12 @@ package org.apache.royale.jewel.beads.views
                 list.labelField = dataGridColumn.dataField;
                 list.addEventListener('rollOverIndexChanged', handleColumnListRollOverChange);
                 list.addEventListener('selectionChanged', handleColumnListChange);
-                list.addBead(presentationModel as IBead);
+
+                var pm:ListPresentationModel = new ListPresentationModel();
+                pm.rowHeight = presentationModel.rowHeight;
+                pm.separatorThickness = presentationModel.separatorThickness;
+                pm.align = dataGridColumn.align;
+                list.addBead(pm as IBead);
 
                 (_listArea as UIBase).percentWidth = 100;
                 (_listArea as IParent).addElement(list as IChild);
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
index 23b2d7e..3ec4eac 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
@@ -58,10 +58,6 @@ package org.apache.royale.jewel.itemRenderers
 			if(MXMLDescriptor != null)
 			{
 				addClass("mxmlContent");
-			} else
-			{
-				textAlign = new TextAlign();
-				addBead(textAlign);
 			}
 		}
 
@@ -113,6 +109,11 @@ package org.apache.royale.jewel.itemRenderers
 
 		public function set align(value:String):void
 		{
+			if(!textAlign)
+			{
+				textAlign = new TextAlign();
+				addBead(textAlign);
+			}
 			textAlign.align = value;
 		}