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/10/22 02:49:03 UTC
[royale-asjs] 02/02: implement contains()
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 <ah...@apache.org>
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;
+ }
}
/**