This is an automated email from the ASF dual-hosted git repository.

gregdove 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 76525f4  implement SystemManager getChildByName & add util support for 
implementation elsewhere.
76525f4 is described below

commit 76525f4397dd2746656475f6dd350353ac2159e7
Author: greg-dove <[email protected]>
AuthorDate: Tue Dec 14 16:53:23 2021 +1300

    implement SystemManager getChildByName & add util support for 
implementation elsewhere.
---
 .../src/main/royale/mx/managers/SystemManager.as        | 13 +++++++++++--
 .../MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as | 17 ++++++++++++++++-
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
index da78766..8853fba 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
@@ -98,6 +98,8 @@ import org.apache.royale.core.IUIBase;
 import org.apache.royale.events.IEventDispatcher;
 import org.apache.royale.geom.Rectangle;
 
+import mx.utils.RoyaleUtil;
+
 //--------------------------------------
 //  Events
 //--------------------------------------
@@ -3736,8 +3738,15 @@ public class SystemManager extends SystemManagerBase 
implements ISystemManager,
     { override }
     public function getChildByName(name:String):IUIComponent
     {
-        trace("getChildByName not implemented");
-        return null;
+        COMPILE::SWF
+        {
+            return super.getChildByName(name) as IUIComponent;
+        }
+        COMPILE::JS
+        {
+            return RoyaleUtil.childByName(this, name);
+        }
+
     }
     
     /**
diff --git 
a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as 
b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as
index 42337a0..a6e2d81 100644
--- a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/utils/RoyaleUtil.as
@@ -18,7 +18,8 @@
 
////////////////////////////////////////////////////////////////////////////////
 package mx.utils
 {
-
+import mx.core.IUIComponent;
+import mx.core.IChildList;
 
 COMPILE::SWF{
 
@@ -33,6 +34,8 @@ COMPILE::SWF{
  * @playerversion Flash 10.2
  * @playerversion AIR 2.6
  * @productversion Royale 0.9.9
+ *
+ * @royalesuppressexport
  */
 public class RoyaleUtil
 {      
@@ -72,6 +75,18 @@ public class RoyaleUtil
 
     private static var deferreds:Array = [];
 
+
+    COMPILE::JS
+    public static function childByName(parent:IChildList, 
name:String):IUIComponent{
+        var i:uint = 0;
+        var l:uint = parent.numChildren;
+        for (;i<l;i++) {
+            var child:IUIComponent = parent.getChildAt(i);
+            if (child && child.name == name) return child;
+        }
+        return null;
+    }
+
 }
 
 }

Reply via email to