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/30 22:36:06 UTC

[royale-asjs] branch develop updated: jewel-presentationmodels: refactor to accomodate new jewel properties

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 3bcd20b  jewel-presentationmodels: refactor to accomodate new jewel properties
     new d5c3f1a  Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
3bcd20b is described below

commit 3bcd20b230ffc234a0a96b0c2b69868d42f80ffd
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Mon Dec 30 23:34:38 2019 +0100

    jewel-presentationmodels: refactor to accomodate new jewel properties
---
 .../royale/org/apache/royale/jewel/ComboBox.as     |  8 +--
 .../org/apache/royale/jewel/DataContainer.as       |  4 +-
 .../royale/org/apache/royale/jewel/DataGrid.as     | 18 ++++--
 .../royale/org/apache/royale/jewel/DropDownList.as |  4 +-
 .../main/royale/org/apache/royale/jewel/List.as    |  6 +-
 .../AddListItemRendererForArrayListData.as         |  4 +-
 .../itemRenderers/AddTableRowForArrayListData.as   |  6 +-
 .../DataItemRendererFactoryForArrayData.as         | 13 ++---
 .../DataItemRendererFactoryForCollectionView.as    | 10 ++--
 ...DownListItemRendererFactoryForCollectionView.as |  4 +-
 .../TableItemRendererFactoryForCollectionView.as   |  8 +--
 .../beads/models/DataGridPresentationModel.as      | 33 ++++++-----
 .../jewel/beads/models/ListPresentationModel.as    | 42 ++++++++++----
 .../royale/jewel/beads/views/DataGridView.as       |  4 +-
 .../IDataGridPresentationModel.as}                 | 66 ++++++----------------
 .../jewel/supportClasses/IListPresentationModel.as | 45 +++++++++++++++
 16 files changed, 157 insertions(+), 118 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
index 2137661..8fc1cf8 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ComboBox.as
@@ -18,11 +18,11 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
-	import org.apache.royale.core.StyledUIBase;
-	import org.apache.royale.core.ISelectionModel;
 	import org.apache.royale.core.IDataProviderModel;
-	import org.apache.royale.core.IListPresentationModel;
+	import org.apache.royale.core.ISelectionModel;
+	import org.apache.royale.core.StyledUIBase;
 	import org.apache.royale.jewel.beads.models.ListPresentationModel;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 
 	//--------------------------------------
     //  Events
@@ -167,7 +167,7 @@ package org.apache.royale.jewel
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 */
 		public function get presentationModel():IListPresentationModel
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
index 64f7197..0b1f474 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
@@ -20,9 +20,9 @@ package org.apache.royale.jewel
 {
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IDataProviderModel;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.IListWithPresentationModel;
 	import org.apache.royale.jewel.beads.models.ListPresentationModel;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 	import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
 
 	/**
@@ -118,7 +118,7 @@ package org.apache.royale.jewel
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9
-		 *  @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 */
 		public function get presentationModel():IBead
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as
index 6662754..9bfb469 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataGrid.as
@@ -21,9 +21,17 @@ package org.apache.royale.jewel
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IDataGrid;
 	import org.apache.royale.core.IDataGridModel;
-	import org.apache.royale.core.IDataGridPresentationModel;
 	import org.apache.royale.core.ValuesManager;
+	import org.apache.royale.jewel.supportClasses.IDataGridPresentationModel;
 	
+	/**
+	 *  The change event is dispatched whenever the datagrid's selection changes.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.7
+	 */
 	[Event(name="change", type="org.apache.royale.events.Event")]
 	
 	/**
@@ -179,8 +187,8 @@ package org.apache.royale.jewel
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.7
-		 *  @royaleignorecoercion org.apache.royale.core.IDataGridPresentationModel
 		 *  @royaleignorecoercion org.apache.royale.core.IBead
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IDataGridPresentationModel
 		 */
 		public function get presentationModel():IBead
 		{
@@ -195,7 +203,7 @@ package org.apache.royale.jewel
 			return _presentationModel;
 		}
 		/**
-		 * @royaleignorecoercion org.apache.royale.core.IDataGridPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IDataGridPresentationModel
 		 */
 		public function set presentationModel(value:IBead):void
 		{
@@ -209,14 +217,14 @@ package org.apache.royale.jewel
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.7
-		 *  @royaleignorecoercion org.apache.royale.core.IDataGridPresentationModel
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IDataGridPresentationModel
 		 */
 		public function get rowHeight():Number
 		{
 			return (presentationModel as IDataGridPresentationModel).rowHeight;
 		}
         /**
-         * @royaleignorecoercion org.apache.royale.core.IDataGridPresentationModel
+         * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IDataGridPresentationModel
          */
 		public function set rowHeight(value:Number):void
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
index 795c425..31d9477 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
@@ -27,10 +27,10 @@ package org.apache.royale.jewel
     import org.apache.royale.jewel.beads.models.IDropDownListModel;
     }
     import org.apache.royale.core.IDataProviderModel;
-    import org.apache.royale.core.IListPresentationModel;
     import org.apache.royale.core.ISelectionModel;
     import org.apache.royale.html.elements.Select;
     import org.apache.royale.jewel.beads.models.ListPresentationModel;
+    import org.apache.royale.jewel.supportClasses.IListPresentationModel;
     import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
 
 
@@ -219,7 +219,7 @@ package org.apache.royale.jewel
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 */
 		public function get presentationModel():IListPresentationModel
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
index 0eeb95d..8c090f5 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
@@ -19,10 +19,10 @@
 package org.apache.royale.jewel
 {
 	import org.apache.royale.core.IDataProviderModel;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.IRollOverModel;
 	import org.apache.royale.core.ISelectionModel;
 	import org.apache.royale.jewel.beads.models.ListPresentationModel;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 	import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
 
 	/**
@@ -37,7 +37,7 @@ package org.apache.royale.jewel
 	[Event(name="initComplete", type="org.apache.royale.events.Event")]
 
 	/**
-	 * The change event is dispatched whenever the list's selection changes.
+	 *  The change event is dispatched whenever the list's selection changes.
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
@@ -216,7 +216,7 @@ package org.apache.royale.jewel
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.4
-		 *  @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 */
 		public function get presentationModel():IListPresentationModel
 		{
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as
index 498cf62..00a92dc 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddListItemRendererForArrayListData.as
@@ -22,7 +22,6 @@ package org.apache.royale.jewel.beads.itemRenderers
 	import org.apache.royale.core.IDataProviderModel;
 	import org.apache.royale.core.IItemRendererClassFactory;
 	import org.apache.royale.core.IItemRendererParent;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.ISelectableItemRenderer;
 	import org.apache.royale.core.ISelectionModel;
 	import org.apache.royale.core.IStrand;
@@ -32,8 +31,9 @@ package org.apache.royale.jewel.beads.itemRenderers
 	import org.apache.royale.events.CollectionEvent;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.IEventDispatcher;
-	import org.apache.royale.utils.loadBeadFromValuesManager;
 	import org.apache.royale.html.beads.IListView;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
+	import org.apache.royale.utils.loadBeadFromValuesManager;
 
     /**
 	 * Handles the adding of an itemRenderer in a List component once the corresponding datum has been added
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as
index d02d122..00a6953 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/AddTableRowForArrayListData.as
@@ -21,7 +21,6 @@ package org.apache.royale.jewel.beads.itemRenderers
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IItemRendererClassFactory;
 	import org.apache.royale.core.IItemRendererParent;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.ISelectionModel;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.core.IStrandWithModelView;
@@ -30,13 +29,12 @@ package org.apache.royale.jewel.beads.itemRenderers
 	import org.apache.royale.events.CollectionEvent;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.IEventDispatcher;
+	import org.apache.royale.html.beads.IListView;
 	import org.apache.royale.jewel.beads.models.TableModel;
 	import org.apache.royale.jewel.itemRenderers.TableItemRenderer;
-	import org.apache.royale.jewel.supportClasses.table.TableCell;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 	import org.apache.royale.jewel.supportClasses.table.TableColumn;
-	import org.apache.royale.jewel.supportClasses.table.TableRow;
 	import org.apache.royale.utils.loadBeadFromValuesManager;
-	import org.apache.royale.html.beads.IListView;
 
     /**
 	 *  Handles the adding of an itemRenderer in a Table component once the corresponding datum has been added
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForArrayData.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForArrayData.as
index 00d9c2d..dec25a1 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DataItemRendererFactoryForArrayData.as
@@ -20,11 +20,10 @@ package org.apache.royale.jewel.beads.itemRenderers
 {
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IDataProviderItemRendererMapper;
+	import org.apache.royale.core.IDataProviderModel;
 	import org.apache.royale.core.IItemRendererClassFactory;
 	import org.apache.royale.core.IItemRendererParent;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.ISelectableItemRenderer;
-	import org.apache.royale.core.IDataProviderModel;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.core.SimpleCSSStyles;
 	import org.apache.royale.core.UIBase;
@@ -32,11 +31,11 @@ package org.apache.royale.jewel.beads.itemRenderers
 	import org.apache.royale.events.EventDispatcher;
 	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.events.ItemRendererEvent;
-	
-    import org.apache.royale.html.supportClasses.DataItemRenderer;
+	import org.apache.royale.html.beads.IListView;
+	import org.apache.royale.html.supportClasses.DataItemRenderer;
+	import org.apache.royale.jewel.beads.itemRenderers.DataFieldProviderBead;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 	import org.apache.royale.utils.loadBeadFromValuesManager;
-    import org.apache.royale.jewel.beads.itemRenderers.DataFieldProviderBead;
-    import org.apache.royale.html.beads.IListView;
 
     [Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
 	
@@ -154,10 +153,10 @@ package org.apache.royale.jewel.beads.itemRenderers
          *  @productversion Royale 0.9.4
 		 *  @royaleignorecoercion Array
 		 *  @royaleignorecoercion org.apache.royale.core.IListView
-		 *  @royaleignorecoercion org.apache.royale.core.IListPresentationModel
 		 *  @royaleignorecoercion org.apache.royale.core.UIBase
 		 *  @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 *  @royaleignorecoercion org.apache.royale.html.supportClasses.DataItemRenderer
+		 *  @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 *  @royaleignorecoercion org.apache.royale.events.IEventDispatcher
          */
 		protected function dataProviderChangeHandler(event:Event):void
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 57b1b7d..47208de 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
@@ -25,18 +25,16 @@ package org.apache.royale.jewel.beads.itemRenderers
 	import org.apache.royale.core.IDataProviderModel;
 	import org.apache.royale.core.IItemRendererClassFactory;
 	import org.apache.royale.core.IItemRendererParent;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.ISelectableItemRenderer;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.core.SimpleCSSStyles;
 	import org.apache.royale.core.UIBase;
-	import org.apache.royale.events.CollectionEvent;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.EventDispatcher;
 	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.html.beads.IListView;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 	import org.apache.royale.utils.loadBeadFromValuesManager;
-
 	
 	/**
 	 * This class creates itemRenderer instances from the data contained within an ICollectionView
@@ -151,7 +149,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		/**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
@@ -189,7 +187,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		/**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
@@ -228,7 +226,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		/**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as
index f33901c..ebf2d85 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as
@@ -19,12 +19,12 @@
 package org.apache.royale.jewel.beads.itemRenderers
 {
 	import org.apache.royale.collections.ICollectionView;
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.ISelectableItemRenderer;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.jewel.beads.models.IDropDownListModel;
 	import org.apache.royale.jewel.itemRenderers.DropDownListItemRenderer;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 
 	/**
 	 * This class creates itemRenderer instances from the data contained within an ICollectionView
@@ -39,7 +39,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		/**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as
index 862aea8..168239f 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/TableItemRendererFactoryForCollectionView.as
@@ -24,7 +24,6 @@ package org.apache.royale.jewel.beads.itemRenderers
     import org.apache.royale.core.IChild;
     import org.apache.royale.core.IDataProviderItemRendererMapper;
     import org.apache.royale.core.IItemRendererClassFactory;
-    import org.apache.royale.core.IListPresentationModel;
     import org.apache.royale.core.IParent;
     import org.apache.royale.core.ISelectableItemRenderer;
     import org.apache.royale.core.IStrand;
@@ -41,6 +40,7 @@ package org.apache.royale.jewel.beads.itemRenderers
     import org.apache.royale.jewel.beads.models.TableModel;
     import org.apache.royale.jewel.beads.views.TableView;
     import org.apache.royale.jewel.itemRenderers.TableItemRenderer;
+    import org.apache.royale.jewel.supportClasses.IListPresentationModel;
     import org.apache.royale.jewel.supportClasses.table.TBodyContentArea;
     import org.apache.royale.jewel.supportClasses.table.THead;
     import org.apache.royale.jewel.supportClasses.table.TableColumn;
@@ -141,7 +141,7 @@ package org.apache.royale.jewel.beads.itemRenderers
         /**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
@@ -307,7 +307,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		/**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
@@ -318,7 +318,7 @@ package org.apache.royale.jewel.beads.itemRenderers
 		/**
 		 * @private
 		 * @royaleignorecoercion org.apache.royale.collections.ICollectionView
-		 * @royaleignorecoercion org.apache.royale.core.IListPresentationModel
+		 * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IListPresentationModel
 		 * @royaleignorecoercion org.apache.royale.core.ISelectableItemRenderer
 		 * @royaleignorecoercion org.apache.royale.events.IEventDispatcher
 		 */
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 52d1a76..ca1d06d 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
@@ -18,13 +18,13 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.models
 {
-	import org.apache.royale.core.IDataGridPresentationModel;
-	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.Event;
+	import org.apache.royale.jewel.supportClasses.IDataGridPresentationModel;
 	
 	/**
 	 *  The DataGridPresentationModel class contains the data to label the columns
-	 *  of the org.apache.royale.jewel.DataGrid along with the height of the rows. 
+	 *  of the org.apache.royale.jewel.DataGrid along with the height of the rows or
+	 *  the align of column labels. 
 	 *  
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
@@ -49,9 +49,8 @@ package org.apache.royale.jewel.beads.models
 		}
 		
 		private var _columnLabels:Array;
-		
 		/**
-		 *  The labels for each column.
+		 *  The labels used in each column header.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -66,23 +65,29 @@ package org.apache.royale.jewel.beads.models
 		{
 			if (value != _columnLabels) {
 				_columnLabels = value;
-				dispatchEvent(new Event("columnsChanged"));
+				dispatchEvent(new Event("columnLabelsChanged"));
 			}
 		}
-		
-		private var _strand:IStrand;
-		
+
+		private var _columnLabelAlign:String = ""
 		/**
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *  
+		 *  How column label aligns in the header
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.7
+		 *  @productversion Royale 0.9.4
 		 */
-		override public function set strand(value:IStrand):void
+		public function get columnLabelAlign():String
+		{
+			return _columnLabelAlign;
+		}
+		public function set columnLabelAlign(value:String):void
 		{
-			_strand = value;
+			if (value != _columnLabelAlign) {
+				_columnLabelAlign = value;
+				dispatchEvent(new Event("columnsLabelAlignChanged"));
+			}
 		}
 	}
 }
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as
index 622d854..91072a9 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/ListPresentationModel.as
@@ -18,10 +18,10 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel.beads.models
 {
-	import org.apache.royale.core.IListPresentationModel;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.EventDispatcher;
+	import org.apache.royale.jewel.supportClasses.IListPresentationModel;
 	
 	/**
 	 *  The ListPresentationModel holds values used by list controls for presenting
@@ -48,7 +48,6 @@ package org.apache.royale.jewel.beads.models
 		}
 		
 		private var _rowHeight:Number = 30;
-		
 		/**
 		 *  The height of each row.
 		 *
@@ -61,15 +60,15 @@ package org.apache.royale.jewel.beads.models
 		{
 			return _rowHeight;
 		}
-		
 		public function set rowHeight(value:Number):void
 		{
-			_rowHeight = value;
-			dispatchEvent(new Event("rowHeightChanged"));
+			if (value != _rowHeight) {
+				_rowHeight = value;
+				dispatchEvent(new Event("rowHeightChanged"));
+			}
 		}
 		
 		private var _separatorThickness:Number = 0;
-		
 		/**
 		 *  The distance between rows.
 		 *
@@ -82,15 +81,36 @@ package org.apache.royale.jewel.beads.models
 		{
 			return _separatorThickness;
 		}
-		
 		public function set separatorThickness(value:Number):void
 		{
-			_separatorThickness = value;
-			dispatchEvent(new Event("separatorThicknessChanged"));
+			if (value != _separatorThickness) {
+				_separatorThickness = value;
+				dispatchEvent(new Event("separatorThicknessChanged"));
+			}
+		}
+
+		private var _align:String = ""
+		/**
+		 *  How text align in the column
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.7
+		 */
+		public function get align():String
+		{
+			return _align;
+		}
+		public function set align(value:String):void
+		{
+			if (value != _align) {
+				_align = value;
+				dispatchEvent(new Event("alignChanged"));
+			}
 		}
 		
-		private var _strand:IStrand;
-		
+		protected var _strand:IStrand;
 		/**
 		 *  @copy org.apache.royale.core.IBead#strand
 		 *  
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 c4a6015..51541f2 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
@@ -25,7 +25,6 @@ package org.apache.royale.jewel.beads.views
 	import org.apache.royale.core.IChild;
 	import org.apache.royale.core.IDataGrid;
 	import org.apache.royale.core.IDataGridModel;
-	import org.apache.royale.core.IDataGridPresentationModel;
 	import org.apache.royale.core.IParent;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.core.IUIBase;
@@ -36,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.supportClasses.IDataGridPresentationModel;
 	import org.apache.royale.jewel.supportClasses.Viewport;
 	import org.apache.royale.jewel.supportClasses.datagrid.DataGridButtonBar;
 	import org.apache.royale.jewel.supportClasses.datagrid.IDataGridColumn;
@@ -276,7 +276,7 @@ package org.apache.royale.jewel.beads.views
          * @royaleignorecoercion org.apache.royale.core.IChild
          * @royaleignorecoercion org.apache.royale.core.IParent
          * @royaleignorecoercion org.apache.royale.core.IDataGrid
-         * @royaleignorecoercion org.apache.royale.core.IDataGridPresentationModel
+         * @royaleignorecoercion org.apache.royale.jewel.supportClasses.IDataGridPresentationModel
          * @royaleignorecoercion org.apache.royale.jewel.supportClasses.datagrid.IDataGridColumn
          */
         protected function createLists():void
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/supportClasses/IDataGridPresentationModel.as
similarity index 52%
copy from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/models/DataGridPresentationModel.as
copy to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/IDataGridPresentationModel.as
index 52d1a76..1739934 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/supportClasses/IDataGridPresentationModel.as
@@ -16,73 +16,39 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.jewel.beads.models
+package org.apache.royale.jewel.supportClasses
 {
-	import org.apache.royale.core.IDataGridPresentationModel;
-	import org.apache.royale.core.IStrand;
-	import org.apache.royale.events.Event;
-	
-	/**
-	 *  The DataGridPresentationModel class contains the data to label the columns
-	 *  of the org.apache.royale.jewel.DataGrid along with the height of the rows. 
-	 *  
+    /**
+	 *  The Jewel IDataGridPresentationModel interface holds key values for the display
+	 *  a Jewel DataGrid.
+	 * 
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.7
 	 */
-	public class DataGridPresentationModel extends ListPresentationModel implements IDataGridPresentationModel
-	{
+    public interface IDataGridPresentationModel extends IListPresentationModel
+    {
 		/**
-		 *  constructor.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.7
-		 */
-		public function DataGridPresentationModel()
-		{
-			super();
-			
-			separatorThickness = 1;
-		}
-		
-		private var _columnLabels:Array;
-		
-		/**
-		 *  The labels for each column.
+		 *  The labels used in each column header.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.7
 		 */
-		public function get columnLabels():Array
-		{
-			return _columnLabels;
-		}
-		public function set columnLabels(value:Array):void
-		{
-			if (value != _columnLabels) {
-				_columnLabels = value;
-				dispatchEvent(new Event("columnsChanged"));
-			}
-		}
-		
-		private var _strand:IStrand;
-		
+		function get columnLabels():Array;
+		function set columnLabels(value:Array):void;
+
 		/**
-		 *  @copy org.apache.royale.core.IBead#strand
-		 *  
+		 *  How column label aligns in the header
+		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.7
 		 */
-		override public function set strand(value:IStrand):void
-		{
-			_strand = value;
-		}
-	}
+		function get columnLabelAlign():String;
+		function set columnLabelAlign(value:String):void;
+    }
 }
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/IListPresentationModel.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/IListPresentationModel.as
new file mode 100644
index 0000000..bf2e1b7
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/IListPresentationModel.as
@@ -0,0 +1,45 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.jewel.supportClasses
+{
+	import org.apache.royale.core.IListPresentationModel;
+
+    /**
+	 *  The Jewel IListPresentationModel interface holds key values for the display
+	 *  of lists.
+	 * 
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.7
+	 */
+    public interface IListPresentationModel extends org.apache.royale.core.IListPresentationModel
+    {
+        /**
+		 *  How text aligns in the itemRenderer instance.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.7
+		 */
+		function get align():String;
+		function set align(value:String):void;
+    }
+}