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;