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(" ", "&nbsp;");
         }
+        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")