From 27216f0198edf512a88aad287738354b4184e2be Mon Sep 17 00:00:00 2001 From: "dongsug.song" Date: Tue, 14 Nov 2023 22:14:33 +0900 Subject: [PATCH] [NUI] Add AliveCount property to get currently alived View number --- src/Tizen.NUI/src/public/BaseComponents/View.cs | 10 ++++++++++ src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs | 1 + src/Tizen.NUI/src/public/BaseComponents/ViewInternal.cs | 2 ++ 3 files changed, 13 insertions(+) diff --git a/src/Tizen.NUI/src/public/BaseComponents/View.cs b/src/Tizen.NUI/src/public/BaseComponents/View.cs index 601d553..947edad 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/View.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/View.cs @@ -85,6 +85,8 @@ namespace Tizen.NUI.BaseComponents private Vector4 internalCurrentWorldColor = null; private Vector2 internalCurrentScreenPosition = null; + private static int aliveCount = 0; + static View() { RegisterPropertyGroup(PositionProperty, positionPropertyGroup); @@ -208,6 +210,8 @@ namespace Tizen.NUI.BaseComponents { SetVisible(false); } + + aliveCount++; } internal View(ViewImpl implementation, bool shown = true) : this(Interop.View.NewViewInternal(ViewImpl.getCPtr(implementation)), true) @@ -3496,5 +3500,11 @@ namespace Tizen.NUI.BaseComponents [EditorBrowsable(EditorBrowsableState.Never)] public Vector3 CurrentScale => GetCurrentScale(); + /// + /// Gets the number of currently alived View object. + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public static int AliveCount => aliveCount; + } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs b/src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs index eabb666..bb0449c 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ViewAccessibility.cs @@ -403,6 +403,7 @@ namespace Tizen.NUI.BaseComponents { // at this case, implicit nor explicit dispose is not required. No native object is made. disposed = true; + aliveCount--; return; } } diff --git a/src/Tizen.NUI/src/public/BaseComponents/ViewInternal.cs b/src/Tizen.NUI/src/public/BaseComponents/ViewInternal.cs index 9e68a77..47b4dec 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ViewInternal.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ViewInternal.cs @@ -1468,6 +1468,8 @@ namespace Tizen.NUI.BaseComponents NUILog.Debug($"============================="); base.Dispose(type); + + aliveCount--; } /// This will not be public opened. -- 2.7.4