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; + } } /**
