[NUI] Added new ViewAdded event on Window (#705)
authorarosis78 <35049857+arosis78@users.noreply.github.com>
Wed, 6 Mar 2019 10:30:31 +0000 (19:30 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 6 Mar 2019 10:30:31 +0000 (19:30 +0900)
* [NUI] Added new ViewConnected event on Window

* [NUI] Added new ViewAdded event on Window

* [NUI] Added new ViewAddxxed event on Window

src/Tizen.NUI/src/public/BaseComponents/View.cs [changed mode: 0755->0644]
src/Tizen.NUI/src/public/Window.cs [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 227e2a5..3bcc0b1
@@ -1284,6 +1284,13 @@ namespace Tizen.NUI.BaseComponents
         private EventHandler<BackgroundResourceLoadedEventArgs> _backgroundResourceLoadedEventHandler;
         private _backgroundResourceLoadedCallbackType _backgroundResourceLoadedCallback;
 
+        private OnWindowEventCallbackType _onWindowSendEventCallback;
+
+        private void SendViewAddedEventToWindow(IntPtr data)
+        {
+            Window.Instance.SendViewAdded(this);
+        }
+
         /// <summary>
         /// Creates a new instance of a view.
         /// </summary>
@@ -1305,6 +1312,9 @@ namespace Tizen.NUI.BaseComponents
                 PositionUsesPivotPoint = false;
             }
             _mergedStyle = new MergedStyle(GetType(), this);
+
+            _onWindowSendEventCallback = SendViewAddedEventToWindow;
+            this.OnWindowSignal().Connect(_onWindowSendEventCallback);
         }
 
         internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
@@ -5200,6 +5210,11 @@ namespace Tizen.NUI.BaseComponents
                 this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
             }
 
+            if (_onWindowSendEventCallback != null)
+            {
+                this.OnWindowSignal().Disconnect(_onWindowSendEventCallback);
+            }
+
             // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
             // Restore current CPtr.
             swigCPtr = currentCPtr;
old mode 100755 (executable)
new mode 100644 (file)
index 717ca1f..ba929bf
@@ -280,6 +280,19 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// ViewAdded will be triggered when the view added on Window
+        /// </summary>
+        /// <since_tizen> 6 </since_tizen>
+        /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler ViewAdded;
+
+        internal void SendViewAdded(View view)
+        {
+            ViewAdded?.Invoke(view, EventArgs.Empty);
+        }
+
         internal event EventHandler EventProcessingFinished
         {
             add