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 2020/03/13 05:11:45 UTC

[royale-asjs] branch develop updated: some improvements to item renderers and editors

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 028a621  some improvements to item renderers and editors
028a621 is described below

commit 028a621ba1a6a12d06650268c9c7ebad622436ae
Author: Alex Harui <ah...@apache.org>
AuthorDate: Thu Mar 12 22:11:22 2020 -0700

    some improvements to item renderers and editors
---
 .../src/main/royale/mx/controls/AdvancedDataGrid.as        | 14 ++++++++++----
 .../MXRoyale/src/main/royale/mx/controls/Button.as         |  9 ++++++++-
 .../projects/MXRoyale/src/main/royale/mx/controls/Label.as |  8 +++++++-
 .../projects/MXRoyale/src/main/royale/mx/core/Container.as |  2 +-
 .../royale/spark/components/supportClasses/GroupBase.as    |  4 ++--
 .../MXAdvancedDataGridItemRenderer.as                      |  8 ++++++--
 6 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
index af71475..0e070a7 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/AdvancedDataGrid.as
@@ -86,6 +86,7 @@ package mx.controls
     import org.apache.royale.core.IDataGrid;
     import org.apache.royale.core.IDataGridModel;
     import org.apache.royale.core.IDataGridPresentationModel;
+	import org.apache.royale.core.IItemRenderer;
     import org.apache.royale.core.IItemRendererOwnerView;
     import org.apache.royale.core.IParent;
     import org.apache.royale.core.IUIBase;
@@ -2415,8 +2416,13 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
      *  @private
      *
      */
-    /* override protected function mouseEventToItemRenderer(event:MouseEvent):IListItemRenderer
+    override protected function mouseEventToItemRenderer(event:MouseEvent):IItemRenderer
     {
+		if (itemEditorInstance && itemEditorInstance.owns(event.target as IUIBase))
+			return null;
+			
+		return super.mouseEventToItemRenderer(event);
+		/*
         if(!columnGrouping)
         {
             return super.mouseEventToItemRenderer(event);
@@ -2447,8 +2453,8 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
 
             return r == itemEditorInstance ? null : r;
 
-        }
-    } */
+        }*/
+    }
 
     /**
      *  @private
@@ -10397,7 +10403,7 @@ public class AdvancedDataGrid extends AdvancedListBase implements IDataGrid
 
         // get the actual references for the column, row, and item
         var item:IListItemRenderer;
-        if (columns[actualRowIndex] && getListItem(actualRowIndex,actualColIndex))
+        if (columns[actualColIndex] && getListItem(actualRowIndex, actualColIndex))
             item = getListItem(actualRowIndex,actualColIndex);
         if (!item)
         {
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as
index 1c925dc..69121a0 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Button.as
@@ -429,6 +429,9 @@ public class Button extends UIComponent implements IDataRenderer, IListItemRende
 		return _data;
 	}
 	
+	private var bindingAdded:Boolean;
+	
+	
 	/**
 	 *  @private
 	 */
@@ -437,7 +440,11 @@ public class Button extends UIComponent implements IDataRenderer, IListItemRende
         var newSelected:*;
         var newLabel:*;
 
-		addBead(new ItemRendererDataBinding());
+		if (!bindingAdded)
+		{
+			addBead(new ItemRendererDataBinding());
+			bindingAdded = true;
+		}
 		dispatchEvent(new Event("initBindings"));
 		
         _data = value;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as
index c66eaa4..ffa5330 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/controls/Label.as
@@ -416,6 +416,8 @@ public class Label extends UIComponent
         return _data;
     }
 
+	private var bindingAdded:Boolean;
+	
     /**
      *  @private
      */
@@ -424,7 +426,11 @@ public class Label extends UIComponent
         var newText:*;
 
 		_data = value;
-		addBead(new ItemRendererDataBinding());
+		if (!bindingAdded)
+		{
+			addBead(new ItemRendererDataBinding());
+			bindingAdded = true;
+		}
 		dispatchEvent(new Event("initBindings"));
 		
         if (_listData)
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
index ae11c35..b8b875f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
@@ -825,7 +825,7 @@ public class Container extends UIComponent
     {
         super.createChildren();
         
-        if (getBeadByType(DataBindingBase) == null)
+        if (getBeadByType(DataBindingBase) == null && mxmlDocument == this)
             addBead(new ContainerDataBinding());
 
         dispatchEvent(new Event("initBindings"));
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/GroupBase.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/GroupBase.as
index 46eb68b..6367276 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/GroupBase.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/GroupBase.as
@@ -55,7 +55,7 @@ import org.apache.royale.events.Event;
 import org.apache.royale.events.ValueEvent;
 import org.apache.royale.geom.Point;
 import org.apache.royale.utils.MXMLDataInterpreter;
-import org.apache.royale.utils.loadBeadFromValuesManager;
+import org.apache.royale.utils.loadBeadFromValuesManager;
 
 //import spark.utils.FTETextUtil;
 //import spark.utils.MaskUtil;
@@ -1219,7 +1219,7 @@ public class GroupBase extends UIComponent implements ILayoutParent, IContainer,
         
         super.createChildren();
         
-        if (getBeadByType(DataBindingBase) == null)
+        if (getBeadByType(DataBindingBase) == null && mxmlDocument == this)
             addBead(new ContainerDataBinding());
         
         dispatchEvent(new Event("initBindings"));
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as
index 0066e4f..57d6080 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/controls/advancedDataGridClasses/MXAdvancedDataGridItemRenderer.as
@@ -82,10 +82,14 @@ public class MXAdvancedDataGridItemRenderer extends ItemRenderer implements ILis
     {
         super();
        // focusEnabled = false;
-		addBead(new ItemRendererDataBinding());
-		dispatchEvent(new Event("initBindings"));
     }
     
+	override protected function createChildren():void
+	{
+		addBead(new ItemRendererDataBinding());
+		super.createChildren();
+	}
+	
     //----------------------------------
     //  listData
     //----------------------------------