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/12/30 00:35:56 UTC
[royale-asjs] 13/13: fix up after merge
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
commit 73c77af78d8b07c4deea8b4a45980759a601d89a
Author: Alex Harui <ah...@apache.org>
AuthorDate: Sun Dec 29 16:21:39 2019 -0800
fix up after merge
---
.../MXRoyale/src/main/resources/defaults.css | 5 ++-
.../beads/AdvancedDataGridHeaderLayout.as | 3 +-
.../AdvancedDataGridHeaderRenderer.as | 39 ++++++++++++++++++++++
.../main/royale/mx/controls/beads/DataGridView.as | 5 ++-
4 files changed, 47 insertions(+), 5 deletions(-)
diff --git a/frameworks/projects/MXRoyale/src/main/resources/defaults.css b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
index 302a38a..b35b81a 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/MXRoyale/src/main/resources/defaults.css
@@ -83,7 +83,10 @@ adg|AdvancedDataGridButtonBar {
adg|AdvancedDataGridHeaderRenderer {
horizontalAlign: center;
vertical-align: middle;
- border: 1px solid #222222;
+ border-top: 1px solid #222222;
+ border-bottom: 1px solid #222222;
+ border-right: 1px solid #222222;
+ border-left: none;
font-weight: bold;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridHeaderLayout.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridHeaderLayout.as
index 2697cc6..d78955b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridHeaderLayout.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/beads/AdvancedDataGridHeaderLayout.as
@@ -19,6 +19,7 @@
package mx.containers.beads
{
+ import mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderRenderer;
import mx.core.EdgeMetrics;
import mx.core.UIComponent;
@@ -129,7 +130,7 @@ public class AdvancedDataGridHeaderLayout extends LayoutBase
{
var ilc:ILayoutChild = contentView.getElementAt(i) as ILayoutChild;
if (ilc == null || !ilc.visible) continue;
- if (!(ilc is IStyleableObject)) continue;
+ if (!(ilc is AdvancedDataGridHeaderRenderer)) continue;
COMPILE::SWF {
if (buttonWidths) {
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
index cb0b5b4..30a2d7c 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/advancedDataGridClasses/AdvancedDataGridHeaderRenderer.as
@@ -30,6 +30,7 @@ import flash.text.TextLineMetrics;
*/
import mx.controls.AdvancedDataGrid;
import mx.controls.advancedDataGridClasses.AdvancedDataGridButtonBar;
+import mx.controls.beads.DataGridView;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.listClasses.BaseListData;
import mx.controls.listClasses.IDropInListItemRenderer;
@@ -51,6 +52,7 @@ import mx.managers.ISystemManager;
import org.apache.royale.core.IChild;
import org.apache.royale.core.TextLineMetrics;
import org.apache.royale.events.Event;
+import org.apache.royale.events.ItemClickedEvent;
import org.apache.royale.events.MouseEvent;
import org.apache.royale.geom.Point;
import org.apache.royale.geom.Rectangle;
@@ -195,8 +197,39 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
// InteractiveObject variables.
tabEnabled = false;
addEventListener(ToolTipEvent.TOOL_TIP_SHOW, toolTipShowHandler);
+ addEventListener('click',handleClickEvent);
}
+ /**
+ * @private
+ */
+ protected function handleClickEvent(event:MouseEvent):void
+ {
+ var newEvent:ItemClickedEvent = new ItemClickedEvent("itemClicked");
+ newEvent.index = index;
+ newEvent.data = data;
+ dispatchEvent(newEvent);
+ }
+
+ private var _index:int;
+
+ /**
+ * The position with the dataProvider being shown by the itemRenderer instance.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.8
+ */
+ public function get index():int
+ {
+ return _index;
+ }
+ public function set index(value:int):void
+ {
+ _index = value;
+ }
+
//--------------------------------------------------------------------------
//
// Variables
@@ -332,6 +365,12 @@ public class AdvancedDataGridHeaderRenderer extends UIComponent implements IData
if (label)
label = label.replace(" ", " ");
}
+ var dg:UIComponent = col.owner;
+ if (index == ((dg.view as DataGridView).header as AdvancedDataGridButtonBar).selectedIndex)
+ {
+ label += " " + (col.sortDescending ? "▼" : "▲");
+ }
+
return label;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
index ca2bb57..edf8a8a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/beads/DataGridView.as
@@ -111,12 +111,10 @@ package mx.controls.beads
{
generateCols();
createLists();
- (header as DataGridButtonBar).dataProvider = sharedModel.columns;
+ (header as DataGridButtonBar).dataProvider = sharedModel.columns;
}
if (sharedModel.columns == null)
return;
- if (visibleColumns == null)
- visibleColumns = sharedModel.columns;
super.handleDataProviderChanged(event);
}
@@ -162,6 +160,7 @@ package mx.controls.beads
var index:int = 0;
// introspect the first item and use its fields
var itmObj:Object = iterator.current;
+
for (var p:String in itmObj)
{
if (p != "uid")