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
//----------------------------------