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/04/02 02:42:11 UTC

[royale-asjs] branch develop updated: changes to use alternating colors in ADG

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

aharui 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 80d83b1  changes to use alternating colors in ADG
80d83b1 is described below

commit 80d83b11a4ed6385a0c4256f8f9810ee914a86ac
Author: Alex Harui <ah...@apache.org>
AuthorDate: Mon Apr 1 19:41:54 2019 -0700

    changes to use alternating colors in ADG
---
 .../MXRoyale/src/main/resources/defaults.css       |  1 +
 .../AdvancedDataGridItemRenderer.as                | 33 ++++++++++++++++++----
 ...actoryForICollectionViewAdvancedDataGridData.as |  2 +-
 3 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index 129eff5..e244508 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -75,6 +75,7 @@ Basic|DataGridButtonBar {
 
 AdvancedDataGrid
 {
+	alternatingItemColors: #F7F7F7, #FFFFFF;
 	IChangePropagator: ClassReference("org.apache.royale.html.beads.DataGridColumnChangePropagator");
 	IDataGridPresentationModel: ClassReference("org.apache.royale.html.beads.models.DataGridPresentationModel");
 	IBeadView: ClassReference("mx.controls.beads.DataGridView");
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
index a0dc67f..94e782e 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as
@@ -29,23 +29,21 @@ import flash.utils.getQualifiedSuperclassName; */
 //import mx.controls.AdvancedDataGrid;
 import mx.controls.listClasses.BaseListData;
 import mx.controls.listClasses.IDropInListItemRenderer;
-//import mx.controls.listClasses.IListItemRenderer;
 import mx.core.IDataRenderer;
 import mx.core.IFlexDisplayObject;
 import mx.core.IToolTip;
-//import mx.core.UIComponentGlobals;
 import mx.core.UITextField;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
-//import mx.events.ToolTipEvent;
-//import mx.managers.ILayoutManagerClient;
 import mx.managers.ISystemManager;
 import mx.styles.CSSStyleDeclaration;
 //import mx.styles.IStyleClient;
 //import mx.styles.StyleProtoChain;
 use namespace mx_internal;
 
+import org.apache.royale.utils.CSSUtils;
 import org.apache.royale.html.supportClasses.StringItemRenderer;
+import mx.core.UIComponent;
 
 //--------------------------------------
 //  Events
@@ -150,10 +148,35 @@ public class AdvancedDataGridItemRenderer extends StringItemRenderer
             
             indent += (treeListData.hasChildren ? (treeListData.open ? "▼" : "▶") : "") + extraSpace;
         }
-        
+        var bgColors:Array = (treeListData.owner as UIComponent).getStyle("alternatingItemColors");
+        backgroundColor = ((treeListData.rowIndex % 2) == 1) ? bgColors[1] : bgColors[0];
+
+        COMPILE::JS {
+            element.style.backgroundColor = CSSUtils.attributeFromColor(backgroundColor);
+        }
         this.text = indent + this.text;
     }
 
+    /**
+     * @private
+     */
+    override public function updateRenderer():void
+    {
+        COMPILE::SWF
+        {
+            super.updateRenderer();
+        }
+        COMPILE::JS
+        {
+            if (selected)
+                element.style.backgroundColor = '#9C9C9C';
+            else if (hovered)
+                element.style.backgroundColor = '#ECECEC';
+            else
+                element.style.backgroundColor = CSSUtils.attributeFromColor(backgroundColor);
+        }
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Properties
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as
index 6a86019..e749ac2 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/DataItemRendererFactoryForICollectionViewAdvancedDataGridData.as
@@ -153,7 +153,7 @@ package mx.controls.advancedDataGridClasses
             var firstColumn:Boolean =  listID == "dataGridColumn0";
 			
 			// Set the listData with the depth of this item
-			var treeListData:AdvancedDataGridListData = new AdvancedDataGridListData("", "", firstColumn ? 0 : 1, "", _strand as IUIComponent);
+			var treeListData:AdvancedDataGridListData = new AdvancedDataGridListData("", "", firstColumn ? 0 : 1, "", (_strand as AdvancedDataGridColumnList).adg, index);
 			treeListData.depth = depth;
 			treeListData.open = isOpen;
 			treeListData.hasChildren = hasChildren;