Revert "Revert "[NUI] Rebase DevelNUI (#2507)" (#2508)"
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / ViewImpl.cs
index 57dc60e..57d7f29 100755 (executable)
@@ -39,6 +39,21 @@ namespace Tizen.NUI
             throw new global::System.MethodAccessException("C++ destructor does not have public access");
         }
 
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                SwigDirectorDisconnect();
+            }
+
+            base.Dispose(type);
+        }
+
         public static View New()
         {
             View ret = new View(Interop.ViewImpl.New(), true);
@@ -524,6 +539,45 @@ namespace Tizen.NUI
             Interop.ViewImpl.DirectorConnect(SwigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6, swigDelegate9, swigDelegate11, swigDelegate12, swigDelegate13, swigDelegate14, swigDelegate15, swigDelegate16, swigDelegate17, swigDelegate18, swigDelegate19, swigDelegate20, swigDelegate21, swigDelegate24, swigDelegate25, swigDelegate26, swigDelegate28, swigDelegate29, swigDelegate30, swigDelegate31, swigDelegate32, swigDelegate33, swigDelegate34, swigDelegate35, swigDelegate36, swigDelegate37, swigDelegate38, swigDelegate39, swigDelegate40);
         }
 
+        private void SwigDirectorDisconnect()
+        {
+            swigDelegate0 = null;
+            swigDelegate1 = null;
+            swigDelegate2 = null;
+            swigDelegate3 = null;
+            swigDelegate4 = null;
+            swigDelegate5 = null;
+            swigDelegate6 = null;
+            swigDelegate9 = null;
+            swigDelegate11 = null;
+            swigDelegate12 = null;
+            swigDelegate13 = null;
+            swigDelegate14 = null;
+            swigDelegate15 = null;
+            swigDelegate16 = null;
+            swigDelegate17 = null;
+            swigDelegate18 = null;
+            swigDelegate19 = null;
+            swigDelegate20 = null;
+            swigDelegate21 = null;
+            swigDelegate24 = null;
+            swigDelegate25 = null;
+            swigDelegate26 = null;
+            swigDelegate28 = null;
+            swigDelegate29 = null;
+            swigDelegate30 = null;
+            swigDelegate31 = null;
+            swigDelegate32 = null;
+            swigDelegate33 = null;
+            swigDelegate34 = null;
+            swigDelegate35 = null;
+            swigDelegate36 = null;
+            swigDelegate37 = null;
+            swigDelegate38 = null;
+            swigDelegate39 = null;
+            swigDelegate40 = null;
+            Interop.ViewImpl.DirectorConnect(SwigCPtr, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
+        }
 
         private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
         {
@@ -567,48 +621,27 @@ namespace Tizen.NUI
 
         private void SwigDirectorOnPropertySet(int index, global::System.IntPtr propertyValue)
         {
-            using (PropertyValue setValue = new PropertyValue(propertyValue, true))
-            {
-                OnPropertySet(index, setValue);
-            }
+            OnPropertySet(index, new PropertyValue(propertyValue, true));
         }
 
         private void SwigDirectorOnSizeSet(global::System.IntPtr targetSize)
         {
-            using (Vector3 setValue = new Vector3(targetSize, false))
-            {
-                OnSizeSet(setValue);
-            }
+            OnSizeSet(new Vector3(targetSize, false));
         }
 
         private void SwigDirectorOnSizeAnimation(global::System.IntPtr animation, global::System.IntPtr targetSize)
         {
-            using (Animation setAnimation = new Animation(animation, false))
-            {
-                using (Vector3 setTargetSize = new Vector3(targetSize, false))
-                {
-                    OnSizeAnimation(setAnimation, setTargetSize);
-                }
-            }
+            OnSizeAnimation(new Animation(animation, false), new Vector3(targetSize, false));
         }
 
         private bool SwigDirectorOnKeyEvent(global::System.IntPtr arg0)
         {
-            using (Key setKey = new Key(arg0, false))
-            {
-                return OnKeyEvent(setKey);
-            }
+            return OnKeyEvent(new Key(arg0, false));
         }
 
         private void SwigDirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container)
         {
-            using (Vector2 setSize = new Vector2(size, false))
-            {
-                using (RelayoutContainer setContainer = new RelayoutContainer(container, false))
-                {
-                    OnRelayout(setSize, setContainer);
-                }
-            }
+            OnRelayout(new Vector2(size, false), new RelayoutContainer(container, false));
         }
 
         private void SwigDirectorOnSetResizePolicy(int policy, int dimension)
@@ -682,10 +715,7 @@ namespace Tizen.NUI
 
         private bool SwigDirectorOnAccessibilityPan(global::System.IntPtr gesture)
         {
-            using (PanGesture setPanGesture = new PanGesture(gesture, true)) 
-            {
-                return OnAccessibilityPan(setPanGesture);
-            }
+            return OnAccessibilityPan(new PanGesture(gesture, true));
         }
 
         private bool SwigDirectorOnAccessibilityValueChange(bool isIncrease)
@@ -725,50 +755,32 @@ namespace Tizen.NUI
 
         private void SwigDirectorOnPinch(global::System.IntPtr pinch)
         {
-            using (PinchGesture setPinch = new PinchGesture(pinch, false))
-            {
-                OnPinch(setPinch);
-            }
+            OnPinch(new PinchGesture(pinch, false));
         }
 
         private void SwigDirectorOnPan(global::System.IntPtr pan)
         {
-            using (PanGesture setPan = new PanGesture(pan, false))
-            {
-                OnPan(setPan);
-            }
+            OnPan(new PanGesture(pan, false));
         }
 
         private void SwigDirectorOnTap(global::System.IntPtr tap)
         {
-            using (TapGesture setTapGesture = new TapGesture(tap, false))
-            {
-                OnTap(setTapGesture);
-            }
+            OnTap(new TapGesture(tap, false));
         }
 
         private void SwigDirectorOnLongPress(global::System.IntPtr longPress)
         {
-            using (LongPressGesture setLongPress = new LongPressGesture(longPress, false))
-            {
-                OnLongPress(setLongPress);
-            }
+            OnLongPress(new LongPressGesture(longPress, false));
         }
 
         private void SwigDirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
         {
-            using (SlotObserver setSlotObserver = new SlotObserver(slotObserver, false))
-            {
-                SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : setSlotObserver, (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback));
-            }
+            SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback));
         }
 
         private void SwigDirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
         {
-            using (SlotObserver setSlotObserver = new SlotObserver(slotObserver, false))
-            {
-                SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : setSlotObserver, (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback));
-            }
+            SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback));
         }
 
         public delegate void SwigDelegateViewImpl_0(int depth);