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 217411dff1d96af599ea35da98e16a9ecd698280
Author: Alex Harui <[email protected]>
AuthorDate: Mon Oct 21 19:47:30 2019 -0700

    implement contains()
---
 .../MXRoyale/src/main/royale/mx/core/UIComponent.as  | 20 ++++++++++++++++++--
 .../src/main/royale/mx/managers/SystemManager.as     | 19 +++++++++++++++++--
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git 
a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as 
b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
index 02f6da1..db8ef4a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
@@ -41,6 +41,7 @@ import mx.controls.beads.ToolTipBead;
 import mx.core.mx_internal;
 COMPILE::SWF
 {
+import flash.display.DisplayObject;
 import flash.display.Graphics;
 }
 import mx.display.Graphics;
@@ -3454,8 +3455,23 @@ COMPILE::JS
     { override }
     public function contains(child:IUIComponent):Boolean
     {
-        trace("contains not implemented");
-        return true;
+        COMPILE::SWF
+        {
+            return super.contains(child as DisplayObject);
+        }
+        COMPILE::JS
+        {
+            var children:NodeList = element.childNodes;
+            var n:int = children.length;
+            var e:Object = child.element;
+            
+            for (var i:int = 0; i < n; i++)
+            {
+                if (children[i] == e)
+                    return true;
+            }
+            return false;
+        }
     }
     
     /**
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 a89f7ea..b9d7665 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManager.as
@@ -3716,8 +3716,23 @@ public class SystemManager extends SystemManagerBase 
implements ISystemManager,
     { override }
     public function contains(child:IUIComponent):Boolean
     {
-        trace("contains not implemented");
-        return true;
+        COMPILE::SWF
+        {
+            return super.contains(child as DisplayObject);
+        }
+        COMPILE::JS
+        {
+            var children:NodeList = element.childNodes;
+            var n:int = children.length;
+            var e:Object = child.element;
+            
+            for (var i:int = 0; i < n; i++)
+            {
+                if (children[i] == e)
+                    return true;
+            }
+            return false;
+        }
     }
     
     /**

Reply via email to