[NUI] Clean NUI codes from Adaptor.cs to Window.cs (#652)
authorhuiyueun <35286162+huiyueun@users.noreply.github.com>
Tue, 15 Jan 2019 10:17:58 +0000 (19:17 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Tue, 15 Jan 2019 10:17:58 +0000 (19:17 +0900)
* [NUI] Clean NUI codes from Adaptor.cs to Window.cs

Change-Id: Ic1e5458dd1b3b4ac43cff028204254ac378d2f86
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] fix codecay

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* Remove StereoMode

Change-Id: If19a2e403114bf5375e914584e1e7fa513f7d889

* Sync dalihub and Samsung's TizenFX codes

Change-Id: I634fbe56ff9772c05f5ba59736289b3eca7d3def
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] Remove deprecated APIs in native DALi

Change-Id: Icc5d90e6e5752fc3b24ce3ea29cd11a89280b4b7
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
* [fix codecay]

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] Add test sample for C# binding of MatchSystemLanguageDirection

Change-Id: I0ac4e82c0e026ee1c5074ec00fb4677c4690ddfe

* [NUI] Clean code: BaseComponents,UIComponents,CustomView

Change-Id: I6fbd47154f179ba3a908d140f0cfb267c1e76c2d

125 files changed:
src/Tizen.NUI/src/internal/Application.cs
src/Tizen.NUI/src/internal/DaliEnumConstants.cs
src/Tizen.NUI/src/internal/DisposeQueue.cs
src/Tizen.NUI/src/internal/Layouting/LayoutGroup.cs
src/Tizen.NUI/src/internal/ManualPINVOKE.cs [changed mode: 0644->0755]
src/Tizen.NUI/src/internal/NDalicPINVOKE.cs
src/Tizen.NUI/src/internal/NUICoreBackend.cs
src/Tizen.NUI/src/internal/VersionCheck.cs
src/Tizen.NUI/src/internal/ViewMode.cs [deleted file]
src/Tizen.NUI/src/internal/WatchApplication.cs
src/Tizen.NUI/src/internal/WebView.cs
src/Tizen.NUI/src/internal/Xaml/ApplyPropertiesVisitor.cs
src/Tizen.NUI/src/internal/Xaml/CreateValuesVisitor.cs
src/Tizen.NUI/src/internal/Xaml/MarkupExpressionParser.cs
src/Tizen.NUI/src/internal/Xaml/MarkupExtensions/StaticExtension.cs
src/Tizen.NUI/src/internal/XamlBinding/BindablePropertyConverter.cs
src/Tizen.NUI/src/internal/XamlBinding/Binding.cs
src/Tizen.NUI/src/internal/XamlBinding/BindingExpression.cs
src/Tizen.NUI/src/internal/XamlBinding/SynchronizedList.cs
src/Tizen.NUI/src/internal/XamlBinding/TizenPlatformServices.cs
src/Tizen.NUI/src/public/Adaptor.cs
src/Tizen.NUI/src/public/AlphaFunction.cs
src/Tizen.NUI/src/public/Animatable.cs
src/Tizen.NUI/src/public/Animation.cs
src/Tizen.NUI/src/public/BaseComponents/CustomView.cs
src/Tizen.NUI/src/public/BaseComponents/FlexContainer.cs
src/Tizen.NUI/src/public/BaseComponents/ImageView.cs
src/Tizen.NUI/src/public/BaseComponents/Scrollable.cs
src/Tizen.NUI/src/public/BaseComponents/TableView.cs
src/Tizen.NUI/src/public/BaseComponents/TextEditor.cs
src/Tizen.NUI/src/public/BaseComponents/TextField.cs
src/Tizen.NUI/src/public/BaseComponents/TextLabel.cs
src/Tizen.NUI/src/public/BaseComponents/VideoView.cs
src/Tizen.NUI/src/public/BaseComponents/View.cs
src/Tizen.NUI/src/public/BaseComponents/VisualView.cs
src/Tizen.NUI/src/public/BaseHandle.cs
src/Tizen.NUI/src/public/Color.cs
src/Tizen.NUI/src/public/Container.cs
src/Tizen.NUI/src/public/CustomView/Spin.cs
src/Tizen.NUI/src/public/CustomViewRegistry.cs
src/Tizen.NUI/src/public/Degree.cs
src/Tizen.NUI/src/public/Extents.cs
src/Tizen.NUI/src/public/FilterModeType.cs [changed mode: 0644->0755]
src/Tizen.NUI/src/public/FocusManager.cs
src/Tizen.NUI/src/public/FontClient.cs
src/Tizen.NUI/src/public/Geometry.cs
src/Tizen.NUI/src/public/Gesture.cs
src/Tizen.NUI/src/public/GestureDetector.cs
src/Tizen.NUI/src/public/Hover.cs
src/Tizen.NUI/src/public/ImageLoading.cs
src/Tizen.NUI/src/public/ImfManager.cs
src/Tizen.NUI/src/public/InputMethod.cs
src/Tizen.NUI/src/public/InputMethodContext.cs
src/Tizen.NUI/src/public/Key.cs
src/Tizen.NUI/src/public/KeyFrames.cs
src/Tizen.NUI/src/public/Layer.cs
src/Tizen.NUI/src/public/LongPressGesture.cs
src/Tizen.NUI/src/public/LongPressGestureDetector.cs
src/Tizen.NUI/src/public/NUIApplication.cs
src/Tizen.NUI/src/public/NUIConstants.cs
src/Tizen.NUI/src/public/NUIWidgetApplication.cs
src/Tizen.NUI/src/public/PaddingType.cs
src/Tizen.NUI/src/public/PanGesture.cs
src/Tizen.NUI/src/public/PanGestureDetector.cs
src/Tizen.NUI/src/public/Path.cs
src/Tizen.NUI/src/public/PinchGesture.cs
src/Tizen.NUI/src/public/PinchGestureDetector.cs
src/Tizen.NUI/src/public/PixelBuffer.cs
src/Tizen.NUI/src/public/PixelData.cs
src/Tizen.NUI/src/public/Position.cs
src/Tizen.NUI/src/public/Position2D.cs
src/Tizen.NUI/src/public/Property.cs
src/Tizen.NUI/src/public/PropertyBuffer.cs
src/Tizen.NUI/src/public/PropertyCondition.cs
src/Tizen.NUI/src/public/PropertyNotification.cs
src/Tizen.NUI/src/public/PropertyNotifySignal.cs
src/Tizen.NUI/src/public/Radian.cs
src/Tizen.NUI/src/public/Rectangle.cs
src/Tizen.NUI/src/public/RelativeVector2.cs
src/Tizen.NUI/src/public/RelativeVector3.cs
src/Tizen.NUI/src/public/RelativeVector4.cs
src/Tizen.NUI/src/public/RelayoutContainer.cs
src/Tizen.NUI/src/public/Renderer.cs
src/Tizen.NUI/src/public/Rotation.cs
src/Tizen.NUI/src/public/Sampler.cs
src/Tizen.NUI/src/public/ScrollViewEffect.cs
src/Tizen.NUI/src/public/ScrollViewPagePathEffect.cs
src/Tizen.NUI/src/public/Shader.cs
src/Tizen.NUI/src/public/Size.cs
src/Tizen.NUI/src/public/Size2D.cs
src/Tizen.NUI/src/public/StyleManager.cs [changed mode: 0644->0755]
src/Tizen.NUI/src/public/TTSPlayer.cs [changed mode: 0644->0755]
src/Tizen.NUI/src/public/TapGesture.cs
src/Tizen.NUI/src/public/TapGestureDetector.cs
src/Tizen.NUI/src/public/Texture.cs
src/Tizen.NUI/src/public/TextureSet.cs
src/Tizen.NUI/src/public/Timer.cs
src/Tizen.NUI/src/public/Touch.cs
src/Tizen.NUI/src/public/TransitionData.cs
src/Tizen.NUI/src/public/TypeInfo.cs
src/Tizen.NUI/src/public/TypeRegistry.cs
src/Tizen.NUI/src/public/UIComponents/Button.cs
src/Tizen.NUI/src/public/UIComponents/CheckBoxButton.cs
src/Tizen.NUI/src/public/UIComponents/Popup.cs
src/Tizen.NUI/src/public/UIComponents/ProgressBar.cs
src/Tizen.NUI/src/public/UIComponents/PushButton.cs
src/Tizen.NUI/src/public/UIComponents/RadioButton.cs
src/Tizen.NUI/src/public/UIComponents/ScrollBar.cs
src/Tizen.NUI/src/public/UIComponents/ScrollView.cs
src/Tizen.NUI/src/public/UIComponents/Slider.cs
src/Tizen.NUI/src/public/UIComponents/ToggleButton.cs
src/Tizen.NUI/src/public/Vector2.cs
src/Tizen.NUI/src/public/Vector3.cs
src/Tizen.NUI/src/public/Vector4.cs
src/Tizen.NUI/src/public/ViewWrapper.cs
src/Tizen.NUI/src/public/VisualBase.cs
src/Tizen.NUI/src/public/VisualFactory.cs
src/Tizen.NUI/src/public/VisualMaps.cs
src/Tizen.NUI/src/public/WatchTime.cs
src/Tizen.NUI/src/public/Wheel.cs
src/Tizen.NUI/src/public/Widget.cs
src/Tizen.NUI/src/public/WidgetView.cs
src/Tizen.NUI/src/public/WidgetViewManager.cs
src/Tizen.NUI/src/public/Window.cs
test/NUITestSample/NUITestSample/examples/text-test3.cs [new file with mode: 0755]

index dc868c8..e44d802 100755 (executable)
@@ -432,7 +432,7 @@ namespace Tizen.NUI
         ResourceDictionary _resources;
         public bool IsResourcesCreated => _resources != null;
 
-        public delegate void resChangeCb (object sender, ResourcesChangedEventArgs e);
+        public delegate void resChangeCb(object sender, ResourcesChangedEventArgs e);
 
         static private Dictionary<object, Dictionary<resChangeCb, int>> resourceChangeCallbackDict = new Dictionary<object, Dictionary<resChangeCb, int>>();
         static public void AddResourceChangedCallback(object handle, resChangeCb cb)
@@ -956,15 +956,11 @@ namespace Tizen.NUI
             // Initialize DisposeQueue Singleton class. This is also required to create DisposeQueue on main thread.
             DisposeQueue.Instance.Initialize();
 
-            NUIApplicationInitEventArgs e = new NUIApplicationInitEventArgs();
-            // Populate all members of "e" (NUIApplicationInitEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationInitEventHandler != null)
             {
-                if (_applicationInitEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationInitEventHandler(this, e);
-                }
+                NUIApplicationInitEventArgs e = new NUIApplicationInitEventArgs();
+                e.Application = this;
+                _applicationInitEventHandler.Invoke(this, e);
             }
 
         }
@@ -1007,17 +1003,14 @@ namespace Tizen.NUI
         // Callback for Application TerminateSignal
         private void OnNUIApplicationTerminate(IntPtr data)
         {
-            NUIApplicationTerminatingEventArgs e = new NUIApplicationTerminatingEventArgs();
-
-            // Populate all members of "e" (NUIApplicationTerminateEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationTerminateEventHandler != null)
             {
-                if (_applicationTerminateEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationTerminateEventHandler(this, e);
-                }
+                NUIApplicationTerminatingEventArgs e = new NUIApplicationTerminatingEventArgs();
+                e.Application = this;
+                _applicationTerminateEventHandler.Invoke(this, e);
             }
+
+            Window.Instance.DisconnectNativeSignals();
         }
 
         /**
@@ -1058,16 +1051,11 @@ namespace Tizen.NUI
         // Callback for Application PauseSignal
         private void OnNUIApplicationPause(IntPtr data)
         {
-            NUIApplicationPausedEventArgs e = new NUIApplicationPausedEventArgs();
-
-            // Populate all members of "e" (NUIApplicationPauseEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationPauseEventHandler != null)
             {
-                if (_applicationPauseEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationPauseEventHandler(this, e);
-                }
+                NUIApplicationPausedEventArgs e = new NUIApplicationPausedEventArgs();
+                e.Application = this;
+                _applicationPauseEventHandler.Invoke(this, e);
             }
         }
 
@@ -1109,16 +1097,11 @@ namespace Tizen.NUI
         // Callback for Application ResumeSignal
         private void OnNUIApplicationResume(IntPtr data)
         {
-            NUIApplicationResumedEventArgs e = new NUIApplicationResumedEventArgs();
-
-            // Populate all members of "e" (NUIApplicationResumeEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationResumeEventHandler != null)
             {
-                if (_applicationResumeEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationResumeEventHandler(this, e);
-                }
+                NUIApplicationResumedEventArgs e = new NUIApplicationResumedEventArgs();
+                e.Application = this;
+                _applicationResumeEventHandler.Invoke(this, e);
             }
         }
 
@@ -1160,16 +1143,11 @@ namespace Tizen.NUI
         // Callback for Application ResetSignal
         private void OnNUIApplicationReset(IntPtr data)
         {
-            NUIApplicationResetEventArgs e = new NUIApplicationResetEventArgs();
-
-            // Populate all members of "e" (NUIApplicationResetEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationResetEventHandler != null)
             {
-                if (_applicationResetEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationResetEventHandler(this, e);
-                }
+                NUIApplicationResetEventArgs e = new NUIApplicationResetEventArgs();
+                e.Application = this;
+                _applicationResetEventHandler.Invoke(this, e);
             }
         }
 
@@ -1211,16 +1189,11 @@ namespace Tizen.NUI
         // Callback for Application ResizeSignal
         private void OnNUIApplicationResize(IntPtr data)
         {
-            NUIApplicationResizedEventArgs e = new NUIApplicationResizedEventArgs();
-
-            // Populate all members of "e" (NUIApplicationResizeEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationResizeEventHandler != null)
             {
-                if (_applicationResizeEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationResizeEventHandler(this, e);
-                }
+                NUIApplicationResizedEventArgs e = new NUIApplicationResizedEventArgs();
+                e.Application = this;
+                _applicationResizeEventHandler.Invoke(this, e);
             }
         }
 
@@ -1262,16 +1235,11 @@ namespace Tizen.NUI
         // Callback for Application LanguageChangedSignal
         private void OnNUIApplicationLanguageChanged(IntPtr data)
         {
-            NUIApplicationLanguageChangedEventArgs e = new NUIApplicationLanguageChangedEventArgs();
-
-            // Populate all members of "e" (NUIApplicationLanguageChangedEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationLanguageChangedEventHandler != null)
             {
-                if (_applicationLanguageChangedEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationLanguageChangedEventHandler(this, e);
-                }
+                NUIApplicationLanguageChangedEventArgs e = new NUIApplicationLanguageChangedEventArgs();
+                e.Application = this;
+                _applicationLanguageChangedEventHandler.Invoke(this, e);
             }
         }
 
@@ -1313,16 +1281,11 @@ namespace Tizen.NUI
         // Callback for Application RegionChangedSignal
         private void OnNUIApplicationRegionChanged(IntPtr data)
         {
-            NUIApplicationRegionChangedEventArgs e = new NUIApplicationRegionChangedEventArgs();
-
-            // Populate all members of "e" (NUIApplicationRegionChangedEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(data))
+            if (_applicationRegionChangedEventHandler != null)
             {
-                if (_applicationRegionChangedEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationRegionChangedEventHandler(this, e);
-                }
+                NUIApplicationRegionChangedEventArgs e = new NUIApplicationRegionChangedEventArgs();
+                e.Application = this;
+                _applicationRegionChangedEventHandler.Invoke(this, e);
             }
         }
 
@@ -1368,12 +1331,7 @@ namespace Tizen.NUI
 
             // Populate all members of "e" (NUIApplicationBatteryLowEventArgs) with real data
             e.BatteryStatus = status;
-
-            if (_applicationBatteryLowEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _applicationBatteryLowEventHandler(this, e);
-            }
+            _applicationBatteryLowEventHandler?.Invoke(this, e);
         }
 
         /**
@@ -1418,12 +1376,7 @@ namespace Tizen.NUI
 
             // Populate all members of "e" (NUIApplicationMemoryLowEventArgs) with real data
             e.MemoryStatus = status;
-
-            if (_applicationMemoryLowEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _applicationMemoryLowEventHandler(this, e);
-            }
+            _applicationMemoryLowEventHandler?.Invoke(this, e);
         }
 
         /**
@@ -1464,17 +1417,12 @@ namespace Tizen.NUI
         // Callback for Application AppControlSignal
         private void OnNUIApplicationAppControl(IntPtr application, IntPtr voidp)
         {
-            NUIApplicationAppControlEventArgs e = new NUIApplicationAppControlEventArgs();
-            e.VoidP = voidp;
-
-            // Populate all members of "e" (NUIApplicationAppControlEventArgs) with real data
-            using (e.Application = Application.GetApplicationFromPtr(application))
+            if (_applicationAppControlEventHandler != null)
             {
-                if (_applicationAppControlEventHandler != null)
-                {
-                    //here we send all data to user event handlers
-                    _applicationAppControlEventHandler(this, e);
-                }
+                NUIApplicationAppControlEventArgs e = new NUIApplicationAppControlEventArgs();
+                e.VoidP = voidp;
+                e.Application = this;
+                _applicationAppControlEventHandler.Invoke(this, e);
             }
         }
 
@@ -1490,7 +1438,12 @@ namespace Tizen.NUI
 
         public static Application GetApplicationFromPtr(global::System.IntPtr cPtr)
         {
-            Application ret = new Application(cPtr, false);
+            if (cPtr == global::System.IntPtr.Zero)
+            {
+                return null;
+            }
+
+            Application ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Application;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -1662,32 +1615,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void SetViewMode(ViewMode viewMode)
-        {
-            NDalicPINVOKE.Application_SetViewMode(swigCPtr, (int)viewMode);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal ViewMode GetViewMode()
-        {
-            ViewMode ret = (ViewMode)NDalicPINVOKE.Application_GetViewMode(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        public void SetStereoBase(float stereoBase)
-        {
-            NDalicPINVOKE.Application_SetStereoBase(swigCPtr, stereoBase);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        public float GetStereoBase()
-        {
-            float ret = NDalicPINVOKE.Application_GetStereoBase(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         public string GetLanguage()
         {
             string ret = NDalicPINVOKE.Application_GetLanguage(swigCPtr);
index be815da..04d68cf 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,53 +21,25 @@ using System.Runtime.CompilerServices;
 
 namespace Tizen.NUI
 {
-  namespace Constants
-  {
-    /// <summary>
-    /// Enumeration for texture types.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum TextureType
+    namespace Constants
     {
-            /// <summary>
-            /// One 2D image
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Texture2D = Tizen.NUI.TextureType.TEXTURE_2D,
-            /// <summary>
-            /// Six 2D images arranged in a cube-shape
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TextureCube = Tizen.NUI.TextureType.TEXTURE_CUBE
-    }
-
-    /// <summary>
-    /// Enumeration for stereoscopic view modes.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum ViewMode
-    {
-            /// <summary>
-            /// Monoscopic (single camera). This is the default.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Mono = Tizen.NUI.ViewMode.MONO,
-            /// <summary>
-            /// Stereoscopic. Frame buffer is split horizontally with the left and right camera views in their respective sides.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            StereoHorizontal = Tizen.NUI.ViewMode.STEREO_HORIZONTAL,
-            /// <summary>
-            /// Stereoscopic. Frame buffer is split vertically with the left camera view at the top and the right camera view at the bottom.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            StereoVertical = Tizen.NUI.ViewMode.STEREO_VERTICAL,
-            /// <summary>
-            /// Stereoscopic. Left/Right camera views are rendered into the framebuffer on alternate frames.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            StereoInterlaced = Tizen.NUI.ViewMode.STEREO_INTERLACED
-    }
+        /// <summary>
+        /// Enumeration for texture types.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum TextureType
+        {
+                /// <summary>
+                /// One 2D image
+                /// </summary>
+                /// <since_tizen> 3 </since_tizen>
+                Texture2D = Tizen.NUI.TextureType.TEXTURE_2D,
+                /// <summary>
+                /// Six 2D images arranged in a cube-shape
+                /// </summary>
+                /// <since_tizen> 3 </since_tizen>
+                TextureCube = Tizen.NUI.TextureType.TEXTURE_CUBE
+        }
 
         /// <summary>
         /// Enumeration for the direction
@@ -94,8 +66,6 @@ namespace Tizen.NUI
             }
         }
 
-
-
         /// <summary>
         /// ToolTip
         /// </summary>
index dc75e9c..2f8e275 100755 (executable)
@@ -58,7 +58,7 @@ namespace Tizen.NUI
             }
         }
 
-        private void ProcessDisposables()
+        public void ProcessDisposables()
         {
             lock (_listLock)
             {
index f96af9d..a838e83 100755 (executable)
@@ -129,7 +129,6 @@ namespace Tizen.NUI
         protected override void OnLayout(bool changed, LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom)
         {
             Log.Info("NUI", "OnLayout\n");
-
             for( uint i = 0; i < ChildCount; ++i )
             {
                 var childLayout = GetChildAt( i );
old mode 100644 (file)
new mode 100755 (executable)
index 8d51bef..94a86c0
@@ -6478,42 +6478,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetViewMode")]
-        public static extern void Adaptor_SetViewMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetViewMode")]
-        public static extern void Adaptor_SetViewMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-        public static void Adaptor_SetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                Adaptor_SetViewMode_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                Adaptor_SetViewMode_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetStereoBase")]
-        public static extern void Adaptor_SetStereoBase_gl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetStereoBase")]
-        public static extern void Adaptor_SetStereoBase_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
-
-        public static void Adaptor_SetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                Adaptor_SetStereoBase_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                Adaptor_SetStereoBase_gl(jarg1, jarg2);
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_ResizedSignal")]
         public static extern global::System.IntPtr Adaptor_ResizedSignal_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
@@ -10393,6 +10357,60 @@ namespace Tizen.NUI
             }
         }
 
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
+        public static extern int TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
+        public static extern int TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
+
+        public static int TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get()
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                return TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
+            }
+            else
+            {
+                return TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
+            }
+        }
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
+        public static extern int TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
+        public static extern int TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
+
+        public static int TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get()
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                return TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
+            }
+            else
+            {
+                return TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
+            }
+        }
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
+        public static extern int TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
+        public static extern int TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
+
+        public static int TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get()
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                return TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
+            }
+            else
+            {
+                return TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
+            }
+        }
+
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_ImageView_IMAGE_VISUAL_ACTION_RELOAD_get")]
         public static extern int ImageView_IMAGE_VISUAL_ACTION_RELOAD_get_gl();
 
index 3f9b2a9..95ba653 100755 (executable)
@@ -205,6 +205,29 @@ namespace Tizen.NUI
                                           argumentNullDelegate,
                                           argumentOutOfRangeDelegate);
             }
+
+            //Workaround for Vulkan. should be removed.
+            internal void SetAgain()
+            {
+                SWIGRegisterExceptionCallbacks_NDalic(
+                          applicationDelegate,
+                          arithmeticDelegate,
+                          divideByZeroDelegate,
+                          indexOutOfRangeDelegate,
+                          invalidCastDelegate,
+                          invalidOperationDelegate,
+                          ioDelegate,
+                          nullReferenceDelegate,
+                          outOfMemoryDelegate,
+                          overflowDelegate,
+                          systemDelegate);
+
+                SWIGRegisterExceptionCallbacksArgument_NDalic(
+                                          argumentDelegate,
+                                          argumentNullDelegate,
+                                          argumentOutOfRangeDelegate);
+            }
+
         }
 
         protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();
@@ -296,10 +319,24 @@ namespace Tizen.NUI
             {
                 SWIGRegisterStringCallback_NDalic(stringDelegate);
             }
+
+            //Workaround for Vulkan. should be removed.
+            internal void SetAgain()
+            {
+                SWIGRegisterStringCallback_NDalic(stringDelegate);
+            }
         }
 
         static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();
 
+        //Workaround for Vulkan. should be removed.
+        internal static void SetAgainExceptionHelperAndStringHelper()
+        {
+            swigExceptionHelper.SetAgain();
+            swigStringHelper.SetAgain();
+            Tizen.Log.Error("NUI", $"[NOT ERROR] SetAgainExceptionHelperAndStringHelper()");
+        }
+
 
         static NDalicPINVOKE()
         {
@@ -19404,24 +19441,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Actor_Property_POSITION_INHERITANCE_get")]
-        public static extern int Actor_Property_POSITION_INHERITANCE_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Actor_Property_POSITION_INHERITANCE_get")]
-        public static extern int Actor_Property_POSITION_INHERITANCE_get_vulkan();
-
-        public static int Actor_Property_POSITION_INHERITANCE_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return Actor_Property_POSITION_INHERITANCE_get_vulkan();
-            }
-            else
-            {
-                return Actor_Property_POSITION_INHERITANCE_get_gl();
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Actor_Property_DRAW_MODE_get")]
         public static extern int Actor_Property_DRAW_MODE_get_gl();
 
@@ -20430,24 +20449,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Actor_GetPositionInheritanceMode")]
-        public static extern int Actor_GetPositionInheritanceMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Actor_GetPositionInheritanceMode")]
-        public static extern int Actor_GetPositionInheritanceMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static int Actor_GetPositionInheritanceMode(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return Actor_GetPositionInheritanceMode_vulkan(jarg1);
-            }
-            else
-            {
-                return Actor_GetPositionInheritanceMode_gl(jarg1);
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Actor_IsPositionInherited")]
         public static extern bool Actor_IsPositionInherited_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
@@ -36828,6 +36829,24 @@ namespace Tizen.NUI
             }
         }
 
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Window_SetPositionSize")]
+        public static extern void Window_SetPositionSize_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Window_SetPositionSize")]
+        public static extern void Window_SetPositionSize_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        public static void Window_SetPositionSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                Window_SetPositionSize_vulkan(jarg1, jarg2);
+            }
+            else
+            {
+                Window_SetPositionSize_gl(jarg1, jarg2);
+            }
+        }
+
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_New__SWIG_0")]
         public static extern global::System.IntPtr Application_New__SWIG_0_gl();
 
@@ -37155,78 +37174,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetViewMode")]
-        public static extern void Application_SetViewMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetViewMode")]
-        public static extern void Application_SetViewMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-        public static void Application_SetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                Application_SetViewMode_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                Application_SetViewMode_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetViewMode")]
-        public static extern int Application_GetViewMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetViewMode")]
-        public static extern int Application_GetViewMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static int Application_GetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return Application_GetViewMode_vulkan(jarg1);
-            }
-            else
-            {
-                return Application_GetViewMode_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetStereoBase")]
-        public static extern void Application_SetStereoBase_gl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetStereoBase")]
-        public static extern void Application_SetStereoBase_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
-
-        public static void Application_SetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                Application_SetStereoBase_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                Application_SetStereoBase_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetStereoBase")]
-        public static extern float Application_GetStereoBase_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetStereoBase")]
-        public static extern float Application_GetStereoBase_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static float Application_GetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return Application_GetStereoBase_vulkan(jarg1);
-            }
-            else
-            {
-                return Application_GetStereoBase_gl(jarg1);
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetLanguage")]
         public static extern string Application_GetLanguage_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
@@ -54236,42 +54183,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextField_Property_SHADOW_OFFSET_get")]
-        public static extern int TextField_Property_SHADOW_OFFSET_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextField_Property_SHADOW_OFFSET_get")]
-        public static extern int TextField_Property_SHADOW_OFFSET_get_vulkan();
-
-        public static int TextField_Property_SHADOW_OFFSET_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextField_Property_SHADOW_OFFSET_get_vulkan();
-            }
-            else
-            {
-                return TextField_Property_SHADOW_OFFSET_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextField_Property_SHADOW_COLOR_get")]
-        public static extern int TextField_Property_SHADOW_COLOR_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextField_Property_SHADOW_COLOR_get")]
-        public static extern int TextField_Property_SHADOW_COLOR_get_vulkan();
-
-        public static int TextField_Property_SHADOW_COLOR_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextField_Property_SHADOW_COLOR_get_vulkan();
-            }
-            else
-            {
-                return TextField_Property_SHADOW_COLOR_get_gl();
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextField_Property_PRIMARY_CURSOR_COLOR_get")]
         public static extern int TextField_Property_PRIMARY_CURSOR_COLOR_get_gl();
 
@@ -55262,96 +55173,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_SHADOW_OFFSET_get")]
-        public static extern int TextLabel_Property_SHADOW_OFFSET_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_SHADOW_OFFSET_get")]
-        public static extern int TextLabel_Property_SHADOW_OFFSET_get_vulkan();
-
-        public static int TextLabel_Property_SHADOW_OFFSET_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextLabel_Property_SHADOW_OFFSET_get_vulkan();
-            }
-            else
-            {
-                return TextLabel_Property_SHADOW_OFFSET_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_SHADOW_COLOR_get")]
-        public static extern int TextLabel_Property_SHADOW_COLOR_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_SHADOW_COLOR_get")]
-        public static extern int TextLabel_Property_SHADOW_COLOR_get_vulkan();
-
-        public static int TextLabel_Property_SHADOW_COLOR_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextLabel_Property_SHADOW_COLOR_get_vulkan();
-            }
-            else
-            {
-                return TextLabel_Property_SHADOW_COLOR_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_UNDERLINE_ENABLED_get")]
-        public static extern int TextLabel_Property_UNDERLINE_ENABLED_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_UNDERLINE_ENABLED_get")]
-        public static extern int TextLabel_Property_UNDERLINE_ENABLED_get_vulkan();
-
-        public static int TextLabel_Property_UNDERLINE_ENABLED_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextLabel_Property_UNDERLINE_ENABLED_get_vulkan();
-            }
-            else
-            {
-                return TextLabel_Property_UNDERLINE_ENABLED_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_UNDERLINE_COLOR_get")]
-        public static extern int TextLabel_Property_UNDERLINE_COLOR_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_UNDERLINE_COLOR_get")]
-        public static extern int TextLabel_Property_UNDERLINE_COLOR_get_vulkan();
-
-        public static int TextLabel_Property_UNDERLINE_COLOR_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextLabel_Property_UNDERLINE_COLOR_get_vulkan();
-            }
-            else
-            {
-                return TextLabel_Property_UNDERLINE_COLOR_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_UNDERLINE_HEIGHT_get")]
-        public static extern int TextLabel_Property_UNDERLINE_HEIGHT_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_UNDERLINE_HEIGHT_get")]
-        public static extern int TextLabel_Property_UNDERLINE_HEIGHT_get_vulkan();
-
-        public static int TextLabel_Property_UNDERLINE_HEIGHT_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextLabel_Property_UNDERLINE_HEIGHT_get_vulkan();
-            }
-            else
-            {
-                return TextLabel_Property_UNDERLINE_HEIGHT_get_gl();
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_TextLabel_Property_ENABLE_MARKUP_get")]
         public static extern int TextLabel_Property_ENABLE_MARKUP_get_gl();
 
@@ -67221,453 +67042,93 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Empty")]
-        public static extern bool WebViewSignal_Empty_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Empty")]
-        public static extern bool WebViewSignal_Empty_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static bool WebViewSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewSignal_Empty_vulkan(jarg1);
-            }
-            else
-            {
-                return WebViewSignal_Empty_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_GetConnectionCount")]
-        public static extern uint WebViewSignal_GetConnectionCount_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewSignalProxy_PageLoadStarted")]
+        public static extern global::System.IntPtr new_WebViewSignalProxy_PageLoadStarted_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_GetConnectionCount")]
-        public static extern uint WebViewSignal_GetConnectionCount_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewSignalProxy_PageLoadStarted")]
+        public static extern global::System.IntPtr new_WebViewSignalProxy_PageLoadStarted_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        public static uint WebViewSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1)
+        public static global::System.IntPtr new_WebViewSignalProxy_PageLoadStarted(global::System.Runtime.InteropServices.HandleRef jarg1)
         {
             if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
             {
-                return WebViewSignal_GetConnectionCount_vulkan(jarg1);
+                return new_WebViewSignalProxy_PageLoadStarted_vulkan(jarg1);
             }
             else
             {
-                return WebViewSignal_GetConnectionCount_gl(jarg1);
+                return new_WebViewSignalProxy_PageLoadStarted_gl(jarg1);
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Connect")]
-        public static extern void WebViewSignal_Connect_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewSignalProxy_PageLoadFinished")]
+        public static extern global::System.IntPtr new_WebViewSignalProxy_PageLoadFinished_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Connect")]
-        public static extern void WebViewSignal_Connect_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewSignalProxy_PageLoadFinished")]
+        public static extern global::System.IntPtr new_WebViewSignalProxy_PageLoadFinished_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        public static void WebViewSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
+        public static global::System.IntPtr new_WebViewSignalProxy_PageLoadFinished(global::System.Runtime.InteropServices.HandleRef jarg1)
         {
             if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
             {
-                WebViewSignal_Connect_vulkan(jarg1, jarg2);
+                return new_WebViewSignalProxy_PageLoadFinished_vulkan(jarg1);
             }
             else
             {
-                WebViewSignal_Connect_gl(jarg1, jarg2);
+                return new_WebViewSignalProxy_PageLoadFinished_gl(jarg1);
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Disconnect")]
-        public static extern void WebViewSignal_Disconnect_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewSignalProxy")]
+        public static extern void delete_WebViewSignalProxy_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Disconnect")]
-        public static extern void WebViewSignal_Disconnect_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewSignalProxy")]
+        public static extern void delete_WebViewSignalProxy_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        public static void WebViewSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
+        public static void delete_WebViewSignalProxy(global::System.Runtime.InteropServices.HandleRef jarg1)
         {
             if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
             {
-                WebViewSignal_Disconnect_vulkan(jarg1, jarg2);
+                delete_WebViewSignalProxy_vulkan(jarg1);
             }
             else
             {
-                WebViewSignal_Disconnect_gl(jarg1, jarg2);
+                delete_WebViewSignalProxy_gl(jarg1);
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Emit")]
-        public static extern void WebViewSignal_Emit_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignalProxy_Connect")]
+        public static extern void WebViewSignalProxy_Connect_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignal_Emit")]
-        public static extern void WebViewSignal_Emit_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignalProxy_Connect")]
+        public static extern void WebViewSignalProxy_Connect_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
-        public static void WebViewSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
+        public static void WebViewSignalProxy_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
         {
             if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
             {
-                WebViewSignal_Emit_vulkan(jarg1, jarg2);
+                WebViewSignalProxy_Connect_vulkan(jarg1, jarg2);
             }
             else
             {
-                WebViewSignal_Emit_gl(jarg1, jarg2);
+                WebViewSignalProxy_Connect_gl(jarg1, jarg2);
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewSignal")]
-        public static extern global::System.IntPtr new_WebViewSignal_gl();
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignalProxy_Disconnect")]
+        public static extern void WebViewSignalProxy_Disconnect_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewSignal")]
-        public static extern global::System.IntPtr new_WebViewSignal_vulkan();
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewSignalProxy_Disconnect")]
+        public static extern void WebViewSignalProxy_Disconnect_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
-        public static global::System.IntPtr new_WebViewSignal()
+        public static void WebViewSignalProxy_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
         {
             if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
             {
-                return new_WebViewSignal_vulkan();
+                WebViewSignalProxy_Disconnect_vulkan(jarg1, jarg2);
             }
             else
             {
-                return new_WebViewSignal_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewSignal")]
-        public static extern void delete_WebViewSignal_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewSignal")]
-        public static extern void delete_WebViewSignal_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static void delete_WebViewSignal(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                delete_WebViewSignal_vulkan(jarg1);
-            }
-            else
-            {
-                delete_WebViewSignal_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_New")]
-        public static extern global::System.IntPtr WebViewLite_New_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_New")]
-        public static extern global::System.IntPtr WebViewLite_New_vulkan();
-
-        public static global::System.IntPtr WebViewLite_New()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLite_New_vulkan();
-            }
-            else
-            {
-                return WebViewLite_New_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewLite__SWIG_0")]
-        public static extern global::System.IntPtr new_WebViewLite__SWIG_0_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewLite__SWIG_0")]
-        public static extern global::System.IntPtr new_WebViewLite__SWIG_0_vulkan();
-
-        public static global::System.IntPtr new_WebViewLite__SWIG_0()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return new_WebViewLite__SWIG_0_vulkan();
-            }
-            else
-            {
-                return new_WebViewLite__SWIG_0_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewLite")]
-        public static extern void delete_WebViewLite_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewLite")]
-        public static extern void delete_WebViewLite_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static void delete_WebViewLite(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                delete_WebViewLite_vulkan(jarg1);
-            }
-            else
-            {
-                delete_WebViewLite_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewLite__SWIG_1")]
-        public static extern global::System.IntPtr new_WebViewLite__SWIG_1_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewLite__SWIG_1")]
-        public static extern global::System.IntPtr new_WebViewLite__SWIG_1_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static global::System.IntPtr new_WebViewLite__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return new_WebViewLite__SWIG_1_vulkan(jarg1);
-            }
-            else
-            {
-                return new_WebViewLite__SWIG_1_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_Assign")]
-        public static extern global::System.IntPtr WebViewLite_Assign_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_Assign")]
-        public static extern global::System.IntPtr WebViewLite_Assign_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        public static global::System.IntPtr WebViewLite_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLite_Assign_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                return WebViewLite_Assign_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_DownCast")]
-        public static extern global::System.IntPtr WebViewLite_DownCast_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_DownCast")]
-        public static extern global::System.IntPtr WebViewLite_DownCast_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static global::System.IntPtr WebViewLite_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLite_DownCast_vulkan(jarg1);
-            }
-            else
-            {
-                return WebViewLite_DownCast_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_CreateInstance")]
-        public static extern void WebViewLite_CreateInstance_gl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_CreateInstance")]
-        public static extern void WebViewLite_CreateInstance_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7);
-
-        public static void WebViewLite_CreateInstance(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                WebViewLite_CreateInstance_vulkan(jarg1, jarg2, jarg3, jarg4, jarg5, jarg6, jarg7);
-            }
-            else
-            {
-                WebViewLite_CreateInstance_gl(jarg1, jarg2, jarg3, jarg4, jarg5, jarg6, jarg7);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_DestroyInstance")]
-        public static extern void WebViewLite_DestroyInstance_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_DestroyInstance")]
-        public static extern void WebViewLite_DestroyInstance_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static void WebViewLite_DestroyInstance(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                WebViewLite_DestroyInstance_vulkan(jarg1);
-            }
-            else
-            {
-                WebViewLite_DestroyInstance_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_LoadHtml")]
-        public static extern void WebViewLite_LoadHtml_gl(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_LoadHtml")]
-        public static extern void WebViewLite_LoadHtml_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
-
-        public static void WebViewLite_LoadHtml(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                WebViewLite_LoadHtml_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                WebViewLite_LoadHtml_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_FinishedSignal")]
-        public static extern global::System.IntPtr WebViewLite_FinishedSignal_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_FinishedSignal")]
-        public static extern global::System.IntPtr WebViewLite_FinishedSignal_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static global::System.IntPtr WebViewLite_FinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLite_FinishedSignal_vulkan(jarg1);
-            }
-            else
-            {
-                return WebViewLite_FinishedSignal_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Empty")]
-        public static extern bool WebViewLiteSignal_Empty_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Empty")]
-        public static extern bool WebViewLiteSignal_Empty_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static bool WebViewLiteSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLiteSignal_Empty_vulkan(jarg1);
-            }
-            else
-            {
-                return WebViewLiteSignal_Empty_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_GetConnectionCount")]
-        public static extern uint WebViewLiteSignal_GetConnectionCount_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_GetConnectionCount")]
-        public static extern uint WebViewLiteSignal_GetConnectionCount_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static uint WebViewLiteSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLiteSignal_GetConnectionCount_vulkan(jarg1);
-            }
-            else
-            {
-                return WebViewLiteSignal_GetConnectionCount_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Connect")]
-        public static extern void WebViewLiteSignal_Connect_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Connect")]
-        public static extern void WebViewLiteSignal_Connect_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        public static void WebViewLiteSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                WebViewLiteSignal_Connect_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                WebViewLiteSignal_Connect_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Disconnect")]
-        public static extern void WebViewLiteSignal_Disconnect_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Disconnect")]
-        public static extern void WebViewLiteSignal_Disconnect_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        public static void WebViewLiteSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                WebViewLiteSignal_Disconnect_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                WebViewLiteSignal_Disconnect_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Emit")]
-        public static extern void WebViewLiteSignal_Emit_gl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLiteSignal_Emit")]
-        public static extern void WebViewLiteSignal_Emit_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-        public static void WebViewLiteSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                WebViewLiteSignal_Emit_vulkan(jarg1, jarg2);
-            }
-            else
-            {
-                WebViewLiteSignal_Emit_gl(jarg1, jarg2);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewLiteSignal")]
-        public static extern global::System.IntPtr new_WebViewLiteSignal_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_new_WebViewLiteSignal")]
-        public static extern global::System.IntPtr new_WebViewLiteSignal_vulkan();
-
-        public static global::System.IntPtr new_WebViewLiteSignal()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return new_WebViewLiteSignal_vulkan();
-            }
-            else
-            {
-                return new_WebViewLiteSignal_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewLiteSignal")]
-        public static extern void delete_WebViewLiteSignal_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_delete_WebViewLiteSignal")]
-        public static extern void delete_WebViewLiteSignal_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-        public static void delete_WebViewLiteSignal(global::System.Runtime.InteropServices.HandleRef jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                delete_WebViewLiteSignal_vulkan(jarg1);
-            }
-            else
-            {
-                delete_WebViewLiteSignal_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_SWIGUpcast")]
-        public static extern global::System.IntPtr WebViewLite_SWIGUpcast_gl(global::System.IntPtr jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_WebViewLite_SWIGUpcast")]
-        public static extern global::System.IntPtr WebViewLite_SWIGUpcast_vulkan(global::System.IntPtr jarg1);
-
-        public static global::System.IntPtr WebViewLite_SWIGUpcast(global::System.IntPtr jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return WebViewLite_SWIGUpcast_vulkan(jarg1);
-            }
-            else
-            {
-                return WebViewLite_SWIGUpcast_gl(jarg1);
+                WebViewSignalProxy_Disconnect_gl(jarg1, jarg2);
             }
         }
 
@@ -68555,42 +68016,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_SetMaxTextureSize")]
-        public static extern void SetMaxTextureSize_gl(uint jarg1);
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_SetMaxTextureSize")]
-        public static extern void SetMaxTextureSize_vulkan(uint jarg1);
-
-        public static void SetMaxTextureSize(uint jarg1)
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                SetMaxTextureSize_vulkan(jarg1);
-            }
-            else
-            {
-                SetMaxTextureSize_gl(jarg1);
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_GetMaxTextureSize")]
-        public static extern uint GetMaxTextureSize_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_GetMaxTextureSize")]
-        public static extern uint GetMaxTextureSize_vulkan();
-
-        public static uint GetMaxTextureSize()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return GetMaxTextureSize_vulkan();
-            }
-            else
-            {
-                return GetMaxTextureSize_gl();
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_GetEnvironmentVariable")]
         public static extern string EnvironmentVariable_GetEnvironmentVariable_gl(string jarg1);
 
index 336a490..94000db 100755 (executable)
@@ -159,7 +159,7 @@ namespace Tizen.NUI
         {
             Log.Info("NUI", "NUICorebackend OnRegionChanged Called");
             var handler = Handlers[EventType.RegionFormatChanged] as Action<RegionFormatChangedEventArgs>;
-            handler?.Invoke( new RegionFormatChangedEventArgs(e.Application.GetRegion()));
+            handler?.Invoke( new RegionFormatChangedEventArgs((source as Application)?.GetRegion()));
         }
 
         /// <summary>
@@ -201,7 +201,7 @@ namespace Tizen.NUI
         {
             Log.Info("NUI", "NUICorebackend OnLanguageChanged Called");
             var handler = Handlers[EventType.LocaleChanged] as Action<LocaleChangedEventArgs>;
-            handler?.Invoke( new LocaleChangedEventArgs(e.Application.GetLanguage()));
+            handler?.Invoke( new LocaleChangedEventArgs((source as Application)?.GetLanguage()));
         }
 
         /// <summary>
index 33981fd..5326936 100755 (executable)
@@ -27,7 +27,7 @@ namespace Tizen.NUI
         //from dali_1.3.28 : NUI internal API version 502
         //from dali_1.3.34 : NUI internal API version 503
         //from dali_1.3.41 : NUI internal API version 504
-        //from dali_1.3.43 : NUI internal API version 505
+        //from dali_1.3.48 : NUI internal API version 505
         public const int nuiAPIVer = 505;
         public const int reservedVer1 = 0;
         public const int reservedVer2 = 0;
@@ -42,8 +42,7 @@ namespace Tizen.NUI
             {
                 if (NDalicManualPINVOKE.InternalAPIVersionCheck(ref ver1, ref ver2, ref ver3) == true)
                 {
-                    //temporary permit 504 version. the 504 will be removed.
-                    if (ver1 != nuiAPIVer && ver1 != 504)
+                    if (ver1 != nuiAPIVer)
                     {
                         NUILog.Error($"NUI API version mismatch error! NUI API Version: ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
                         throw new System.InvalidOperationException($"NUI API version mismatch error! NUI API version should be ({nuiAPIVer}) but read version from native: ({ver1}.{ver2}.{ver3})");
@@ -66,7 +65,7 @@ namespace Tizen.NUI
         }
 
         //[Conditional("DEBUG_ON")]
-        static private void PrintDaliNativeVersion()
+        static internal void PrintDaliNativeVersion()
         {
             int ver1 = -1;
             int ver2 = -1;
diff --git a/src/Tizen.NUI/src/internal/ViewMode.cs b/src/Tizen.NUI/src/internal/ViewMode.cs
deleted file mode 100755 (executable)
index c41173c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-namespace Tizen.NUI
-{
-
-    internal enum ViewMode
-    {
-        MONO,
-        STEREO_HORIZONTAL,
-        STEREO_VERTICAL,
-        STEREO_INTERLACED
-    }
-
-}
index 32f1a73..fbd378a 100755 (executable)
@@ -209,13 +209,10 @@ namespace Tizen.NUI
         private void OnTimeTick(IntPtr application, IntPtr watchTime)
         {
             TimeTickEventArgs e = new TimeTickEventArgs();
-            using (e.Application = Application.GetApplicationFromPtr(application))
-            {
-            using (e.WatchTime = WatchTime.GetWatchTimeFromPtr(watchTime))
-            {
-                _timeTickEventHandler?.Invoke(this, e);
-            }
-            }
+            e.Application = this;
+            e.WatchTime = WatchTime.GetWatchTimeFromPtr(watchTime);
+
+            _timeTickEventHandler?.Invoke(this, e);
 
         }
 
@@ -289,13 +286,9 @@ namespace Tizen.NUI
         {
             AmbientTickEventArgs e = new AmbientTickEventArgs();
 
-            using (e.Application = Application.GetApplicationFromPtr(application))
-            {
-            using (e.WatchTime = WatchTime.GetWatchTimeFromPtr(watchTime))
-            {
-                _ambientTickEventHandler?.Invoke(this, e);
-            }
-            }
+            e.Application = this;
+            e.WatchTime = WatchTime.GetWatchTimeFromPtr(watchTime);
+            _ambientTickEventHandler?.Invoke(this, e);
         }
 
         internal WatchTimeSignal AmbientTickSignal()
@@ -367,11 +360,9 @@ namespace Tizen.NUI
         private void OnAmbientChanged(IntPtr application, bool changed)
         {
             AmbientChangedEventArgs e = new AmbientChangedEventArgs();
-            using (e.Application = Application.GetApplicationFromPtr(application))
-            {
-                e.Changed = changed;
-                _ambientChangedEventHandler?.Invoke(this, e);
-            }
+            e.Application = this;
+            e.Changed = changed;
+            _ambientChangedEventHandler?.Invoke(this, e);
         }
 
         internal WatchBoolSignal AmbientChangedSignal()
index 4feefd4..8c11196 100755 (executable)
@@ -32,6 +32,16 @@ namespace Tizen.NUI
         internal WebView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.WebView_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+
+            InitializeSignals();
+        }
+
+        private global::System.Runtime.InteropServices.HandleRef pageLoadStartedSignalProxy;
+        private global::System.Runtime.InteropServices.HandleRef pageLoadFinishedSignalProxy;
+        private void InitializeSignals()
+        {
+            pageLoadStartedSignalProxy = new global::System.Runtime.InteropServices.HandleRef(this, NDalicPINVOKE.new_WebViewSignalProxy_PageLoadStarted(swigCPtr));
+            pageLoadFinishedSignalProxy = new global::System.Runtime.InteropServices.HandleRef(this, NDalicPINVOKE.new_WebViewSignalProxy_PageLoadFinished(swigCPtr));
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WebView obj)
@@ -63,7 +73,7 @@ namespace Tizen.NUI
             //You should not access any managed member here except static instance.
             //because the execution order of Finalizes is non-deterministic.
 
-            DisConnectFromSignals();
+            DisposeSignals();
 
             if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
@@ -78,17 +88,27 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        private void DisConnectFromSignals()
+        private void DisposeSignals()
         {
-            // Save current CPtr.
-            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
-
-            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
-            swigCPtr = GetBaseHandleCPtrHandleRef;
-            
-            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
-            // Restore current CPtr.
-            swigCPtr = currentCPtr;
+            if (pageLoadStartedSignalProxy.Handle != global::System.IntPtr.Zero)
+            {
+                if (pageLoadStartedCallback != null)
+                {
+                    WebViewProxyDisconnect(pageLoadStartedSignalProxy, pageLoadStartedCallback);
+                }
+                NDalicPINVOKE.delete_WebViewSignalProxy(pageLoadStartedSignalProxy);
+                pageLoadStartedSignalProxy = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            if (pageLoadFinishedSignalProxy.Handle != global::System.IntPtr.Zero)
+            {
+                if (pageLoadFinishedCallback != null)
+                {
+                    WebViewProxyDisconnect(pageLoadFinishedSignalProxy, pageLoadFinishedCallback);
+                }
+                NDalicPINVOKE.delete_WebViewSignalProxy(pageLoadFinishedSignalProxy);
+                pageLoadFinishedSignalProxy = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
         }
 
         /// <summary>
@@ -137,6 +157,149 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Event arguments that passed via the webview signal.
+        /// </summary>
+        public class WebViewEventArgs : EventArgs
+        {
+            private WebView _webView;
+            /// <summary>
+            /// The view for displaying webpages.
+            /// </summary>
+            public WebView WebView
+            {
+                get
+                {
+                    return _webView;
+                }
+                set
+                {
+                    _webView = value;
+                }
+            }
+
+            private string _pageUrl;
+            /// <summary>
+            /// The url string of current webpage.
+            /// </summary>
+            public string PageUrl
+            {
+                get
+                {
+                    return _pageUrl;
+                }
+                set
+                {
+                    _pageUrl = value;
+                }
+            }
+        }
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WebViewCallbackDelegate(IntPtr data, string pageUrl);
+
+        private void WebViewProxyConnect(global::System.Runtime.InteropServices.HandleRef proxy, System.Delegate func)
+        {
+            System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+            {
+                NDalicPINVOKE.WebViewSignalProxy_Connect(proxy, new System.Runtime.InteropServices.HandleRef(this, ip));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+        }
+
+        private void WebViewProxyDisconnect(global::System.Runtime.InteropServices.HandleRef proxy, System.Delegate func)
+        {
+            System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+            {
+                NDalicPINVOKE.WebViewSignalProxy_Disconnect(proxy, new System.Runtime.InteropServices.HandleRef(this, ip));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+        }
+
+        private EventHandler<WebViewEventArgs> pageLoadStartedEventHandler;
+        private WebViewCallbackDelegate pageLoadStartedCallback;
+
+        /// <summary>
+        /// Event for the PageLoadStarted signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// This signal is emitted when page loading has started.<br />
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler<WebViewEventArgs> PageLoadStarted
+        {
+            add
+            {
+                if (pageLoadStartedEventHandler == null)
+                {
+                    pageLoadStartedCallback = (OnPageLoadStarted);
+                    WebViewProxyConnect(pageLoadStartedSignalProxy, pageLoadStartedCallback);
+                }
+                pageLoadStartedEventHandler += value;
+            }
+            remove
+            {
+                pageLoadStartedEventHandler -= value;
+                if (pageLoadStartedEventHandler == null && pageLoadStartedCallback != null)
+                {
+                    WebViewProxyDisconnect(pageLoadStartedSignalProxy, pageLoadStartedCallback);
+                }
+            }
+        }
+
+        private void OnPageLoadStarted(IntPtr data, string pageUrl)
+        {
+            WebViewEventArgs e = new WebViewEventArgs();
+
+            e.WebView = Registry.GetManagedBaseHandleFromNativePtr(data) as WebView;
+            e.PageUrl = pageUrl;
+
+            if (pageLoadStartedEventHandler != null)
+            {
+                pageLoadStartedEventHandler(this, e);
+            }
+        }
+
+        private EventHandler<WebViewEventArgs> pageLoadFinishedEventHandler;
+        private WebViewCallbackDelegate pageLoadFinishedCallback;
+
+        /// <summary>
+        /// Event for the PageLoadFinished signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// This signal is emitted when page loading has finished.<br />
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler<WebViewEventArgs> PageLoadFinished
+        {
+            add
+            {
+                if (pageLoadFinishedEventHandler == null)
+                {
+                    pageLoadFinishedCallback = (OnPageLoadFinished);
+                    WebViewProxyConnect(pageLoadFinishedSignalProxy, pageLoadFinishedCallback);
+                }
+                pageLoadFinishedEventHandler += value;
+            }
+            remove
+            {
+                pageLoadFinishedEventHandler -= value;
+                if (pageLoadFinishedEventHandler == null && pageLoadFinishedCallback != null)
+                {
+                    WebViewProxyDisconnect(pageLoadFinishedSignalProxy, pageLoadFinishedCallback);
+                }
+            }
+        }
+
+        private void OnPageLoadFinished(IntPtr data, string pageUrl)
+        {
+            WebViewEventArgs e = new WebViewEventArgs();
+
+            e.WebView = Registry.GetManagedBaseHandleFromNativePtr(data) as WebView;
+            e.PageUrl = pageUrl;
+
+            if (pageLoadFinishedEventHandler != null)
+            {
+                pageLoadFinishedEventHandler(this, e);
+            }
+        }
+
+        /// <summary>
         /// Loads a html.
         /// <param name="url">The path of Web</param>
         /// </summary>
index d7302a1..af8a7ad 100755 (executable)
@@ -100,6 +100,8 @@ namespace Tizen.NUI.Xaml
             if (propertyName != XmlName.Empty || TryGetPropertyName(node, parentNode, out propertyName)) {
                 if (Skips.Contains(propertyName))
                     return;
+                if (parentElement == null)
+                    return;
                 if (parentElement.SkipProperties.Contains(propertyName))
                     return;
 
@@ -234,8 +236,7 @@ namespace Tizen.NUI.Xaml
             if (value.GetType().GetTypeInfo().GetCustomAttribute<AcceptEmptyServiceProviderAttribute>() == null)
                 serviceProvider = new XamlServiceProvider(node, Context);
 
-            if (serviceProvider != null && propertyName != XmlName.Empty)
-            {
+            if (serviceProvider != null && serviceProvider.IProvideValueTarget != null && propertyName != XmlName.Empty) {
                 ((XamlValueTargetProvider)serviceProvider.IProvideValueTarget).TargetProperty = GetTargetProperty(source, propertyName, Context, node);
             }
 
@@ -609,7 +610,7 @@ namespace Tizen.NUI.Xaml
             if (addMethod == null)
                 return false;
 
-            if (serviceProvider != null)
+            if (serviceProvider != null && serviceProvider.IProvideValueTarget != null)
                 ((XamlValueTargetProvider)serviceProvider.IProvideValueTarget).TargetProperty = targetProperty;
 
             addMethod.Invoke(collection, new [] { value.ConvertTo(addMethod.GetParameters() [0].ParameterType, (Func<TypeConverter>)null, serviceProvider) });
index 1e759f3..c148a6b 100755 (executable)
@@ -290,9 +290,16 @@ namespace Tizen.NUI.Xaml
                 INode node;
                 if (!enode.Properties.TryGetValue(name, out node))
                 {
-                    throw new XamlParseException(
-                        String.Format("The Property {0} is required to create a {1} object.", propname, ctorInfo.DeclaringType.FullName),
-                        enode as IXmlLineInfo);
+                    String msg = "";
+                    if (propname != null)
+                    {
+                        msg = String.Format("The Property {0} is required to create a {1} object.", propname, ctorInfo.DeclaringType.FullName);
+                    }
+                    else
+                    {
+                        msg = "propname is null.";
+                    }
+                    throw new XamlParseException(msg, enode as IXmlLineInfo);
                 }
                 if (!enode.SkipProperties.Contains(name))
                     enode.SkipProperties.Add(name);
index 6dbc21a..188ec53 100755 (executable)
@@ -57,7 +57,7 @@ namespace Tizen.NUI.Xaml
                 throw new Exception("Expression did not end in '}'");
 
             var parser = Activator.CreateInstance(GetType()) as IExpressionParser;
-            return parser.Parse(match, ref expression, serviceProvider);
+            return parser?.Parse(match, ref expression, serviceProvider);
         }
 
         internal static bool MatchMarkup(out string match, string expression, out int end)
index 629cf1d..d22e0ed 100755 (executable)
@@ -36,9 +36,9 @@ namespace Tizen.NUI.Xaml
 
             var type = typeResolver.Resolve(typename, serviceProvider);
 
-            var pinfo = type.GetRuntimeProperties().FirstOrDefault(pi => pi.Name == membername && pi.GetMethod.IsStatic);
+            var pinfo = type.GetRuntimeProperties().FirstOrDefault(pi => pi.GetMethod != null && pi.Name == membername && pi.GetMethod.IsStatic);
             if (pinfo != null)
-                return pinfo.GetMethod.Invoke(null, new object[] { });
+                return pinfo.GetMethod?.Invoke(null, Array.Empty<object>());
 
             var finfo = type.GetRuntimeFields().FirstOrDefault(fi => fi.Name == membername && fi.IsStatic);
             if (finfo != null)
index 5dfd12d..9f99006 100755 (executable)
@@ -104,7 +104,7 @@ namespace Tizen.NUI.Binding
                 throw new XamlParseException($"Can't resolve {name} on {type.Name}", lineinfo);
             var bp = bpinfo.GetValue(null) as BindableProperty;
             var isObsolete = bpinfo.GetCustomAttribute<ObsoleteAttribute>() != null;
-            if (bp.PropertyName != propertyName && !isObsolete)
+            if (bp != null && bp.PropertyName != propertyName && !isObsolete)
                 throw new XamlParseException($"The PropertyName of {type.Name}.{name} is not {propertyName}", lineinfo);
             return bp;
         }
index be4bfaa..6debd8c 100755 (executable)
@@ -200,7 +200,7 @@ namespace Tizen.NUI.Binding
                     string indexerName = defaultMember != null ? defaultMember.MemberName : "Item";
 
                     MethodInfo getterInfo =
-                        declarerType.GetProperties().Where(pi => pi.Name == indexerName && pi.CanRead && pi.GetMethod.IsPublic && !pi.GetMethod.IsStatic).Select(pi => pi.GetMethod).FirstOrDefault();
+                        declarerType.GetProperties().Where(pi => (pi.GetMethod != null) && pi.Name == indexerName && pi.CanRead && pi.GetMethod.IsPublic && !pi.GetMethod.IsStatic).Select(pi => pi.GetMethod).FirstOrDefault();
                     if (getterInfo != null)
                     {
                         if (getterInfo == methodCall.Method)
index 4724d83..ca83712 100755 (executable)
@@ -342,43 +342,48 @@ namespace Tizen.NUI.Binding
 
             if (property != null)
             {
-                if (property.CanRead && property.GetMethod.IsPublic && !property.GetMethod.IsStatic)
+                if (property.CanRead && property.GetMethod != null)
                 {
-                    part.LastGetter = property.GetMethod;
+                    if (property.GetMethod.IsPublic && !property.GetMethod.IsStatic)
+                    {
+                        part.LastGetter = property.GetMethod;
+                    }
                 }
-
-                if (property.CanWrite && property.SetMethod.IsPublic && !property.SetMethod.IsStatic)
+                if (property.CanWrite && property.SetMethod != null)
                 {
-                    part.LastSetter = property.SetMethod;
-                    part.SetterType = part.LastSetter.GetParameters().Last().ParameterType;
-
-                    if (Binding.AllowChaining)
+                    if(property.SetMethod.IsPublic && !property.SetMethod.IsStatic)
                     {
-                        FieldInfo bindablePropertyField = sourceType.GetDeclaredField(part.Content + "Property");
-                        if (bindablePropertyField != null && bindablePropertyField.FieldType == typeof(BindableProperty) && sourceType.ImplementedInterfaces.Contains(typeof(IElementController)))
+                        part.LastSetter = property.SetMethod;
+                        part.SetterType = part.LastSetter.GetParameters().Last().ParameterType;
+
+                        if (Binding.AllowChaining)
                         {
-                            MethodInfo setValueMethod = null;
-#if NETSTANDARD1_0
-                            foreach (MethodInfo m in sourceType.AsType().GetRuntimeMethods())
+                            FieldInfo bindablePropertyField = sourceType.GetDeclaredField(part.Content + "Property");
+                            if (bindablePropertyField != null && bindablePropertyField.FieldType == typeof(BindableProperty) && sourceType.ImplementedInterfaces.Contains(typeof(IElementController)))
                             {
-                                if (m.Name.EndsWith("IElementController.SetValueFromRenderer"))
+                                MethodInfo setValueMethod = null;
+#if NETSTANDARD1_0
+                                foreach (MethodInfo m in sourceType.AsType().GetRuntimeMethods())
                                 {
-                                    ParameterInfo[] parameters = m.GetParameters();
-                                    if (parameters.Length == 2 && parameters[0].ParameterType == typeof(BindableProperty))
+                                    if (m.Name.EndsWith("IElementController.SetValueFromRenderer"))
                                     {
-                                        setValueMethod = m;
-                                        break;
+                                        ParameterInfo[] parameters = m.GetParameters();
+                                        if (parameters.Length == 2 && parameters[0].ParameterType == typeof(BindableProperty))
+                                        {
+                                            setValueMethod = m;
+                                            break;
+                                        }
                                     }
                                 }
-                            }
 #else
-                            setValueMethod = typeof(IElementController).GetMethod("SetValueFromRenderer", new[] { typeof(BindableProperty), typeof(object) });
+                                setValueMethod = typeof(IElementController).GetMethod("SetValueFromRenderer", new[] { typeof(BindableProperty), typeof(object) });
 #endif
-                            if (setValueMethod != null)
-                            {
-                                part.LastSetter = setValueMethod;
-                                part.IsBindablePropertySetter = true;
-                                part.BindablePropertyField = bindablePropertyField.GetValue(null);
+                                if (setValueMethod != null)
+                                {
+                                    part.LastSetter = setValueMethod;
+                                    part.IsBindablePropertySetter = true;
+                                    part.BindablePropertyField = bindablePropertyField.GetValue(null);
+                                }
                             }
                         }
                     }
index 73918cb..a0761b4 100755 (executable)
@@ -42,7 +42,11 @@ namespace Tizen.NUI.Binding
 
         public int Count
         {
-            get { return _list.Count; }
+            get 
+            {
+                lock (_list)
+                    return _list.Count; 
+            }
         }
 
         bool ICollection<T>.IsReadOnly
@@ -71,14 +75,15 @@ namespace Tizen.NUI.Binding
 
         public IEnumerator<T> GetEnumerator()
         {
-            ReadOnlyCollection<T> snap = _snapshot;
-            if (snap == null)
+            lock (_list)
             {
-                lock (_list)
+                ReadOnlyCollection<T> snap = _snapshot;
+                if (snap == null)
+                {
                     _snapshot = snap = new ReadOnlyCollection<T>(_list.ToList());
+                }
+                return snap?.GetEnumerator();
             }
-
-            return snap?.GetEnumerator();
         }
 
         public int IndexOf(T item)
@@ -100,12 +105,14 @@ namespace Tizen.NUI.Binding
         {
             get
             {
-                ReadOnlyCollection<T> snap = _snapshot;
-                if (snap != null)
-                    return snap[index];
-
                 lock (_list)
+                {
+                    ReadOnlyCollection<T> snap = _snapshot;
+                    if (snap != null)
+                        return snap[index];
+
                     return _list[index];
+                }
             }
 
             set
index 8fc16b2..b1f804f 100755 (executable)
@@ -212,12 +212,15 @@ namespace Tizen.NUI.Binding
                         try
                         {
                             Assembly refAsm = Assembly.Load(refName);
-                            RegisterAssemblyRecursively(refAsm);
-                            if (refName.Name == "Xamarin.Forms.Core")
+                            if (refAsm != null)
                             {
-                                if (refAsm.GetType("Xamarin.Forms.PlatformConfiguration.TizenSpecific.VisualElement") != null)
+                                RegisterAssemblyRecursively(refAsm);
+                                if (refName.Name == "Xamarin.Forms.Core")
                                 {
-                                    IsTizenSpecificAvailable = true;
+                                    if (refAsm.GetType("Xamarin.Forms.PlatformConfiguration.TizenSpecific.VisualElement") != null)
+                                    {
+                                        IsTizenSpecificAvailable = true;
+                                    }
                                 }
                             }
                         }
index cd11f18..d12748e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -39,30 +39,34 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class Adaptor : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>swigCMemOwn.</summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Adaptor(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Adaptor obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool disposed = false;
 
+        private static readonly Adaptor instance = Adaptor.Get();
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        private EventHandler<ResizedEventArgs> _resizedEventHandler;
+        private ResizedCallbackDelegate _resizedCallbackDelegate;
+
+        private EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+        private LanguageChangedCallbackDelegate _languageChangedCallbackDelegate;
+
+        internal Adaptor(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -76,6 +80,75 @@ namespace Tizen.NUI
             }
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ResizedCallbackDelegate(IntPtr adaptor);
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void LanguageChangedCallbackDelegate(IntPtr adaptor);
+
+        /// <summary>
+        /// An event for the Resized signal which can be used to subscribe or unsubscribe the event handler
+        /// provided by the user. The Resized signal is emitted when the size changes.<br />
+        /// </summary>
+        internal event EventHandler<ResizedEventArgs> Resized
+        {
+            add
+            {
+                if (_resizedEventHandler == null)
+                {
+                    _resizedCallbackDelegate = (OnResized);
+                    ResizedSignal().Connect(_resizedCallbackDelegate);
+                }
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+                if (_resizedEventHandler == null && ResizedSignal().Empty() == false)
+                {
+                    ResizedSignal().Disconnect(_resizedCallbackDelegate);
+                }
+            }
+        }
+
+        /// <summary>
+        /// An event for LanguageChanged signal which can be used to subscribe or unsubscribe the event handler
+        /// provided by the user. The LanguageChanged signal is emitted when the language changes.<br />
+        /// </summary>
+        internal event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
+            {
+                if (_languageChangedEventHandler == null)
+                {
+                    _languageChangedCallbackDelegate = (OnLanguageChanged);
+                    LanguageChangedSignal().Connect(_languageChangedCallbackDelegate);
+                }
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
+                if (_languageChangedEventHandler == null && LanguageChangedSignal().Empty() == false)
+                {
+                    LanguageChangedSignal().Disconnect(_languageChangedCallbackDelegate);
+                }
+            }
+        }
+
+        /// <summary>
+        /// Returns a reference to the instance of the adaptor used by the current thread.
+        /// </summary>
+        /// <remarks>The adaptor has been initialized. This is only valid in the main thread.</remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public static Adaptor Instance
+        {
+            get
+            {
+                return instance;
+            }
+        }
+
         /// <since_tizen> 4 </since_tizen>
         public void Dispose()
         {
@@ -97,36 +170,30 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Feeds a wheel event to the adaptor.
         /// </summary>
+        /// <param name="wheelEvent">The wheel event.</param>
         /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public void FeedWheelEvent(Wheel wheelEvent)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            NDalicManualPINVOKE.Adaptor_FeedWheelEvent(swigCPtr, Wheel.getCPtr(wheelEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                swigCMemOwn = false;
-                NDalicManualPINVOKE.delete_Adaptor(swigCPtr);
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+        /// <summary>
+        /// Feeds a key event to the adaptor.
+        /// </summary>
+        /// <param name="keyEvent">The key event holding the key information.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void FeedKeyEvent(Key keyEvent)
+        {
+            NDalicManualPINVOKE.Adaptor_FeedKeyEvent(swigCPtr, Key.getCPtr(keyEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            disposed = true;
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Adaptor obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         internal static Adaptor GetAdaptorFromPtr(global::System.IntPtr cPtr)
@@ -164,6 +231,24 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static Adaptor Get()
+        {
+            Adaptor ret = new Adaptor(NDalicManualPINVOKE.Adaptor_Get(), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks whether the adaptor is available.
+        /// </summary>
+        /// <returns>True if it is available, false otherwise.</returns>
+        internal static bool IsAvailable()
+        {
+            bool ret = NDalicManualPINVOKE.Adaptor_IsAvailable();
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Starts the adaptor.
         /// </summary>
@@ -273,39 +358,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private static readonly Adaptor instance = Adaptor.Get();
-
-        internal static Adaptor Get()
-        {
-            Adaptor ret = new Adaptor(NDalicManualPINVOKE.Adaptor_Get(), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Returns a reference to the instance of the adaptor used by the current thread.
-        /// </summary>
-        /// <remarks>The adaptor has been initialized. This is only valid in the main thread.</remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public static Adaptor Instance
-        {
-            get
-            {
-                return instance;
-            }
-        }
-
-        /// <summary>
-        /// Checks whether the adaptor is available.
-        /// </summary>
-        /// <returns>True if it is available, false otherwise.</returns>
-        internal static bool IsAvailable()
-        {
-            bool ret = NDalicManualPINVOKE.Adaptor_IsAvailable();
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Calls this method to notify DALi when a scene is created and initialized.
         /// Notify the adaptor that the scene has been created.
@@ -348,28 +400,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Feeds a wheel event to the adaptor.
-        /// </summary>
-        /// <param name="wheelEvent">The wheel event.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void FeedWheelEvent(Wheel wheelEvent)
-        {
-            NDalicManualPINVOKE.Adaptor_FeedWheelEvent(swigCPtr, Wheel.getCPtr(wheelEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Feeds a key event to the adaptor.
-        /// </summary>
-        /// <param name="keyEvent">The key event holding the key information.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void FeedKeyEvent(Key keyEvent)
-        {
-            NDalicManualPINVOKE.Adaptor_FeedKeyEvent(swigCPtr, Key.getCPtr(keyEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
         /// Notifies core that the scene has been created.
         /// </summary>
         internal void SceneCreated()
@@ -378,69 +408,51 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void SetViewMode(ViewMode viewMode)
+        internal AdaptorSignalType ResizedSignal()
         {
-            NDalicManualPINVOKE.Adaptor_SetViewMode(swigCPtr, (int)viewMode);
+            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_ResizedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Sets the stereo base (eye separation) for stereoscopic 3D.
-        /// The stereo base is the distance in millimetres between the eyes. Typical values are
-        /// between 50mm and 70mm. The default value is 65mm.
-        /// </summary>
-        /// <param name="stereoBase">The stereo base (eye separation) for stereoscopic 3D.</param>
-        internal void SetStereoBase(float stereoBase)
+        internal AdaptorSignalType LanguageChangedSignal()
         {
-            NDalicManualPINVOKE.Adaptor_SetStereoBase(swigCPtr, stereoBase);
+            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_LanguageChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Event arguments that passed via the Resized signal.
+        /// Dispose.
         /// </summary>
-        internal class ResizedEventArgs : EventArgs
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-
-            /// <summary>
-            /// Adaptor - is the adaptor which has size changed.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public Adaptor Adaptor
+            if (disposed)
             {
-                get;
-                set;
+                return;
             }
-        }
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ResizedCallbackDelegate(IntPtr adaptor);
-        private EventHandler<ResizedEventArgs> _resizedEventHandler;
-        private ResizedCallbackDelegate _resizedCallbackDelegate;
 
-        /// <summary>
-        /// An event for the Resized signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The Resized signal is emitted when the size changes.<br />
-        /// </summary>
-        internal event EventHandler<ResizedEventArgs> Resized
-        {
-            add
+            if (type == DisposeTypes.Explicit)
             {
-                if (_resizedEventHandler == null)
-                {
-                    _resizedCallbackDelegate = (OnResized);
-                    ResizedSignal().Connect(_resizedCallbackDelegate);
-                }
-                _resizedEventHandler += value;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-            remove
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                _resizedEventHandler -= value;
-                if (_resizedEventHandler == null && ResizedSignal().Empty() == false)
-                {
-                    ResizedSignal().Disconnect(_resizedCallbackDelegate);
-                }
+                swigCMemOwn = false;
+                NDalicManualPINVOKE.delete_Adaptor(swigCPtr);
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            disposed = true;
         }
 
         private void OnResized(IntPtr adaptor)
@@ -458,21 +470,26 @@ namespace Tizen.NUI
             }
         }
 
-        internal AdaptorSignalType ResizedSignal()
+        private void OnLanguageChanged(IntPtr adaptor)
         {
-            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            e.Adaptor = Adaptor.GetAdaptorFromPtr(adaptor);
+
+            if (_languageChangedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _languageChangedEventHandler(this, e);
+            }
         }
 
         /// <summary>
-        /// Event arguments that passed via the LanguageChanged signal.
+        /// Event arguments that passed via the Resized signal.
         /// </summary>
-        internal class LanguageChangedEventArgs : EventArgs
+        internal class ResizedEventArgs : EventArgs
         {
 
             /// <summary>
-            /// Adaptor - is the adaptor which has language changed.
+            /// Adaptor - is the adaptor which has size changed.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
             public Adaptor Adaptor
@@ -482,58 +499,23 @@ namespace Tizen.NUI
             }
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void LanguageChangedCallbackDelegate(IntPtr adaptor);
-        private EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
-        private LanguageChangedCallbackDelegate _languageChangedCallbackDelegate;
-
         /// <summary>
-        /// An event for LanguageChanged signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The LanguageChanged signal is emitted when the language changes.<br />
+        /// Event arguments that passed via the LanguageChanged signal.
         /// </summary>
-        internal event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
-            {
-                if (_languageChangedEventHandler == null)
-                {
-                    _languageChangedCallbackDelegate = (OnLanguageChanged);
-                    LanguageChangedSignal().Connect(_languageChangedCallbackDelegate);
-                }
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= value;
-                if (_languageChangedEventHandler == null && LanguageChangedSignal().Empty() == false)
-                {
-                    LanguageChangedSignal().Disconnect(_languageChangedCallbackDelegate);
-                }
-            }
-        }
-
-        private void OnLanguageChanged(IntPtr adaptor)
+        internal class LanguageChangedEventArgs : EventArgs
         {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            if (adaptor != null)
-            {
-                e.Adaptor = Adaptor.GetAdaptorFromPtr(adaptor);
-            }
 
-            if (_languageChangedEventHandler != null)
+            /// <summary>
+            /// Adaptor - is the adaptor which has language changed.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public Adaptor Adaptor
             {
-                //here we send all data to user event handlers
-                _languageChangedEventHandler(this, e);
+                get;
+                set;
             }
         }
 
-        internal AdaptorSignalType LanguageChangedSignal()
-        {
-            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
     }
 
 }
\ No newline at end of file
index f1e3178..1394a26 100755 (executable)
@@ -26,98 +26,18 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class AlphaFunction : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>swigCMemOwn.</summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-
-        internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AlphaFunction obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~AlphaFunction()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-        /// <summary>
-        /// To make the AlphaFunction instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// To make the AlphaFunction instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_AlphaFunction(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// The constructor.<br />
@@ -151,11 +71,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// The constructor.<br />
         /// Creates a bezier alpha function. The bezier will have the first point at (0,0) and the end point at (1,1).<br />
@@ -169,52 +84,28 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Retrives the control points of the alpha function.<br />
-        /// </summary>
-        /// <param name="controlPoint0">A Vector2 which will be used as the first control point of the curve.</param>
-        /// <param name="controlPoint1">A Vector2 which will be used as the second control point of the curve.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void GetBezierControlPoints(out Vector2 controlPoint0, out Vector2 controlPoint1)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            controlPoint0 = new Vector2(ret.X, ret.Y);
-            controlPoint1 = new Vector2(ret.Z, ret.W);
-        }
-
-        internal SWIGTYPE_p_f_float__float GetCustomFunction()
+        internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            global::System.IntPtr cPtr = NDalicPINVOKE.AlphaFunction_GetCustomFunction(swigCPtr);
-            SWIGTYPE_p_f_float__float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_float__float(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Returns the built-in function used by the alpha function.<br />
-        /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT.<br />
-        /// </summary>
-        /// <returns>One of the built-in alpha functions.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction.BuiltinFunctions GetBuiltinFunction()
+        internal AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true)
         {
-            AlphaFunction.BuiltinFunctions ret = (AlphaFunction.BuiltinFunctions)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        ///  Returns the functioning mode of the alpha function.
+        /// Dispose.
         /// </summary>
-        /// <returns>The functioning mode of the alpha function.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction.Modes GetMode()
+        ~AlphaFunction()
         {
-            AlphaFunction.Modes ret = (AlphaFunction.Modes)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
@@ -306,6 +197,74 @@ namespace Tizen.NUI
             Bezier
         }
 
+        /// <summary>
+        /// To make the AlphaFunction instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Retrives the control points of the alpha function.<br />
+        /// </summary>
+        /// <param name="controlPoint0">A Vector2 which will be used as the first control point of the curve.</param>
+        /// <param name="controlPoint1">A Vector2 which will be used as the second control point of the curve.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void GetBezierControlPoints(out Vector2 controlPoint0, out Vector2 controlPoint1)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            controlPoint0 = new Vector2(ret.X, ret.Y);
+            controlPoint1 = new Vector2(ret.Z, ret.W);
+        }
+
+        /// <summary>
+        /// Returns the built-in function used by the alpha function.<br />
+        /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT.<br />
+        /// </summary>
+        /// <returns>One of the built-in alpha functions.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public AlphaFunction.BuiltinFunctions GetBuiltinFunction()
+        {
+            AlphaFunction.BuiltinFunctions ret = (AlphaFunction.BuiltinFunctions)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        ///  Returns the functioning mode of the alpha function.
+        /// </summary>
+        /// <returns>The functioning mode of the alpha function.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public AlphaFunction.Modes GetMode()
+        {
+            AlphaFunction.Modes ret = (AlphaFunction.Modes)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AlphaFunction obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         internal static string BuiltinToPropertyKey(BuiltinFunctions? alphaFunction)
         {
             string propertyKey = null;
@@ -314,78 +273,120 @@ namespace Tizen.NUI
                 switch (alphaFunction)
                 {
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Linear:
-                    {
-                        propertyKey = "LINEAR";
-                        break;
-                    }
+                        {
+                            propertyKey = "LINEAR";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Reverse:
-                    {
-                        propertyKey = "REVERSE";
-                        break;
-                    }
+                        {
+                            propertyKey = "REVERSE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInSquare:
-                    {
-                        propertyKey = "EASE_IN_SQUARE";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_IN_SQUARE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutSquare:
-                    {
-                        propertyKey = "EASE_OUT_SQUARE";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_OUT_SQUARE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseIn:
-                    {
-                        propertyKey = "EASE_IN";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_IN";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOut:
-                    {
-                        propertyKey = "EASE_OUT";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_OUT";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInOut:
-                    {
-                        propertyKey = "EASE_IN_OUT";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_IN_OUT";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInSine:
-                    {
-                        propertyKey = "EASE_IN_SINE";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_IN_SINE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutSine:
-                    {
-                        propertyKey = "EASE_OUT_SINE";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_OUT_SINE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInOutSine:
-                    {
-                        propertyKey = "EASE_IN_OUT_SINE";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_IN_OUT_SINE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Bounce:
-                    {
-                        propertyKey = "BOUNCE";
-                        break;
-                    }
+                        {
+                            propertyKey = "BOUNCE";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Sin:
-                    {
-                        propertyKey = "SIN";
-                        break;
-                    }
+                        {
+                            propertyKey = "SIN";
+                            break;
+                        }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutBack:
-                    {
-                        propertyKey = "EASE_OUT_BACK";
-                        break;
-                    }
+                        {
+                            propertyKey = "EASE_OUT_BACK";
+                            break;
+                        }
                     default:
-                    {
-                        propertyKey = "DEFAULT";
-                        break;
-                    }
+                        {
+                            propertyKey = "DEFAULT";
+                            break;
+                        }
                 }
             }
             return propertyKey;
         }
+
+        internal SWIGTYPE_p_f_float__float GetCustomFunction()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.AlphaFunction_GetCustomFunction(swigCPtr);
+            SWIGTYPE_p_f_float__float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_float__float(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// To make the AlphaFunction instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_AlphaFunction(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
     }
 }
\ No newline at end of file
index bbd98a7..99093e3 100755 (executable)
@@ -28,67 +28,33 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Animatable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Handle_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animatable obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// To make the Animatable instance be disposed.
+        /// Create an instance of animatable.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public Animatable() : this(NDalicPINVOKE.Handle_New(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Handle(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+        }
 
-            base.Dispose(type);
+        internal Animatable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Handle_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Create an instance of animatable.
+        /// Enumeration for Handle's capabilities that can be queried.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Animatable() : this(NDalicPINVOKE.Handle_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal uint GetPropertyCount()
+        public enum Capability
         {
-            uint ret = NDalicPINVOKE.Handle_GetPropertyCount(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Some objects support dynamic property creation at run-time.
+            /// New properties are registered by calling RegisterProperty() with an unused property name.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            DYNAMIC_PROPERTIES = 0x01
         }
 
         /// <summary>
@@ -227,13 +193,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal PropertyNotification AddPropertyNotification(int index, int componentIndex, PropertyCondition condition)
-        {
-            PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_1(swigCPtr, index, componentIndex, PropertyCondition.getCPtr(condition)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Removes a property notification from this object.
         /// </summary>
@@ -255,6 +214,25 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animatable obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal uint GetPropertyCount()
+        {
+            uint ret = NDalicPINVOKE.Handle_GetPropertyCount(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal PropertyNotification AddPropertyNotification(int index, int componentIndex, PropertyCondition condition)
+        {
+            PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_1(swigCPtr, index, componentIndex, PropertyCondition.getCPtr(condition)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal void RemoveConstraints()
         {
             NDalicPINVOKE.Handle_RemoveConstraints__SWIG_0(swigCPtr);
@@ -268,17 +246,39 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for Handle's capabilities that can be queried.
+        /// To make the Animatable instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum Capability
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// Some objects support dynamic property creation at run-time.
-            /// New properties are registered by calling RegisterProperty() with an unused property name.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            DYNAMIC_PROPERTIES = 0x01
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Handle(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
     }
index 430cee5..de77c96 100755 (executable)
@@ -43,78 +43,19 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Animation : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-
-            _animationFinishedEventCallback = OnFinished;
-            _finishedCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_animationFinishedEventCallback);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// To make animation instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (this != null)
-            {
-                if (_animationFinishedEventCallback != null)
-                {
-                    FinishedSignal().Disconnect(_finishedCallbackOfNative);
-                }
-
-                if (_animationProgressReachedEventCallback != null)
-                {
-
-                    ProgressReachedSignal().Disconnect(_animationProgressReachedEventCallback);
-                }
-            }
-
-            if(disposed)
-            {
-                return;
-            }
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-            else if(type == DisposeTypes.Implicit)
-            {
-
-            }
+        private static bool? disableAnimation = null;
 
-            if (this != null)
-            {
-                this.Clear();
-            }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+        private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
+        private System.IntPtr _finishedCallbackOfNative;
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Animation(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+        private AnimationProgressReachedEventCallbackType _animationProgressReachedEventCallback;
 
-            base.Dispose(type);
-        }
+        private string[] _properties = null;
+        private string[] _destValue = null;
+        private int[] _startTime = null;
+        private int[] _endTime = null;
 
         /// <summary>
         /// Creates an initialized animation.<br />
@@ -130,12 +71,21 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
+        internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+
+            _animationFinishedEventCallback = OnFinished;
+            _finishedCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_animationFinishedEventCallback);
+        }
+
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void AnimationFinishedEventCallbackType(IntPtr data);
-        private event EventHandler _animationFinishedEventHandler;
 
-        private System.IntPtr _finishedCallbackOfNative;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void AnimationProgressReachedEventCallbackType(IntPtr data);
+
+        private event EventHandler _animationFinishedEventHandler;
 
         /**
         * @brief Event for the finished signal which can be used to subscribe or unsubscribe the event handler.
@@ -162,23 +112,13 @@ namespace Tizen.NUI
                 }
             }
         }
-        private void OnFinished(IntPtr data)
-        {
-            if (_animationFinishedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _animationFinishedEventHandler(this, null);
-            }
-        }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void AnimationProgressReachedEventCallbackType(IntPtr data);
-        private AnimationProgressReachedEventCallbackType _animationProgressReachedEventCallback;
         private event EventHandler _animationProgressReachedEventHandler;
+
         /**
-        * @brief Event for the ProgressReached signal, which can be used to subscribe or unsubscribe the event handler.
-        * The ProgressReached signal is emitted when the animation has reached a given progress percentage, this is set in the api SetProgressNotification.
-        */
+       * @brief Event for the ProgressReached signal, which can be used to subscribe or unsubscribe the event handler.
+       * The ProgressReached signal is emitted when the animation has reached a given progress percentage, this is set in the api SetProgressNotification.
+       */
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler ProgressReached
         {
@@ -202,26 +142,64 @@ namespace Tizen.NUI
                 }
             }
         }
-        private void OnProgressReached(IntPtr data)
+
+        /// <summary>
+        /// Enumeration for what to do when the animation ends, stopped, or destroyed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum EndActions
         {
-            if (_animationProgressReachedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _animationProgressReachedEventHandler(this, null);
-            }
+            /// <summary>
+            /// When the animation ends, the animated property values are saved.
+            /// </summary>
+            Cancel,
+            /// <summary>
+            /// When the animation ends, the animated property values are forgotten.
+            /// </summary>
+            Discard,
+            /// <summary>
+            /// If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like cancel.
+            /// </summary>
+            StopFinal
         }
 
-        private float MilliSecondsToSeconds(int millisec)
+        /// <summary>
+        /// Enumeration for what interpolation method to use on key-frame animations.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum Interpolation
         {
-            return (float)millisec / 1000.0f;
+            /// <summary>
+            /// Values in between key frames are interpolated using a linear polynomial. (Default)
+            /// </summary>
+            Linear,
+            /// <summary>
+            /// Values in between key frames are interpolated using a cubic polynomial.
+            /// </summary>
+            Cubic
         }
 
-        private int SecondsToMilliSeconds(float sec)
+        /// <summary>
+        /// Enumeration for what state the animation is in.
+        /// </summary>
+        /// <remarks>Calling Reset() on this class will not reset the animation. It will call the BaseHandle.Reset() which drops the object handle.</remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public enum States
         {
-            return (int)(sec * 1000);
+            /// <summary>
+            /// The animation has stopped.
+            /// </summary>
+            Stopped,
+            /// <summary>
+            /// The animation is playing.
+            /// </summary>
+            Playing,
+            /// <summary>
+            /// The animation is paused.
+            /// </summary>
+            Paused
         }
 
-
         /// <summary>
         /// Gets or sets the duration in milliseconds of the animation.
         /// </summary>
@@ -326,19 +304,6 @@ namespace Tizen.NUI
             }
         }
 
-
-        /// <summary>
-        /// Stops the animation.
-        /// </summary>
-        /// <param name="action">The end action can be set.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Stop(EndActions action = EndActions.Cancel)
-        {
-            SetEndAction(action);
-            NDalicPINVOKE.Animation_Stop(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// Gets the current loop count.<br />
         /// A value 0 indicating the current loop count when looping.<br />
@@ -462,178 +427,214 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Animates a property value by a relative amount.<br />
+        /// Gets or sets the properties of the animation.
         /// </summary>
-        /// <param name="target">The target object to animate.</param>
-        /// <param name="property">The target property to animate.</param>
-        /// <param name="relativeValue">The property value will change by this amount.</param>
-        /// <param name="alphaFunction">The alpha function to apply.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void AnimateBy(View target, string property, object relativeValue, AlphaFunction alphaFunction = null)
+        public string[] Properties
         {
-            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
-
-            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if(propertyType.Equals(PropertyType.Float))
-            {
-                System.Type type = relativeValue.GetType();
-                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
-                {
-                    int num = (int)relativeValue;
-                    relativeValue = (float)num;
-                }
-            }
-
-            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
-
-            if (alphaFunction != null)
+            get
             {
-                AnimateBy(_prop, val, alphaFunction);
+                return _properties;
             }
-            else
+            set
             {
-                AnimateBy(_prop, val);
+                _properties = value;
             }
         }
 
         /// <summary>
-        /// Animates a property value by a relative amount.<br />
+        /// Gets or sets the destination value for each property of the animation.
         /// </summary>
-        /// <param name="target">The target object to animate.</param>
-        /// <param name="property">The target property to animate.</param>
-        /// <param name="relativeValue">The property value will change by this amount.</param>
-        /// <param name="startTime">The start time of the animation.</param>
-        /// <param name="endTime">The end time of the animation.</param>
-        /// <param name="alphaFunction">The alpha function to apply.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void AnimateBy(View target, string property, object relativeValue, int startTime, int endTime, AlphaFunction alphaFunction = null)
+        public string[] DestValue
         {
-            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
-
-            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if(propertyType.Equals(PropertyType.Float))
+            get
             {
-                System.Type type = relativeValue.GetType();
-                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
-                {
-                    int num = (int)relativeValue;
-                    relativeValue = (float)num;
-                }
+                return _destValue;
             }
+            set
+            {
+                _destValue = value;
+            }
+        }
 
-            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
-
-            if (alphaFunction != null)
+        /// <summary>
+        /// Gets or sets the start time for each property of the animation.
+        /// </summary>
+        public int[] StartTime
+        {
+            get
             {
-                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, val, alphaFunction, time);
+                return _startTime;
             }
-            else
+            set
             {
-                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, val, time);
+                _startTime = value;
             }
         }
 
         /// <summary>
-        /// Animates a property to a destination value.<br />
+        /// Gets or sets the end time for each property of the animation.
         /// </summary>
-        /// <param name="target">The target object to animate.</param>
+        public int[] EndTime
+        {
+            get
+            {
+                return _endTime;
+            }
+            set
+            {
+                _endTime = value;
+            }
+        }
+
+        private bool DisableAnimation
+        {
+            get
+            {
+                if (disableAnimation.HasValue == false)
+                {
+                    string type = Environment.GetEnvironmentVariable("PlatformSmartType");
+                    if (type == "Entry")
+                        disableAnimation = true;
+                    else
+                        disableAnimation = false;
+                }
+                return disableAnimation.Value;
+            }
+        }
+
+        /// <summary>
+        /// Downcasts a handle to animation handle.<br />
+        /// If handle points to an animation object, the downcast produces a valid handle.<br />
+        /// If not, the returned handle is left uninitialized.<br />
+        /// </summary>
+        /// <param name="handle">Handle to an object.</param>
+        /// <returns>Handle to an animation object or an uninitialized handle.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Animation DownCast(BaseHandle handle)
+        {
+            Animation ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Animation;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Stops the animation.
+        /// </summary>
+        /// <param name="action">The end action can be set.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Stop(EndActions action = EndActions.Cancel)
+        {
+            SetEndAction(action);
+            NDalicPINVOKE.Animation_Stop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Animates a property value by a relative amount.<br />
+        /// </summary>
+        /// <param name="target">The target object to animate.</param>
         /// <param name="property">The target property to animate.</param>
-        /// <param name="destinationValue">The destination value.</param>
+        /// <param name="relativeValue">The property value will change by this amount.</param>
         /// <param name="alphaFunction">The alpha function to apply.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void AnimateTo(View target, string property, object destinationValue, AlphaFunction alphaFunction = null)
+        public void AnimateBy(View target, string property, object relativeValue, AlphaFunction alphaFunction = null)
         {
             Property _prop = PropertyHelper.GetPropertyFromString(target, property);
 
             PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if(propertyType.Equals(PropertyType.Float))
+            if (propertyType.Equals(PropertyType.Float))
             {
-                System.Type type = destinationValue.GetType();
+                System.Type type = relativeValue.GetType();
                 if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
                 {
-                    int num = (int)destinationValue;
-                    destinationValue = (float)num;
+                    int num = (int)relativeValue;
+                    relativeValue = (float)num;
                 }
             }
 
-            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
 
             if (alphaFunction != null)
             {
-                AnimateTo(_prop, val, alphaFunction);
+                AnimateBy(_prop, val, alphaFunction);
             }
             else
             {
-                AnimateTo(_prop, val);
+                AnimateBy(_prop, val);
             }
         }
-        private string[] _properties = null;
 
         /// <summary>
-        /// Gets or sets the properties of the animation.
+        /// Animates a property value by a relative amount.<br />
         /// </summary>
-        public string[] Properties
+        /// <param name="target">The target object to animate.</param>
+        /// <param name="property">The target property to animate.</param>
+        /// <param name="relativeValue">The property value will change by this amount.</param>
+        /// <param name="startTime">The start time of the animation.</param>
+        /// <param name="endTime">The end time of the animation.</param>
+        /// <param name="alphaFunction">The alpha function to apply.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void AnimateBy(View target, string property, object relativeValue, int startTime, int endTime, AlphaFunction alphaFunction = null)
         {
-            get
-            {
-                return _properties;
-            }
-            set
+            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
+
+            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
+            if (propertyType.Equals(PropertyType.Float))
             {
-                _properties = value;
+                System.Type type = relativeValue.GetType();
+                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
+                {
+                    int num = (int)relativeValue;
+                    relativeValue = (float)num;
+                }
             }
-        }
 
-        private string[] _destValue = null;
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
 
-        /// <summary>
-        /// Gets or sets the destination value for each property of the animation.
-        /// </summary>
-        public string[] DestValue
-        {
-            get
+            if (alphaFunction != null)
             {
-                return _destValue;
+                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+                AnimateBy(_prop, val, alphaFunction, time);
             }
-            set
+            else
             {
-                _destValue = value;
+                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+                AnimateBy(_prop, val, time);
             }
         }
 
-        private int[] _startTime = null;
-
         /// <summary>
-        /// Gets or sets the start time for each property of the animation.
+        /// Animates a property to a destination value.<br />
         /// </summary>
-        public int[] StartTime
+        /// <param name="target">The target object to animate.</param>
+        /// <param name="property">The target property to animate.</param>
+        /// <param name="destinationValue">The destination value.</param>
+        /// <param name="alphaFunction">The alpha function to apply.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void AnimateTo(View target, string property, object destinationValue, AlphaFunction alphaFunction = null)
         {
-            get
-            {
-                return _startTime;
-            }
-            set
+            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
+
+            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
+            if (propertyType.Equals(PropertyType.Float))
             {
-                _startTime = value;
+                System.Type type = destinationValue.GetType();
+                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
+                {
+                    int num = (int)destinationValue;
+                    destinationValue = (float)num;
+                }
             }
-        }
 
-        private int[] _endTime = null;
+            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
 
-        /// <summary>
-        /// Gets or sets the end time for each property of the animation.
-        /// </summary>
-        public int[] EndTime
-        {
-            get
+            if (alphaFunction != null)
             {
-                return _endTime;
+                AnimateTo(_prop, val, alphaFunction);
             }
-            set
+            else
             {
-                _endTime = value;
+                AnimateTo(_prop, val);
             }
         }
 
@@ -657,7 +658,7 @@ namespace Tizen.NUI
                     {
                         object destinationValue = ConvertTo(_destValue[index], propertyInfo.PropertyType);
 
-                        if(destinationValue != null)
+                        if (destinationValue != null)
                         {
                             AnimateTo(target, _properties[index], destinationValue, _startTime[index], _endTime[index]);
                         }
@@ -667,145 +668,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal object ConvertTo(object value, Type toType)
-        {
-            Func<object> getConverter = () =>
-            {
-                string converterTypeName = GetTypeConverterTypeName(toType.GetTypeInfo().CustomAttributes);
-                if (converterTypeName == null)
-                    return null;
-
-                Type convertertype = Type.GetType(converterTypeName);
-                return Activator.CreateInstance(convertertype);
-            };
-
-            return ConvertTo(value, toType, getConverter);
-        }
-
-        internal object ConvertTo(object value, Type toType, Func<object> getConverter)
-        {
-            if (value == null)
-                return null;
-
-            var str = value as string;
-            if (str != null)
-            {
-                //If there's a [TypeConverter], use it
-                object converter = getConverter?.Invoke();
-                var xfTypeConverter = converter as Tizen.NUI.Binding.TypeConverter;
-                if (xfTypeConverter != null)
-                    return value = xfTypeConverter.ConvertFromInvariantString(str);
-                var converterType = converter?.GetType();
-                if (converterType != null)
-                {
-                    var convertFromStringInvariant = converterType.GetRuntimeMethod("ConvertFromInvariantString",
-                        new[] { typeof(string) });
-                    if (convertFromStringInvariant != null)
-                        return value = convertFromStringInvariant.Invoke(converter, new object[] { str });
-                }
-
-                //If the type is nullable, as the value is not null, it's safe to assume we want the built-in conversion
-                if (toType.GetTypeInfo().IsGenericType && toType.GetGenericTypeDefinition() == typeof(Nullable<>))
-                    toType = Nullable.GetUnderlyingType(toType);
-
-                //Obvious Built-in conversions
-                if (toType.GetTypeInfo().IsEnum)
-                    return Enum.Parse(toType, str, true);
-                if (toType == typeof(SByte))
-                    return SByte.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Int16))
-                    return Int16.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Int32))
-                    return Int32.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Int64))
-                    return Int64.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Byte))
-                    return Byte.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(UInt16))
-                    return UInt16.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(UInt32))
-                    return UInt32.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(UInt64))
-                    return UInt64.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Single))
-                    return Single.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Double))
-                    return Double.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Boolean))
-                    return Boolean.Parse(str);
-                if (toType == typeof(TimeSpan))
-                    return TimeSpan.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(DateTime))
-                    return DateTime.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Char))
-                {
-                    char c = '\0';
-                    Char.TryParse(str, out c);
-                    return c;
-                }
-                if (toType == typeof(String) && str.StartsWith("{}", StringComparison.Ordinal))
-                    return str.Substring(2);
-                if (toType == typeof(String))
-                    return value;
-                if (toType == typeof(Decimal))
-                    return Decimal.Parse(str, CultureInfo.InvariantCulture);
-            }
-
-            //if the value is not assignable and there's an implicit conversion, convert
-            if (value != null && !toType.IsAssignableFrom(value.GetType()))
-            {
-                var opImplicit = GetImplicitConversionOperator(value.GetType(), value.GetType(), toType)
-                                 ?? GetImplicitConversionOperator(toType, value.GetType(), toType);
-                //var opImplicit = value.GetType().GetImplicitConversionOperator(fromType: value.GetType(), toType: toType)
-                //                ?? toType.GetImplicitConversionOperator(fromType: value.GetType(), toType: toType);
-
-                if (opImplicit != null)
-                {
-                    value = opImplicit.Invoke(null, new[] { value });
-                    return value;
-                }
-            }
-
-            var nativeValueConverterService = DependencyService.Get<INativeValueConverterService>();
-
-            object nativeValue = null;
-            if (nativeValueConverterService != null && nativeValueConverterService.ConvertTo(value, toType, out nativeValue))
-                return nativeValue;
-
-            return value;
-        }
-
-        internal string GetTypeConverterTypeName(IEnumerable<CustomAttributeData> attributes)
-        {
-            var converterAttribute =
-                attributes.FirstOrDefault(cad => Tizen.NUI.Binding.TypeConverterAttribute.TypeConvertersType.Contains(cad.AttributeType.FullName));
-            if (converterAttribute == null)
-                return null;
-            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(string))
-                return (string)converterAttribute.ConstructorArguments[0].Value;
-            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(Type))
-                return ((Type)converterAttribute.ConstructorArguments[0].Value).AssemblyQualifiedName;
-            return null;
-        }
-
-        internal MethodInfo GetImplicitConversionOperator(Type onType, Type fromType, Type toType)
-        {
-#if NETSTANDARD1_0
-            var mi = onType.GetRuntimeMethod("op_Implicit", new[] { fromType });
-#else
-            var bindingFlags = BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy;
-            var mi = onType.GetMethod("op_Implicit", bindingFlags, null, new[] { fromType }, null);
-#endif
-            if (mi == null) return null;
-            if (!mi.IsSpecialName) return null;
-            if (!mi.IsPublic) return null;
-            if (!mi.IsStatic) return null;
-            if (!toType.IsAssignableFrom(mi.ReturnType)) return null;
-
-            return mi;
-        }
-
-
         /// <summary>
         /// Animates a property to a destination value.<br />
         /// </summary>
@@ -821,7 +683,7 @@ namespace Tizen.NUI
             Property _prop = PropertyHelper.GetPropertyFromString(target, property);
 
             PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if(propertyType.Equals(PropertyType.Float))
+            if (propertyType.Equals(PropertyType.Float))
             {
                 System.Type type = destinationValue.GetType();
                 if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
@@ -873,7 +735,6 @@ namespace Tizen.NUI
             }
         }
 
-
         /// <summary>
         /// Animates a property between keyframes.
         /// </summary>
@@ -947,37 +808,235 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Creates an initialized animation.<br />
-        /// The animation will not loop.<br />
-        /// The default end action is "Cancel".<br />
-        /// The default alpha function is linear.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
+        /// <summary>
+        /// Creates an initialized animation.<br />
+        /// The animation will not loop.<br />
+        /// The default end action is "Cancel".<br />
+        /// The default alpha function is linear.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Plays the animation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Play()
+        {
+            NDalicPINVOKE.Animation_Play(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if (DisableAnimation == true)
+                Stop(EndActions.StopFinal);
+        }
+
+        /// <summary>
+        /// Plays the animation from a given point.<br />
+        /// The progress must be in the 0-1 interval or in the play range interval if defined,
+        /// otherwise, it will be ignored.<br />
+        /// </summary>
+        /// <param name="progress">A value between [0,1], or between the play range if specified, from where the animation should start playing.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void PlayFrom(float progress)
+        {
+            NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Plays the animation after a given delay time.<br/>
+        /// The delay time is not included in the looping time.<br/>
+        /// When the delay time is a negative value, it would treat as play immediately.<br/>
+        /// </summary>
+        /// <param name="delayMilliseconds">The delay time.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void PlayAfter(int delayMilliseconds)
+        {
+            NDalicPINVOKE.Animation_PlayAfter(swigCPtr, MilliSecondsToSeconds(delayMilliseconds));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Pauses the animation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Pause()
+        {
+            NDalicPINVOKE.Animation_Pause(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Stops the animation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Stop()
+        {
+            NDalicPINVOKE.Animation_Stop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Clears the animation.<br />
+        /// This disconnects any objects that were being animated, effectively stopping the animation.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Clear()
+        {
+            NDalicPINVOKE.Animation_Clear(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal object ConvertTo(object value, Type toType)
+        {
+            Func<object> getConverter = () =>
+            {
+                string converterTypeName = GetTypeConverterTypeName(toType.GetTypeInfo().CustomAttributes);
+                if (converterTypeName == null)
+                    return null;
+
+                Type convertertype = Type.GetType(converterTypeName);
+                return Activator.CreateInstance(convertertype);
+            };
+
+            return ConvertTo(value, toType, getConverter);
+        }
+
+        internal object ConvertTo(object value, Type toType, Func<object> getConverter)
+        {
+            if (value == null)
+                return null;
+
+            var str = value as string;
+            if (str != null)
+            {
+                //If there's a [TypeConverter], use it
+                object converter = getConverter?.Invoke();
+                var xfTypeConverter = converter as Tizen.NUI.Binding.TypeConverter;
+                if (xfTypeConverter != null)
+                    return value = xfTypeConverter.ConvertFromInvariantString(str);
+                var converterType = converter?.GetType();
+                if (converterType != null)
+                {
+                    var convertFromStringInvariant = converterType.GetRuntimeMethod("ConvertFromInvariantString",
+                        new[] { typeof(string) });
+                    if (convertFromStringInvariant != null)
+                        return value = convertFromStringInvariant.Invoke(converter, new object[] { str });
+                }
+
+                //If the type is nullable, as the value is not null, it's safe to assume we want the built-in conversion
+                if (toType.GetTypeInfo().IsGenericType && toType.GetGenericTypeDefinition() == typeof(Nullable<>))
+                    toType = Nullable.GetUnderlyingType(toType);
+
+                //Obvious Built-in conversions
+                if (toType.GetTypeInfo().IsEnum)
+                    return Enum.Parse(toType, str, true);
+                if (toType == typeof(SByte))
+                    return SByte.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Int16))
+                    return Int16.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Int32))
+                    return Int32.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Int64))
+                    return Int64.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Byte))
+                    return Byte.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(UInt16))
+                    return UInt16.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(UInt32))
+                    return UInt32.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(UInt64))
+                    return UInt64.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Single))
+                    return Single.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Double))
+                    return Double.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Boolean))
+                    return Boolean.Parse(str);
+                if (toType == typeof(TimeSpan))
+                    return TimeSpan.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(DateTime))
+                    return DateTime.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Char))
+                {
+                    char c = '\0';
+                    Char.TryParse(str, out c);
+                    return c;
+                }
+                if (toType == typeof(String) && str.StartsWith("{}", StringComparison.Ordinal))
+                    return str.Substring(2);
+                if (toType == typeof(String))
+                    return value;
+                if (toType == typeof(Decimal))
+                    return Decimal.Parse(str, CultureInfo.InvariantCulture);
+            }
+
+            //if the value is not assignable and there's an implicit conversion, convert
+            if (value != null && !toType.IsAssignableFrom(value.GetType()))
+            {
+                var opImplicit = GetImplicitConversionOperator(value.GetType(), value.GetType(), toType)
+                                 ?? GetImplicitConversionOperator(toType, value.GetType(), toType);
+                //var opImplicit = value.GetType().GetImplicitConversionOperator(fromType: value.GetType(), toType: toType)
+                //                ?? toType.GetImplicitConversionOperator(fromType: value.GetType(), toType: toType);
+
+                if (opImplicit != null)
+                {
+                    value = opImplicit.Invoke(null, new[] { value });
+                    return value;
+                }
+            }
+
+            var nativeValueConverterService = DependencyService.Get<INativeValueConverterService>();
+
+            object nativeValue = null;
+            if (nativeValueConverterService != null && nativeValueConverterService.ConvertTo(value, toType, out nativeValue))
+                return nativeValue;
+
+            return value;
+        }
+
+        internal string GetTypeConverterTypeName(IEnumerable<CustomAttributeData> attributes)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            var converterAttribute =
+                attributes.FirstOrDefault(cad => Tizen.NUI.Binding.TypeConverterAttribute.TypeConvertersType.Contains(cad.AttributeType.FullName));
+            if (converterAttribute == null)
+                return null;
+            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(string))
+                return (string)converterAttribute.ConstructorArguments[0].Value;
+            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(Type))
+                return ((Type)converterAttribute.ConstructorArguments[0].Value).AssemblyQualifiedName;
+            return null;
         }
 
-        internal Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
+        internal MethodInfo GetImplicitConversionOperator(Type onType, Type fromType, Type toType)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+#if NETSTANDARD1_0
+            var mi = onType.GetRuntimeMethod("op_Implicit", new[] { fromType });
+#else
+            var bindingFlags = BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy;
+            var mi = onType.GetMethod("op_Implicit", bindingFlags, null, new[] { fromType }, null);
+#endif
+            if (mi == null) return null;
+            if (!mi.IsSpecialName) return null;
+            if (!mi.IsPublic) return null;
+            if (!mi.IsStatic) return null;
+            if (!toType.IsAssignableFrom(mi.ReturnType)) return null;
 
+            return mi;
         }
 
-        /// <summary>
-        /// Downcasts a handle to animation handle.<br />
-        /// If handle points to an animation object, the downcast produces a valid handle.<br />
-        /// If not, the returned handle is left uninitialized.<br />
-        /// </summary>
-        /// <param name="handle">Handle to an object.</param>
-        /// <returns>Handle to an animation object or an uninitialized handle.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Animation DownCast(BaseHandle handle)
+        internal Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
         {
-            Animation ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as Animation;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
         }
 
         internal Animation(Animation handle) : this(NDalicPINVOKE.new_Animation__SWIG_1(Animation.getCPtr(handle)), true)
@@ -1116,72 +1175,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private static bool? disableAnimation = null;
-        private bool DisableAnimation
-        {
-            get
-            {
-                if (disableAnimation.HasValue == false)
-                {
-                    string type = Environment.GetEnvironmentVariable("PlatformSmartType");
-                    if (type == "Entry")
-                        disableAnimation = true;
-                    else
-                        disableAnimation = false;
-                }
-                return disableAnimation.Value;
-            }
-        }
-
-        /// <summary>
-        /// Plays the animation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Play()
-        {
-            NDalicPINVOKE.Animation_Play(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            if (DisableAnimation == true)
-                Stop(EndActions.StopFinal);
-        }
-
-        /// <summary>
-        /// Plays the animation from a given point.<br />
-        /// The progress must be in the 0-1 interval or in the play range interval if defined,
-        /// otherwise, it will be ignored.<br />
-        /// </summary>
-        /// <param name="progress">A value between [0,1], or between the play range if specified, from where the animation should start playing.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void PlayFrom(float progress)
-        {
-            NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Plays the animation after a given delay time.<br/>
-        /// The delay time is not included in the looping time.<br/>
-        /// When the delay time is a negative value, it would treat as play immediately.<br/>
-        /// </summary>
-        /// <param name="delayMilliseconds">The delay time.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void PlayAfter(int delayMilliseconds)
-        {
-            NDalicPINVOKE.Animation_PlayAfter(swigCPtr, MilliSecondsToSeconds(delayMilliseconds));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Pauses the animation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Pause()
-        {
-            NDalicPINVOKE.Animation_Pause(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal Animation.States GetState()
         {
             Animation.States ret = (Animation.States)NDalicPINVOKE.Animation_GetState(swigCPtr);
@@ -1189,27 +1182,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Stops the animation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Stop()
-        {
-            NDalicPINVOKE.Animation_Stop(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Clears the animation.<br />
-        /// This disconnects any objects that were being animated, effectively stopping the animation.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Clear()
-        {
-            NDalicPINVOKE.Animation_Clear(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal AnimationSignal FinishedSignal()
         {
             AnimationSignal ret = new AnimationSignal(NDalicPINVOKE.Animation_FinishedSignal(swigCPtr), false);
@@ -1357,60 +1329,89 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for what to do when the animation ends, stopped, or destroyed.
+        /// To make animation instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum EndActions
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// When the animation ends, the animated property values are saved.
-            /// </summary>
-            Cancel,
-            /// <summary>
-            /// When the animation ends, the animated property values are forgotten.
-            /// </summary>
-            Discard,
-            /// <summary>
-            /// If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like cancel.
-            /// </summary>
-            StopFinal
+            if (this != null)
+            {
+                if (_animationFinishedEventCallback != null)
+                {
+                    FinishedSignal().Disconnect(_finishedCallbackOfNative);
+                }
+
+                if (_animationProgressReachedEventCallback != null)
+                {
+
+                    ProgressReachedSignal().Disconnect(_animationProgressReachedEventCallback);
+                }
+            }
+
+            if(disposed)
+            {
+                return;
+            }
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+            else if(type == DisposeTypes.Implicit)
+            {
+
+            }
+
+            if (this != null)
+            {
+                this.Clear();
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Animation(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// Enumeration for what interpolation method to use on key-frame animations.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Interpolation
+        private void OnFinished(IntPtr data)
         {
-            /// <summary>
-            /// Values in between key frames are interpolated using a linear polynomial. (Default)
-            /// </summary>
-            Linear,
-            /// <summary>
-            /// Values in between key frames are interpolated using a cubic polynomial.
-            /// </summary>
-            Cubic
+            if (_animationFinishedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _animationFinishedEventHandler(this, null);
+            }
         }
 
-        /// <summary>
-        /// Enumeration for what state the animation is in.
-        /// </summary>
-        /// <remarks>Calling Reset() on this class will not reset the animation. It will call the BaseHandle.Reset() which drops the object handle.</remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public enum States
+        private void OnProgressReached(IntPtr data)
         {
-            /// <summary>
-            /// The animation has stopped.
-            /// </summary>
-            Stopped,
-            /// <summary>
-            /// The animation is playing.
-            /// </summary>
-            Playing,
-            /// <summary>
-            /// The animation is paused.
-            /// </summary>
-            Paused
+            if (_animationProgressReachedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _animationProgressReachedEventHandler(this, null);
+            }
+        }
+
+        private float MilliSecondsToSeconds(int millisec)
+        {
+            return (float)millisec / 1000.0f;
+        }
+
+        private int SecondsToMilliSeconds(float sec)
+        {
+            return (int)(sec * 1000);
         }
 
     }
index d0cd2d1..d9fb791 100755 (executable)
@@ -35,11 +35,12 @@ namespace Tizen.NUI.BaseComponents
                 customView.SetKeyboardNavigationSupport((bool)newValue);
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var customView = (CustomView)bindable;
             return customView.IsKeyboardNavigationSupported();
         });
+
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty FocusGroupProperty = BindableProperty.Create("FocusGroup", typeof(bool), typeof(CustomView), false, propertyChanged: (bindable, oldValue, newValue) =>
@@ -50,7 +51,7 @@ namespace Tizen.NUI.BaseComponents
                 customView.SetAsKeyboardFocusGroup((bool)newValue);
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var customView = (CustomView)bindable;
             return customView.IsKeyboardFocusGroup();
@@ -114,37 +115,6 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Sets the background with a property map.
-        /// </summary>
-        /// <param name="map">The background property map.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetBackground(Tizen.NUI.PropertyMap map)
-        {
-            viewWrapperImpl.SetBackground(map);
-        }
-
-        /// <summary>
-        /// Allows deriving classes to enable any of the gesture detectors that are available.<br />
-        /// Gesture detection can be enabled one at a time or in a bitwise format.<br />
-        /// </summary>
-        /// <param name="type">The gesture type(s) to enable.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void EnableGestureDetection(Gesture.GestureType type)
-        {
-            viewWrapperImpl.EnableGestureDetection(type);
-        }
-
-        /// <summary>
-        /// Allows deriving classes to disable any of the gesture detectors.<br />
-        /// Like EnableGestureDetection, this can also be called using bitwise or one at a time.<br />
-        /// </summary>
-        /// <param name="type">The gesture type(s) to disable.</param>
-        internal void DisableGestureDetection(Gesture.GestureType type)
-        {
-            viewWrapperImpl.DisableGestureDetection(type);
-        }
-
-        /// <summary>
         /// Sets whether this control supports two dimensional keyboard navigation
         /// (i.e., whether it knows how to handle the keyboard focus movement between its child views).<br />
         /// The control doesn't support it by default.<br />
@@ -162,21 +132,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        internal void SetKeyboardNavigationSupport(bool isSupported)
-        {
-            viewWrapperImpl.SetKeyboardNavigationSupport(isSupported);
-        }
-
-        /// <summary>
-        /// Gets whether this control supports two-dimensional keyboard navigation.
-        /// </summary>
-        /// <returns>True if this control supports two-dimensional keyboard navigation.</returns>
-        internal bool IsKeyboardNavigationSupported()
-        {
-            return viewWrapperImpl.IsKeyboardNavigationSupported();
-        }
-
-
         /// <summary>
         /// Sets or gets whether this control is a focus group for keyboard navigation.
         /// </summary>
@@ -195,183 +150,24 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Sets whether this control is a focus group for keyboard navigation.
-        /// (i.e., the scope of keyboard focus movement can be limitied to its child views). The control is not a focus group by default.
-        /// </summary>
-        /// <param name="isFocusGroup">Whether this control is set as a focus group for keyboard navigation.</param>
-        internal void SetAsKeyboardFocusGroup(bool isFocusGroup)
-        {
-            viewWrapperImpl.SetAsFocusGroup(isFocusGroup);
-        }
-
-        /// <summary>
-        /// Gets whether this control is a focus group for keyboard navigation.
-        /// </summary>
-        internal bool IsKeyboardFocusGroup()
-        {
-            return viewWrapperImpl.IsFocusGroup();
-        }
-
-        /// <summary>
-        /// Requests a relayout, which means performing a size negotiation on this view, its parent, and children (and potentially whole scene).<br />
-        /// This method can also be called from a derived class every time it needs a different size.<br />
-        /// At the end of event processing, the relayout process starts and all controls which requested relayout will have their sizes (re)negotiated.<br />
-        /// It can be called multiple times; the size negotiation is still only performed once, i.e., there is no need to keep track of this in the calling side.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected void RelayoutRequest()
-        {
-            viewWrapperImpl.RelayoutRequest();
-        }
-
-        /// <summary>
-        /// Provides the view implementation of GetHeightForWidth.
-        /// </summary>
-        /// <param name="width">The width to use.</param>
-        /// <returns>The height based on the width.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected float GetHeightForWidthBase(float width)
-        {
-            return viewWrapperImpl.GetHeightForWidthBase(width);
-        }
-
-        /// <summary>
-        /// Provides the view implementation of GetWidthForHeight.
-        /// </summary>
-        /// <param name="height">The height to use.</param>
-        /// <returns>The width based on the height.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected float GetWidthForHeightBase(float height)
-        {
-            return viewWrapperImpl.GetWidthForHeightBase(height);
-        }
-
-        /// <summary>
-        /// Calculates the size for a child using the base view object.
-        /// </summary>
-        /// <param name="child">The child view to calculate the size for.</param>
-        /// <param name="dimension">The dimension to calculate the size, for example, the width or the height.</param>
-        /// <returns>Return the calculated size for the given dimension. If more than one dimension is requested, just return the first one found.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected float CalculateChildSizeBase(View child, DimensionType dimension)
-        {
-            return viewWrapperImpl.CalculateChildSizeBase(child, dimension);
-        }
-
-        /// <summary>
-        /// Determines if this view is dependent on it's children for relayout from the base class.
-        /// </summary>
-        /// <param name="dimension">The dimension(s) to check for.</param>
-        /// <returns>Return if the view is dependent on it's children.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool RelayoutDependentOnChildrenBase(DimensionType dimension)
-        {
-            return viewWrapperImpl.RelayoutDependentOnChildrenBase(dimension);
-        }
-
-        /// <summary>
-        /// Determines if this view is dependent on it's children for relayout from the base class.
-        /// </summary>
-        /// <returns>Return if the view is dependent on it's children.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool RelayoutDependentOnChildrenBase()
-        {
-            return viewWrapperImpl.RelayoutDependentOnChildrenBase();
-        }
-
-        /// <summary>
-        /// Registers a visual by property index, linking a view to visual when required.<br />
-        /// In the case of the visual being a view or control deeming visual not required, then the visual should be an empty handle.<br />
-        /// No parenting is done during registration, this should be done by a derived class.<br />
-        /// </summary>
-        /// <param name="index">The property index of the visual used to reference visual.</param>
-        /// <param name="visual">The visual to register.</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected void RegisterVisual(int index, VisualBase visual)
-        {
-            viewWrapperImpl.RegisterVisual(index, visual);
-        }
-
-        /// <summary>
-        /// Registers a visual by the property index, linking a view to visual when required.<br />
-        /// In the case of the visual being a view or control deeming visual not required, then the visual should be an empty handle.<br />
-        /// If enabled is false, then the visual is not set on the stage until enabled by the derived class.<br />
-        /// </summary>
-        /// <param name="index">The property index of the visual used to reference visual.</param>
-        /// <param name="visual">The visual to register.</param>
-        /// <param name="enabled">False if derived class wants to control when the visual is set on the stage.</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected void RegisterVisual(int index, VisualBase visual, bool enabled)
-        {
-            viewWrapperImpl.RegisterVisual(index, visual, enabled);
-        }
-
-        /// <summary>
-        /// Erases the entry matching the given index from the list of registered visuals.
-        /// </summary>
-        /// <param name="index">The property index of the visual used to reference visual.</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected void UnregisterVisual(int index)
-        {
-            viewWrapperImpl.UnregisterVisual(index);
-        }
-
-        /// <summary>
-        /// Retrieves the visual associated with the given property index.<br />
-        /// For managing the object lifecycle, do not store the returned visual as a member which increments its reference count.<br />
-        /// </summary>
-        /// <param name="index">The property index of the visual used to reference visual.</param>
-        /// <returns>The registered visual if exists, otherwise an empty handle.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected VisualBase GetVisual(int index)
-        {
-            return viewWrapperImpl.GetVisual(index);
-        }
-
-        /// <summary>
-        /// Sets the given visual to be displayed or not when parent staged.<br />
-        /// For managing the object lifecycle, do not store the returned visual as a member which increments its reference count.<br />
-        /// </summary>
-        /// <param name="index">The property index of the visual, used to reference visual.</param>
-        /// <param name="enable">Flag set to enabled or disabled.</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected void EnableVisual(int index, bool enable)
-        {
-            viewWrapperImpl.EnableVisual(index, enable);
-        }
-
-        /// <summary>
-        /// Queries if the given visual is to be displayed when parent staged.<br />
-        /// For managing the object lifecycle, do not store the returned visual as a member which increments its reference count.<br />
-        /// </summary>
-        /// <param name="index">The property index of the visual.</param>
-        /// <returns>Whether visual is enabled or not.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool IsVisualEnabled(int index)
-        {
-            return viewWrapperImpl.IsVisualEnabled(index);
-        }
-
-        /// <summary>
-        /// Creates a transition effect on the control.
+        /// Sets the background with a property map.
         /// </summary>
-        /// <param name="transitionData">The transition data describing the effect to create.</param>
-        /// <returns>A handle to an animation defined with the given effect, or an empty handle if no properties match.</returns>
+        /// <param name="map">The background property map.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected Animation CreateTransition(TransitionData transitionData)
+        public void SetBackground(Tizen.NUI.PropertyMap map)
         {
-            return viewWrapperImpl.CreateTransition(transitionData);
+            viewWrapperImpl.SetBackground(map);
         }
 
         /// <summary>
-        /// Emits the KeyInputFocusGained signal if true, else, emits the KeyInputFocusLost signal.<br />
-        /// Should be called last by the control after it acts on the input focus change.<br />
+        /// Allows deriving classes to enable any of the gesture detectors that are available.<br />
+        /// Gesture detection can be enabled one at a time or in a bitwise format.<br />
         /// </summary>
-        /// <param name="focusGained">True if gained, false if lost.</param>
+        /// <param name="type">The gesture type(s) to enable.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected void EmitFocusSignal(bool focusGained)
+        public void EnableGestureDetection(Gesture.GestureType type)
         {
-            viewWrapperImpl.EmitFocusSignal(focusGained);
+            viewWrapperImpl.EnableGestureDetection(type);
         }
 
         /// <summary>
@@ -620,38 +416,113 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// This method is called when the control accessibility is activated.<br />
-        /// Derived classes should override this to perform custom accessibility activation.<br />
+        /// Called when the control gain key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is gained.
         /// </summary>
-        /// <returns>True if this control can perform accessibility activation.</returns>
-        internal virtual bool OnAccessibilityActivated()
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void OnFocusGained()
         {
-            return false;
         }
 
         /// <summary>
-        /// This method should be overridden by deriving classes when they wish to respond the accessibility.
+        /// Called when the control loses key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is lost.
         /// </summary>
-        /// <param name="gestures">The pan gesture.</param>
-        /// <returns>True if the pan gesture has been consumed by this control.</returns>
-        internal virtual bool OnAccessibilityPan(PanGesture gestures)
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void OnFocusLost()
         {
-            return false;
         }
 
         /// <summary>
-        /// This method should be overridden by deriving classes when they wish to respond the accessibility.
+        /// Gets the next keyboard focusable view in this control towards the given direction.<br />
+        /// A control needs to override this function in order to support two dimensional keyboard navigation.<br />
         /// </summary>
-        /// <param name="touch">The touch gesture.</param>
-        /// <returns>True if the touch event has been consumed by this control.</returns>
-        internal virtual bool OnAccessibilityTouch(Touch touch)
+        /// <param name="currentFocusedView">The current focused view.</param>
+        /// <param name="direction">The direction to move the focus towards.</param>
+        /// <param name="loopEnabled">Whether the focus movement should be looped within the control.</param>
+        /// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
         {
-            return false;
+            return new View();
         }
 
         /// <summary>
-        /// This method should be overridden by deriving classes when they wish to respond the accessibility up and down action (i.e., value change of slider control).
-        /// </summary>
+        /// Informs this control that its chosen focusable view will be focused.<br />
+        /// This allows the application to preform any actions it wishes before the focus is actually moved to the chosen view.<br />
+        /// </summary>
+        /// <param name="commitedFocusableView">The commited focused view.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void OnFocusChangeCommitted(View commitedFocusableView)
+        {
+        }
+
+        /// <summary>
+        /// This method is called when the control has enter pressed on it.<br />
+        /// Derived classes should override this to perform custom actions.<br />
+        /// </summary>
+        /// <returns>True if this control supported this action.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual bool OnKeyboardEnter()
+        {
+            return false;
+        }
+
+        /// <summary>
+        /// Called whenever a pan gesture is detected on this control.<br />
+        /// This should be overridden by deriving classes when pan detection is enabled.<br />
+        /// There is no default behavior with panning.<br />
+        /// Pan detection should be enabled via EnableGestureDetection().<br />
+        /// </summary>
+        /// <param name="pan">The pan gesture.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void OnPan(PanGesture pan)
+        {
+        }
+
+        /// <summary>
+        /// Called whenever a tap gesture is detected on this control.<br />
+        /// This should be overridden by deriving classes when tap detection is enabled.<br />
+        /// There is no default behavior with a tap.<br />
+        /// Tap detection should be enabled via EnableGestureDetection().<br />
+        /// </summary>
+        /// <param name="tap">The tap gesture.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void OnTap(TapGesture tap)
+        {
+        }
+
+        /// <summary>
+        /// This method is called when the control accessibility is activated.<br />
+        /// Derived classes should override this to perform custom accessibility activation.<br />
+        /// </summary>
+        /// <returns>True if this control can perform accessibility activation.</returns>
+        internal virtual bool OnAccessibilityActivated()
+        {
+            return false;
+        }
+
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility.
+        /// </summary>
+        /// <param name="gestures">The pan gesture.</param>
+        /// <returns>True if the pan gesture has been consumed by this control.</returns>
+        internal virtual bool OnAccessibilityPan(PanGesture gestures)
+        {
+            return false;
+        }
+
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility.
+        /// </summary>
+        /// <param name="touch">The touch gesture.</param>
+        /// <returns>True if the touch event has been consumed by this control.</returns>
+        internal virtual bool OnAccessibilityTouch(Touch touch)
+        {
+            return false;
+        }
+
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility up and down action (i.e., value change of slider control).
+        /// </summary>
         /// <param name="isIncrease">Whether the value should be increased or decreased.</param>
         /// <returns>True if the value changed action has been consumed by this control.</returns>
         internal virtual bool OnAccessibilityValueChange(bool isIncrease)
@@ -669,102 +540,232 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Called when the control gain key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is gained.
+        /// Allows deriving classes to disable any of the gesture detectors.<br />
+        /// Like EnableGestureDetection, this can also be called using bitwise or one at a time.<br />
+        /// </summary>
+        /// <param name="type">The gesture type(s) to disable.</param>
+        internal void DisableGestureDetection(Gesture.GestureType type)
+        {
+            viewWrapperImpl.DisableGestureDetection(type);
+        }
+
+        internal void SetKeyboardNavigationSupport(bool isSupported)
+        {
+            viewWrapperImpl.SetKeyboardNavigationSupport(isSupported);
+        }
+
+        /// <summary>
+        /// Gets whether this control supports two-dimensional keyboard navigation.
+        /// </summary>
+        /// <returns>True if this control supports two-dimensional keyboard navigation.</returns>
+        internal bool IsKeyboardNavigationSupported()
+        {
+            return viewWrapperImpl.IsKeyboardNavigationSupported();
+        }
+
+        /// <summary>
+        /// Sets whether this control is a focus group for keyboard navigation.
+        /// (i.e., the scope of keyboard focus movement can be limitied to its child views). The control is not a focus group by default.
+        /// </summary>
+        /// <param name="isFocusGroup">Whether this control is set as a focus group for keyboard navigation.</param>
+        internal void SetAsKeyboardFocusGroup(bool isFocusGroup)
+        {
+            viewWrapperImpl.SetAsFocusGroup(isFocusGroup);
+        }
+
+        /// <summary>
+        /// Gets whether this control is a focus group for keyboard navigation.
+        /// </summary>
+        internal bool IsKeyboardFocusGroup()
+        {
+            return viewWrapperImpl.IsFocusGroup();
+        }
+
+        /// <summary>
+        /// Called whenever a pinch gesture is detected on this control.<br />
+        /// This can be overridden by deriving classes when pinch detection is enabled. The default behavior is to scale the control by the pinch scale.<br />
+        /// If overridden, then the default behavior will not occur.<br />
+        /// Pinch detection should be enabled via EnableGestureDetection().<br />
+        /// </summary>
+        /// <param name="pinch">The pinch tap gesture.</param>
+        internal virtual void OnPinch(PinchGesture pinch)
+        {
+        }
+
+        /// <summary>
+        /// Called whenever a long press gesture is detected on this control.<br />
+        /// This should be overridden by deriving classes when long press detection is enabled.<br />
+        /// There is no default behavior associated with a long press.<br />
+        /// Long press detection should be enabled via EnableGestureDetection().<br />
+        /// </summary>
+        /// <param name="longPress">The long press gesture.</param>
+        internal virtual void OnLongPress(LongPressGesture longPress)
+        {
+        }
+
+        /// <summary>
+        /// Requests a relayout, which means performing a size negotiation on this view, its parent, and children (and potentially whole scene).<br />
+        /// This method can also be called from a derived class every time it needs a different size.<br />
+        /// At the end of event processing, the relayout process starts and all controls which requested relayout will have their sizes (re)negotiated.<br />
+        /// It can be called multiple times; the size negotiation is still only performed once, i.e., there is no need to keep track of this in the calling side.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public virtual void OnFocusGained()
+        protected void RelayoutRequest()
         {
+            viewWrapperImpl.RelayoutRequest();
         }
 
         /// <summary>
-        /// Called when the control loses key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is lost.
+        /// Provides the view implementation of GetHeightForWidth.
         /// </summary>
+        /// <param name="width">The width to use.</param>
+        /// <returns>The height based on the width.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public virtual void OnFocusLost()
+        protected float GetHeightForWidthBase(float width)
         {
+            return viewWrapperImpl.GetHeightForWidthBase(width);
         }
 
         /// <summary>
-        /// Gets the next keyboard focusable view in this control towards the given direction.<br />
-        /// A control needs to override this function in order to support two dimensional keyboard navigation.<br />
+        /// Provides the view implementation of GetWidthForHeight.
         /// </summary>
-        /// <param name="currentFocusedView">The current focused view.</param>
-        /// <param name="direction">The direction to move the focus towards.</param>
-        /// <param name="loopEnabled">Whether the focus movement should be looped within the control.</param>
-        /// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused.</returns>
+        /// <param name="height">The height to use.</param>
+        /// <returns>The width based on the height.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public virtual View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
+        protected float GetWidthForHeightBase(float height)
         {
-            return new View();
+            return viewWrapperImpl.GetWidthForHeightBase(height);
         }
 
         /// <summary>
-        /// Informs this control that its chosen focusable view will be focused.<br />
-        /// This allows the application to preform any actions it wishes before the focus is actually moved to the chosen view.<br />
+        /// Calculates the size for a child using the base view object.
         /// </summary>
-        /// <param name="commitedFocusableView">The commited focused view.</param>
+        /// <param name="child">The child view to calculate the size for.</param>
+        /// <param name="dimension">The dimension to calculate the size, for example, the width or the height.</param>
+        /// <returns>Return the calculated size for the given dimension. If more than one dimension is requested, just return the first one found.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public virtual void OnFocusChangeCommitted(View commitedFocusableView)
+        protected float CalculateChildSizeBase(View child, DimensionType dimension)
         {
+            return viewWrapperImpl.CalculateChildSizeBase(child, dimension);
         }
 
         /// <summary>
-        /// This method is called when the control has enter pressed on it.<br />
-        /// Derived classes should override this to perform custom actions.<br />
+        /// Determines if this view is dependent on it's children for relayout from the base class.
         /// </summary>
-        /// <returns>True if this control supported this action.</returns>
+        /// <param name="dimension">The dimension(s) to check for.</param>
+        /// <returns>Return if the view is dependent on it's children.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public virtual bool OnKeyboardEnter()
+        protected bool RelayoutDependentOnChildrenBase(DimensionType dimension)
         {
-            return false;
+            return viewWrapperImpl.RelayoutDependentOnChildrenBase(dimension);
         }
 
         /// <summary>
-        /// Called whenever a pinch gesture is detected on this control.<br />
-        /// This can be overridden by deriving classes when pinch detection is enabled. The default behavior is to scale the control by the pinch scale.<br />
-        /// If overridden, then the default behavior will not occur.<br />
-        /// Pinch detection should be enabled via EnableGestureDetection().<br />
+        /// Determines if this view is dependent on it's children for relayout from the base class.
         /// </summary>
-        /// <param name="pinch">The pinch tap gesture.</param>
-        internal virtual void OnPinch(PinchGesture pinch)
+        /// <returns>Return if the view is dependent on it's children.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool RelayoutDependentOnChildrenBase()
         {
+            return viewWrapperImpl.RelayoutDependentOnChildrenBase();
         }
 
         /// <summary>
-        /// Called whenever a pan gesture is detected on this control.<br />
-        /// This should be overridden by deriving classes when pan detection is enabled.<br />
-        /// There is no default behavior with panning.<br />
-        /// Pan detection should be enabled via EnableGestureDetection().<br />
+        /// Registers a visual by property index, linking a view to visual when required.<br />
+        /// In the case of the visual being a view or control deeming visual not required, then the visual should be an empty handle.<br />
+        /// No parenting is done during registration, this should be done by a derived class.<br />
         /// </summary>
-        /// <param name="pan">The pan gesture.</param>
+        /// <param name="index">The property index of the visual used to reference visual.</param>
+        /// <param name="visual">The visual to register.</param>
         /// <since_tizen> 3 </since_tizen>
-        public virtual void OnPan(PanGesture pan)
+        protected void RegisterVisual(int index, VisualBase visual)
         {
+            viewWrapperImpl.RegisterVisual(index, visual);
         }
 
         /// <summary>
-        /// Called whenever a tap gesture is detected on this control.<br />
-        /// This should be overridden by deriving classes when tap detection is enabled.<br />
-        /// There is no default behavior with a tap.<br />
-        /// Tap detection should be enabled via EnableGestureDetection().<br />
+        /// Registers a visual by the property index, linking a view to visual when required.<br />
+        /// In the case of the visual being a view or control deeming visual not required, then the visual should be an empty handle.<br />
+        /// If enabled is false, then the visual is not set on the stage until enabled by the derived class.<br />
         /// </summary>
-        /// <param name="tap">The tap gesture.</param>
+        /// <param name="index">The property index of the visual used to reference visual.</param>
+        /// <param name="visual">The visual to register.</param>
+        /// <param name="enabled">False if derived class wants to control when the visual is set on the stage.</param>
         /// <since_tizen> 3 </since_tizen>
-        public virtual void OnTap(TapGesture tap)
+        protected void RegisterVisual(int index, VisualBase visual, bool enabled)
         {
+            viewWrapperImpl.RegisterVisual(index, visual, enabled);
         }
 
         /// <summary>
-        /// Called whenever a long press gesture is detected on this control.<br />
-        /// This should be overridden by deriving classes when long press detection is enabled.<br />
-        /// There is no default behavior associated with a long press.<br />
-        /// Long press detection should be enabled via EnableGestureDetection().<br />
+        /// Erases the entry matching the given index from the list of registered visuals.
         /// </summary>
-        /// <param name="longPress">The long press gesture.</param>
-        internal virtual void OnLongPress(LongPressGesture longPress)
+        /// <param name="index">The property index of the visual used to reference visual.</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected void UnregisterVisual(int index)
+        {
+            viewWrapperImpl.UnregisterVisual(index);
+        }
+
+        /// <summary>
+        /// Retrieves the visual associated with the given property index.<br />
+        /// For managing the object lifecycle, do not store the returned visual as a member which increments its reference count.<br />
+        /// </summary>
+        /// <param name="index">The property index of the visual used to reference visual.</param>
+        /// <returns>The registered visual if exists, otherwise an empty handle.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        protected VisualBase GetVisual(int index)
+        {
+            return viewWrapperImpl.GetVisual(index);
+        }
+
+        /// <summary>
+        /// Sets the given visual to be displayed or not when parent staged.<br />
+        /// For managing the object lifecycle, do not store the returned visual as a member which increments its reference count.<br />
+        /// </summary>
+        /// <param name="index">The property index of the visual, used to reference visual.</param>
+        /// <param name="enable">Flag set to enabled or disabled.</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected void EnableVisual(int index, bool enable)
         {
+            viewWrapperImpl.EnableVisual(index, enable);
         }
 
+        /// <summary>
+        /// Queries if the given visual is to be displayed when parent staged.<br />
+        /// For managing the object lifecycle, do not store the returned visual as a member which increments its reference count.<br />
+        /// </summary>
+        /// <param name="index">The property index of the visual.</param>
+        /// <returns>Whether visual is enabled or not.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool IsVisualEnabled(int index)
+        {
+            return viewWrapperImpl.IsVisualEnabled(index);
+        }
+
+        /// <summary>
+        /// Creates a transition effect on the control.
+        /// </summary>
+        /// <param name="transitionData">The transition data describing the effect to create.</param>
+        /// <returns>A handle to an animation defined with the given effect, or an empty handle if no properties match.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        protected Animation CreateTransition(TransitionData transitionData)
+        {
+            return viewWrapperImpl.CreateTransition(transitionData);
+        }
+
+        /// <summary>
+        /// Emits the KeyInputFocusGained signal if true, else, emits the KeyInputFocusLost signal.<br />
+        /// Should be called last by the control after it acts on the input focus change.<br />
+        /// </summary>
+        /// <param name="focusGained">True if gained, false if lost.</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected void EmitFocusSignal(bool focusGained)
+        {
+            viewWrapperImpl.EmitFocusSignal(focusGained);
+        }
+
+
         private void OnControlChildAdd(View child)
         {
         }
index a85d1e9..0ca9632 100755 (executable)
@@ -134,74 +134,6 @@ namespace Tizen.NUI.BaseComponents
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal FlexContainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FlexContainer_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FlexContainer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// To make the FlexContainer instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_FlexContainer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-
-        internal new class Property
-        {
-            internal static readonly int CONTENT_DIRECTION = NDalicPINVOKE.FlexContainer_Property_CONTENT_DIRECTION_get();
-            internal static readonly int FLEX_DIRECTION = NDalicPINVOKE.FlexContainer_Property_FLEX_DIRECTION_get();
-            internal static readonly int FLEX_WRAP = NDalicPINVOKE.FlexContainer_Property_FLEX_WRAP_get();
-            internal static readonly int JUSTIFY_CONTENT = NDalicPINVOKE.FlexContainer_Property_JUSTIFY_CONTENT_get();
-            internal static readonly int ALIGN_ITEMS = NDalicPINVOKE.FlexContainer_Property_ALIGN_ITEMS_get();
-            internal static readonly int ALIGN_CONTENT = NDalicPINVOKE.FlexContainer_Property_ALIGN_CONTENT_get();
-
-        }
-
-        /// <summary>
-        /// Enumeration for the instance of child properties belonging to the FlexContainer class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ChildProperty
-        {
-            internal static readonly int FLEX = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_get();
-            internal static readonly int ALIGN_SELF = NDalicPINVOKE.FlexContainer_ChildProperty_ALIGN_SELF_get();
-            internal static readonly int FLEX_MARGIN = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_MARGIN_get();
-        }
-
         /// <summary>
         /// Creates a FlexContainer handle.
         /// Calling member functions with an uninitialized handle is not allowed.
@@ -210,7 +142,11 @@ namespace Tizen.NUI.BaseComponents
         public FlexContainer() : this(NDalicPINVOKE.FlexContainer_New(), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
+        internal FlexContainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FlexContainer_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -455,6 +391,65 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-    }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FlexContainer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// To make the FlexContainer instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_FlexContainer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        /// <summary>
+        /// Enumeration for the instance of child properties belonging to the FlexContainer class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ChildProperty
+        {
+            internal static readonly int FLEX = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_get();
+            internal static readonly int ALIGN_SELF = NDalicPINVOKE.FlexContainer_ChildProperty_ALIGN_SELF_get();
+            internal static readonly int FLEX_MARGIN = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_MARGIN_get();
+        }
 
+        internal new class Property
+        {
+            internal static readonly int CONTENT_DIRECTION = NDalicPINVOKE.FlexContainer_Property_CONTENT_DIRECTION_get();
+            internal static readonly int FLEX_DIRECTION = NDalicPINVOKE.FlexContainer_Property_FLEX_DIRECTION_get();
+            internal static readonly int FLEX_WRAP = NDalicPINVOKE.FlexContainer_Property_FLEX_WRAP_get();
+            internal static readonly int JUSTIFY_CONTENT = NDalicPINVOKE.FlexContainer_Property_JUSTIFY_CONTENT_get();
+            internal static readonly int ALIGN_ITEMS = NDalicPINVOKE.FlexContainer_Property_ALIGN_ITEMS_get();
+            internal static readonly int ALIGN_CONTENT = NDalicPINVOKE.FlexContainer_Property_ALIGN_CONTENT_get();
+        }
+    }
 }
\ No newline at end of file
index 22f4e12..29c71f1 100755 (executable)
@@ -31,7 +31,7 @@ namespace Tizen.NUI.BaseComponents
     {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ResourceUrlProperty = BindableProperty.Create("ResourceUrl", typeof(string), typeof(ImageView), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ResourceUrlProperty = BindableProperty.Create(nameof(ImageView.ResourceUrl), typeof(string), typeof(ImageView), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var imageView = (ImageView)bindable;
             if (newValue != null)
@@ -46,7 +46,7 @@ namespace Tizen.NUI.BaseComponents
                 imageView.UpdateImage();
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             Tizen.NUI.Object.GetProperty(imageView.swigCPtr, ImageView.Property.IMAGE).Get(out imageView._url);
@@ -62,7 +62,7 @@ namespace Tizen.NUI.BaseComponents
                 PropertyMap map = (PropertyMap)newValue;
                 if (imageView.IsCreateByXaml)
                 {
-                    string url = "", alphaMaskURL="", auxiliaryImageURL = "";
+                    string url = "", alphaMaskURL = "", auxiliaryImageURL = "";
                     string resource = Tizen.Applications.Application.Current.DirectoryInfo.Resource;
                     PropertyValue urlValue = map.Find(NDalic.IMAGE_VISUAL_URL);
                     bool ret = false;
@@ -84,7 +84,7 @@ namespace Tizen.NUI.BaseComponents
                     }
 
                     ret = false;
-                    PropertyValue auxiliaryImageURLValue  = map.Find(NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL);
+                    PropertyValue auxiliaryImageURLValue = map.Find(NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL);
                     if (auxiliaryImageURLValue != null) ret = auxiliaryImageURLValue.Get(out auxiliaryImageURL);
                     if (ret && auxiliaryImageURL.Contains("*Resource*"))
                     {
@@ -100,7 +100,7 @@ namespace Tizen.NUI.BaseComponents
                 }
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             if (imageView._border == null)
@@ -124,7 +124,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(imageView.swigCPtr, ImageView.Property.PRE_MULTIPLIED_ALPHA, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             bool temp = false;
@@ -133,7 +133,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelAreaProperty = BindableProperty.Create("PixelArea", typeof(RelativeVector4), typeof(ImageView), new RelativeVector4(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelAreaProperty = BindableProperty.Create("PixelArea", typeof(RelativeVector4), typeof(ImageView), new RelativeVector4(0, 0, 0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var imageView = (ImageView)bindable;
             if (newValue != null)
@@ -141,7 +141,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(imageView.swigCPtr, ImageView.Property.PIXEL_AREA, new Tizen.NUI.PropertyValue((RelativeVector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -151,7 +151,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty BorderProperty = BindableProperty.Create("Border", typeof(Rectangle), typeof(ImageView), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty BorderProperty = BindableProperty.Create("Border", typeof(Rectangle), typeof(ImageView), new Rectangle(0, 0, 0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var imageView = (ImageView)bindable;
             if (newValue != null)
@@ -160,7 +160,7 @@ namespace Tizen.NUI.BaseComponents
                 imageView.UpdateImage();
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             return imageView._border;
@@ -176,7 +176,7 @@ namespace Tizen.NUI.BaseComponents
                 imageView.UpdateImage();
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             return imageView._borderOnly ?? false;
@@ -192,7 +192,7 @@ namespace Tizen.NUI.BaseComponents
                 imageView.UpdateImage();
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             return imageView._synchronousLoading ?? false;
@@ -208,54 +208,62 @@ namespace Tizen.NUI.BaseComponents
                 imageView.UpdateImage();
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var imageView = (ImageView)bindable;
             return imageView._orientationCorrection ?? false;
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        private EventHandler<ResourceReadyEventArgs> _resourceReadyEventHandler;
+        private ResourceReadyEventCallbackType _resourceReadyEventCallback;
+        private EventHandler<ResourceLoadedEventArgs> _resourceLoadedEventHandler;
+        private _resourceLoadedCallbackType _resourceLoadedCallback;
 
-        internal ImageView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ImageView_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        private Rectangle _border = null;
+        private PropertyMap _nPatchMap = null;
+        private bool? _synchronousLoading = null;
+        private bool? _borderOnly = null;
+        private string _url = null;
+        private bool? _orientationCorrection = null;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImageView obj)
+
+        /// <summary>
+        /// Creates an initialized ImageView.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ImageView() : this(NDalicPINVOKE.ImageView_New__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
         /// <summary>
-        /// Event arguments of resource ready.
+        /// Creates an initialized ImageView from a URL to an image resource.<br />
+        /// If the string is empty, ImageView will not display anything.<br />
         /// </summary>
+        /// <param name="url">The URL of the image resource to display.</param>
         /// <since_tizen> 3 </since_tizen>
-        public class ResourceReadyEventArgs : EventArgs
+        public ImageView(string url) : this(NDalicPINVOKE.ImageView_New__SWIG_2(url), true)
         {
-            private View _view;
+            _url = url;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            /// <summary>
-            /// The view whose resource is ready.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
+        }
+        internal ImageView(string url, Uint16Pair size) : this(NDalicPINVOKE.ImageView_New__SWIG_3(url, Uint16Pair.getCPtr(size)), true)
+        {
+            _url = url;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+        internal ImageView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ImageView_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        private EventHandler<ResourceReadyEventArgs> _resourceReadyEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void ResourceReadyEventCallbackType(IntPtr data);
-        private ResourceReadyEventCallbackType _resourceReadyEventCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void _resourceLoadedCallbackType(IntPtr view);
 
         /// <summary>
         /// An event for ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
@@ -287,197 +295,56 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        // Callback for View ResourceReady signal
-        private void OnResourceReady(IntPtr data)
+        internal event EventHandler<ResourceLoadedEventArgs> ResourceLoaded
         {
-            ResourceReadyEventArgs e = new ResourceReadyEventArgs();
-            if (data != null)
-            {
-                e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
-            }
-
-            if (_resourceReadyEventHandler != null)
+            add
             {
-                _resourceReadyEventHandler(this, e);
-            }
-        }
+                if (_resourceLoadedEventHandler == null)
+                {
+                    _resourceLoadedCallback = OnResourceLoaded;
+                    this.ResourceReadySignal(this).Connect(_resourceLoadedCallback);
+                }
 
-        /// <summary>
-        /// you can override it to clean-up your own resources.
-        /// </summary>
-        /// <param name="type">DisposeTypes</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
+                _resourceLoadedEventHandler += value;
             }
-
-            if (type == DisposeTypes.Explicit)
+            remove
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-                _border?.Dispose();
-                _border = null;
-                _nPatchMap?.Dispose();
-                _nPatchMap = null;
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+                _resourceLoadedEventHandler -= value;
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
+                if (_resourceLoadedEventHandler == null && this.ResourceReadySignal(this).Empty() == false)
                 {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_ImageView(swigCPtr);
+                    this.ResourceReadySignal(this).Disconnect(_resourceLoadedCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
-
-            base.Dispose(type);
-        }
-
-        internal new class Property
-        {
-            internal static readonly int RESOURCE_URL = NDalicPINVOKE.ImageView_Property_RESOURCE_URL_get();
-            internal static readonly int IMAGE = NDalicPINVOKE.ImageView_Property_IMAGE_get();
-            internal static readonly int PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.ImageView_Property_PRE_MULTIPLIED_ALPHA_get();
-            internal static readonly int PIXEL_AREA = NDalicPINVOKE.ImageView_Property_PIXEL_AREA_get();
-            internal static readonly int ACTION_RELOAD = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_RELOAD_get();
-            internal static readonly int ACTION_PLAY = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_PLAY_get();
-            internal static readonly int ACTION_PAUSE = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_PAUSE_get();
-            internal static readonly int ACTION_STOP = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_STOP_get();
-        }
-
-        /// <summary>
-        /// Creates an initialized ImageView.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ImageView() : this(NDalicPINVOKE.ImageView_New__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Creates an initialized ImageView from a URL to an image resource.<br />
-        /// If the string is empty, ImageView will not display anything.<br />
-        /// </summary>
-        /// <param name="url">The URL of the image resource to display.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public ImageView(string url) : this(NDalicPINVOKE.ImageView_New__SWIG_2(url), true)
-        {
-            _url = url;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-        internal ImageView(string url, Uint16Pair size) : this(NDalicPINVOKE.ImageView_New__SWIG_3(url, Uint16Pair.getCPtr(size)), true)
-        {
-            _url = url;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Downcasts a handle to imageView handle.
-        /// </summary>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use as keyword.
-        /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead! " +
-            "Like: " +
-            "BaseHandle handle = new ImageView(imagePath); " +
-            "ImageView image = handle as ImageView")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static ImageView DownCast(BaseHandle handle)
-        {
-            ImageView ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as ImageView;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Sets this ImageView from the given URL.<br />
-        /// If the URL is empty, ImageView will not display anything.<br />
-        /// </summary>
-        /// <param name="url">The URL to the image resource to display.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetImage(string url)
-        {
-            _url = url;
-            NDalicPINVOKE.ImageView_SetImage__SWIG_1(swigCPtr, url);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-        internal void SetImage(string url, Uint16Pair size)
-        {
-            _url = url;
-            NDalicPINVOKE.ImageView_SetImage__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal ViewResourceReadySignal ResourceReadySignal(View view)
-        {
-            ViewResourceReadySignal ret = new ViewResourceReadySignal(NDalicPINVOKE.ResourceReadySignal(View.getCPtr(view)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Queries if all resources required by a control are loaded and ready.<br />
-        /// Most resources are only loaded when the control is placed on the stage.<br />
-        /// True if the resources are loaded and ready, false otherwise.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public new bool IsResourceReady()
-        {
-            bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Forcefully reloads the image. All the visuals using this image will reload to the latest image.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>        
-        public void Reload()
-        {
-            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_RELOAD, new PropertyValue(0));
-        }
-
-        /// <summary>
-        /// Plays the animated GIF. This is also the default playback mode.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public void Play()
-        {
-            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_PLAY, new PropertyValue(0));
-        }
-
-        /// <summary>
-        /// Pauses the animated GIF.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public void Pause()
-        {
-            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_PAUSE, new PropertyValue(0));
-        }
-
-        /// <summary>
-        /// Stops the animated GIF.
+        /// Enumeration for LoadingStatus of image.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public void Stop()
+        public enum LoadingStatusType
         {
-            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_STOP, new PropertyValue(0));
+            /// <summary>
+            /// Loading preparing status.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Preparing,
+            /// <summary>
+            /// Loading ready status.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Ready,
+            /// <summary>
+            /// Loading failed status.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Failed
         }
 
         /// <summary>
         /// ImageView ResourceUrl, type string.
+        /// This is one of mandatory property. Even if not set or null set, it sets empty string ("") internally.
+        /// When it is set as null, it gives empty string ("") to be read.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public string ResourceUrl
@@ -488,7 +355,8 @@ namespace Tizen.NUI.BaseComponents
             }
             set
             {
-                SetValue(ResourceUrlProperty, value);
+                _url = (value == null? "" : value);
+                SetValue(ResourceUrlProperty, _url);
                 NotifyPropertyChanged();
             }
         }
@@ -663,7 +531,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-
         /// <summary>
         /// Gets the loading state of the visual resource.
         /// </summary>
@@ -677,28 +544,164 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Enumeration for LoadingStatus of image.
+        /// Downcasts a handle to imageView handle.
+        /// </summary>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use as keyword.
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead! " +
+            "Like: " +
+            "BaseHandle handle = new ImageView(imagePath); " +
+            "ImageView image = handle as ImageView")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static ImageView DownCast(BaseHandle handle)
+        {
+            ImageView ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as ImageView;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets this ImageView from the given URL.<br />
+        /// If the URL is empty, ImageView will not display anything.<br />
+        /// </summary>
+        /// <param name="url">The URL to the image resource to display.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetImage(string url)
+        {
+            _url = url;
+            NDalicPINVOKE.ImageView_SetImage__SWIG_1(swigCPtr, url);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Queries if all resources required by a control are loaded and ready.<br />
+        /// Most resources are only loaded when the control is placed on the stage.<br />
+        /// True if the resources are loaded and ready, false otherwise.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public new bool IsResourceReady()
+        {
+            bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Forcefully reloads the image. All the visuals using this image will reload to the latest image.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum LoadingStatusType
+        public void Reload()
         {
-            /// <summary>
-            /// Loading preparing status.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Preparing,
-            /// <summary>
-            /// Loading ready status.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Ready,
-            /// <summary>
-            /// Loading failed status.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Failed
+            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_RELOAD, new PropertyValue(0));
+        }
+
+        /// <summary>
+        /// Plays the animated GIF. This is also the default playback mode.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public void Play()
+        {
+            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_PLAY, new PropertyValue(0));
+        }
+
+        /// <summary>
+        /// Pauses the animated GIF.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public void Pause()
+        {
+            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_PAUSE, new PropertyValue(0));
+        }
+
+        /// <summary>
+        /// Stops the animated GIF.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public void Stop()
+        {
+            this.DoAction(ImageView.Property.IMAGE, Property.ACTION_STOP, new PropertyValue(0));
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImageView obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal void SetImage(string url, Uint16Pair size)
+        {
+            _url = url;
+            NDalicPINVOKE.ImageView_SetImage__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal ViewResourceReadySignal ResourceReadySignal(View view)
+        {
+            ViewResourceReadySignal ret = new ViewResourceReadySignal(NDalicPINVOKE.ResourceReadySignal(View.getCPtr(view)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ResourceLoadingStatusType GetResourceStatus()
+        {
+            return (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.IMAGE);
+        }
+
+        /// <summary>
+        /// you can override it to clean-up your own resources.
+        /// </summary>
+        /// <param name="type">DisposeTypes</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+                _border?.Dispose();
+                _border = null;
+                _nPatchMap?.Dispose();
+                _nPatchMap = null;
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_ImageView(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
+        // Callback for View ResourceReady signal
+        private void OnResourceReady(IntPtr data)
+        {
+            ResourceReadyEventArgs e = new ResourceReadyEventArgs();
+            if (data != null)
+            {
+                e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
+            }
+
+            if (_resourceReadyEventHandler != null)
+            {
+                _resourceReadyEventHandler(this, e);
+            }
+        }
 
         private void UpdateImage()
         {
@@ -731,75 +734,68 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private Rectangle _border = null;
-        private PropertyMap _nPatchMap = null;
-        private bool? _synchronousLoading = null;
-        private bool? _borderOnly = null;
-        private string _url = null;
-        private bool? _orientationCorrection = null;
+        private void OnResourceLoaded(IntPtr view)
+        {
+            ResourceLoadedEventArgs e = new ResourceLoadedEventArgs();
+            e.Status = (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.IMAGE);
 
+            if (_resourceLoadedEventHandler != null)
+            {
+                _resourceLoadedEventHandler(this, e);
+            }
+        }
 
-        internal class ResourceLoadedEventArgs : EventArgs
+        /// <summary>
+        /// Event arguments of resource ready.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ResourceReadyEventArgs : EventArgs
         {
-            private ResourceLoadingStatusType status = ResourceLoadingStatusType.Invalid;
-            public ResourceLoadingStatusType Status
+            private View _view;
+
+            /// <summary>
+            /// The view whose resource is ready.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View View
             {
                 get
                 {
-                    return status;
+                    return _view;
                 }
                 set
                 {
-                    status = value;
+                    _view = value;
                 }
             }
         }
 
-        private EventHandler<ResourceLoadedEventArgs> _resourceLoadedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void _resourceLoadedCallbackType(IntPtr view);
-        private _resourceLoadedCallbackType _resourceLoadedCallback;
-
-        internal event EventHandler<ResourceLoadedEventArgs> ResourceLoaded
+        internal class ResourceLoadedEventArgs : EventArgs
         {
-            add
+            private ResourceLoadingStatusType status = ResourceLoadingStatusType.Invalid;
+            public ResourceLoadingStatusType Status
             {
-                if (_resourceLoadedEventHandler == null)
+                get
                 {
-                    _resourceLoadedCallback = OnResourceLoaded;
-                    this.ResourceReadySignal(this).Connect(_resourceLoadedCallback);
+                    return status;
                 }
-
-                _resourceLoadedEventHandler += value;
-            }
-            remove
-            {
-                _resourceLoadedEventHandler -= value;
-
-                if (_resourceLoadedEventHandler == null && this.ResourceReadySignal(this).Empty() == false)
+                set
                 {
-                    this.ResourceReadySignal(this).Disconnect(_resourceLoadedCallback);
+                    status = value;
                 }
             }
         }
 
-        private void OnResourceLoaded(IntPtr view)
-        {
-            ResourceLoadedEventArgs e = new ResourceLoadedEventArgs();
-            e.Status = (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.IMAGE);
-
-            if (_resourceLoadedEventHandler != null)
-            {
-                _resourceLoadedEventHandler(this, e);
-            }
-        }
-
-        internal ResourceLoadingStatusType GetResourceStatus()
+        internal new class Property
         {
-            return (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.IMAGE);
+            internal static readonly int RESOURCE_URL = NDalicPINVOKE.ImageView_Property_RESOURCE_URL_get();
+            internal static readonly int IMAGE = NDalicPINVOKE.ImageView_Property_IMAGE_get();
+            internal static readonly int PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.ImageView_Property_PRE_MULTIPLIED_ALPHA_get();
+            internal static readonly int PIXEL_AREA = NDalicPINVOKE.ImageView_Property_PIXEL_AREA_get();
+            internal static readonly int ACTION_RELOAD = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_RELOAD_get();
+            internal static readonly int ACTION_PLAY = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_PLAY_get();
+            internal static readonly int ACTION_PAUSE = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_PAUSE_get();
+            internal static readonly int ACTION_STOP = NDalicManualPINVOKE.ImageView_IMAGE_VISUAL_ACTION_STOP_get();
         }
-
-
     }
-
 }
index eeba848..08a813e 100755 (executable)
@@ -38,7 +38,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_EFFECT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -55,7 +55,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_ANIMATION_SPEED, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             float temp = 0.0f;
@@ -72,7 +72,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             bool temp = false;
@@ -89,7 +89,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.OVERSHOOT_SIZE, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -106,7 +106,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             int temp = 0;
@@ -123,7 +123,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_RELATIVE_POSITION, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -140,7 +140,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_POSITION_MIN, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -157,7 +157,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.SCROLL_POSITION_MAX, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -174,7 +174,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.CAN_SCROLL_VERTICAL, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             bool temp = false;
@@ -191,7 +191,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(scrollable.swigCPtr, Scrollable.Property.CAN_SCROLL_HORIZONTAL, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollable = (Scrollable)bindable;
             bool temp = false;
@@ -200,175 +200,35 @@ namespace Tizen.NUI.BaseComponents
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal Scrollable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Scrollable_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Scrollable obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// you can override it to clean-up your own resources.
-        /// </summary>
-        /// <param name="type">DisposeTypes</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
-            {
-                DisConnectFromSignals();
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Scrollable(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        private void DisConnectFromSignals()
-        {
-            // Save current CPtr.
-            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
-
-            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
-            swigCPtr = GetBaseHandleCPtrHandleRef;
-
-            if (_scrollableCompletedCallbackDelegate != null)
-            {
-                this.ScrollCompletedSignal().Disconnect(_scrollableCompletedCallbackDelegate);
-            }
-
-            if (_scrollableUpdatedCallbackDelegate != null)
-            {
-                this.ScrollUpdatedSignal().Disconnect(_scrollableUpdatedCallbackDelegate);
-            }
-
-            if (_scrollableStartedCallbackDelegate != null)
-            {
-                this.ScrollStartedSignal().Disconnect(_scrollableStartedCallbackDelegate);
-            }
-
-            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
-            // Restore current CPtr.
-            swigCPtr = currentCPtr;
-        }
-
-        /// <summary>
-        /// The scroll animation started event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class StartedEventArgs : EventArgs
-        {
-            private Vector2 _vector2;
-
-            /// <summary>
-            /// Vector2.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Vector2 Vector2
-            {
-                get
-                {
-                    return _vector2;
-                }
-                set
-                {
-                    _vector2 = value;
-                }
-            }
-        }
+        private DaliEventHandler<object, StartedEventArgs> _scrollableStartedEventHandler;
+        private StartedCallbackDelegate _scrollableStartedCallbackDelegate;
+        private DaliEventHandler<object, UpdatedEventArgs> _scrollableUpdatedEventHandler;
+        private UpdatedCallbackDelegate _scrollableUpdatedCallbackDelegate;
+        private DaliEventHandler<object, CompletedEventArgs> _scrollableCompletedEventHandler;
+        private CompletedCallbackDelegate _scrollableCompletedCallbackDelegate;
 
         /// <summary>
-        /// The scrollable updated event arguments.
+        /// Create an instance of scrollable.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class UpdatedEventArgs : EventArgs
+        public Scrollable() : this(NDalicPINVOKE.new_Scrollable__SWIG_0(), true)
         {
-            private Vector2 _vector2;
-
-            /// <summary>
-            /// Vector2.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Vector2 Vector2
-            {
-                get
-                {
-                    return _vector2;
-                }
-                set
-                {
-                    _vector2 = value;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// The scroll animation completed event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class CompletedEventArgs : EventArgs
+        internal Scrollable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Scrollable_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            private Vector2 _vector2;
-
-            /// <summary>
-            /// Vector2.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Vector2 Vector2
-            {
-                get
-                {
-                    return _vector2;
-                }
-                set
-                {
-                    _vector2 = value;
-                }
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void StartedCallbackDelegate(IntPtr vector2);
-        private DaliEventHandler<object, StartedEventArgs> _scrollableStartedEventHandler;
-        private StartedCallbackDelegate _scrollableStartedCallbackDelegate;
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void UpdatedCallbackDelegate(IntPtr vector2);
-        private DaliEventHandler<object, UpdatedEventArgs> _scrollableUpdatedEventHandler;
-        private UpdatedCallbackDelegate _scrollableUpdatedCallbackDelegate;
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void CompletedCallbackDelegate(IntPtr vector2);
-        private DaliEventHandler<object, CompletedEventArgs> _scrollableCompletedEventHandler;
-        private CompletedCallbackDelegate _scrollableCompletedCallbackDelegate;
 
         /// <summary>
         /// The ScrollStarted event emitted when the Scrollable has moved (whether by touch or animation).
@@ -405,21 +265,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private void OnStarted(IntPtr vector2)
-        {
-            StartedEventArgs e = new StartedEventArgs();
-
-            // Populate all members of "e" (StartedEventArgs) with real data
-            e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
-
-            if (_scrollableStartedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _scrollableStartedEventHandler(this, e);
-            }
-
-        }
-
         /// <summary>
         /// The ScrollUpdated event emitted when the Scrollable has moved (whether by touch or animation).
         /// </summary>
@@ -455,21 +300,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private void OnUpdated(IntPtr vector2)
-        {
-            UpdatedEventArgs e = new UpdatedEventArgs();
-
-            // Populate all members of "e" (UpdatedEventArgs) with real data
-            e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
-
-            if (_scrollableUpdatedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _scrollableUpdatedEventHandler(this, e);
-            }
-
-        }
-
         /// <summary>
         /// The ScrollCompleted event emitted when the Scrollable has completed movement
         /// (whether by touch or animation).
@@ -506,225 +336,62 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private void OnCompleted(IntPtr vector2)
+        /// <summary>
+        /// Sets and Gets the color of the overshoot effect.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector4 OvershootEffectColor
         {
-            CompletedEventArgs e = new CompletedEventArgs();
-
-            // Populate all members of "e" (CompletedEventArgs) with real data
-            e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
+            get
+            {
+                return (Vector4)GetValue(OvershootEffectColorProperty);
+            }
+            set
+            {
+                SetValue(OvershootEffectColorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
 
-            if (_scrollableCompletedEventHandler != null)
+        /// <summary>
+        /// Sets and Gets the speed of overshoot animation in pixels per second.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float OvershootAnimationSpeed
+        {
+            get
             {
-                //here we send all data to user event handlers
-                _scrollableCompletedEventHandler(this, e);
+                return (float)GetValue(OvershootAnimationSpeedProperty);
+            }
+            set
+            {
+                SetValue(OvershootAnimationSpeedProperty, value);
+                NotifyPropertyChanged();
             }
+        }
 
+        /// <summary>
+        /// Checks if scroll overshoot has been enabled or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool OvershootEnabled
+        {
+            get
+            {
+                return (bool)GetValue(OvershootEnabledProperty);
+            }
+            set
+            {
+                SetValue(OvershootEnabledProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Enumeration for the instance of properties belonging to the Scrollable class.
+        /// Gets and Sets OvershootSize property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public new class Property
-        {
-            /// <summary>
-            /// The color of the overshoot effect.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int OVERSHOOT_EFFECT_COLOR = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get();
-            /// <summary>
-            /// The speed of overshoot animation in pixels per second.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int OVERSHOOT_ANIMATION_SPEED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get();
-            /// <summary>
-            /// Whether to enables or disable scroll overshoot.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int OVERSHOOT_ENABLED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ENABLED_get();
-            /// <summary>
-            /// The size of the overshoot.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int OVERSHOOT_SIZE = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_SIZE_get();
-            /// <summary>
-            /// scrollToAlphaFunction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_TO_ALPHA_FUNCTION = NDalicPINVOKE.Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get();
-            /// <summary>
-            /// scrollRelativePosition
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_RELATIVE_POSITION = NDalicPINVOKE.Scrollable_Property_SCROLL_RELATIVE_POSITION_get();
-            /// <summary>
-            /// scrollPositionMin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_MIN = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_get();
-            /// <summary>
-            /// scrollPositionMinX.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_MIN_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_X_get();
-            /// <summary>
-            /// scrollPositionMinY.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_MIN_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_Y_get();
-            /// <summary>
-            /// scrollPositionMax.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_MAX = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_get();
-            /// <summary>
-            /// scrollPositionMaxX.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_MAX_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_X_get();
-            /// <summary>
-            /// scrollPositionMaxY.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_MAX_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_Y_get();
-            /// <summary>
-            /// canScrollVertical
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int CAN_SCROLL_VERTICAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_VERTICAL_get();
-            /// <summary>
-            /// canScrollHorizontal.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int CAN_SCROLL_HORIZONTAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_HORIZONTAL_get();
-
-        }
-
-        /// <summary>
-        /// Create an instance of scrollable.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Scrollable() : this(NDalicPINVOKE.new_Scrollable__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        private bool IsOvershootEnabled()
-        {
-            bool ret = NDalicPINVOKE.Scrollable_IsOvershootEnabled(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private void SetOvershootEnabled(bool enable)
-        {
-            NDalicPINVOKE.Scrollable_SetOvershootEnabled(swigCPtr, enable);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        private void SetOvershootEffectColor(Vector4 color)
-        {
-            NDalicPINVOKE.Scrollable_SetOvershootEffectColor(swigCPtr, Vector4.getCPtr(color));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        private Vector4 GetOvershootEffectColor()
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Scrollable_GetOvershootEffectColor(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private void SetOvershootAnimationSpeed(float pixelsPerSecond)
-        {
-            NDalicPINVOKE.Scrollable_SetOvershootAnimationSpeed(swigCPtr, pixelsPerSecond);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        private float GetOvershootAnimationSpeed()
-        {
-            float ret = NDalicPINVOKE.Scrollable_GetOvershootAnimationSpeed(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ScrollableSignal ScrollStartedSignal()
-        {
-            ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollStartedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ScrollableSignal ScrollUpdatedSignal()
-        {
-            ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollUpdatedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ScrollableSignal ScrollCompletedSignal()
-        {
-            ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollCompletedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets and Gets the color of the overshoot effect.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector4 OvershootEffectColor
-        {
-            get
-            {
-                return (Vector4)GetValue(OvershootEffectColorProperty);
-            }
-            set
-            {
-                SetValue(OvershootEffectColorProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// Sets and Gets the speed of overshoot animation in pixels per second.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float OvershootAnimationSpeed
-        {
-            get
-            {
-                return (float)GetValue(OvershootAnimationSpeedProperty);
-            }
-            set
-            {
-                SetValue(OvershootAnimationSpeedProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// Checks if scroll overshoot has been enabled or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool OvershootEnabled
-        {
-            get
-            {
-                return (bool)GetValue(OvershootEnabledProperty);
-            }
-            set
-            {
-                SetValue(OvershootEnabledProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets OvershootSize property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 OvershootSize
+        public Vector2 OvershootSize
         {
             get
             {
@@ -839,6 +506,336 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-    }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Scrollable obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal ScrollableSignal ScrollStartedSignal()
+        {
+            ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollStartedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ScrollableSignal ScrollUpdatedSignal()
+        {
+            ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollUpdatedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ScrollableSignal ScrollCompletedSignal()
+        {
+            ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollCompletedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// you can override it to clean-up your own resources.
+        /// </summary>
+        /// <param name="type">DisposeTypes</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
+            {
+                DisConnectFromSignals();
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Scrollable(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
 
+            base.Dispose(type);
+        }
+
+        private void DisConnectFromSignals()
+        {
+            // Save current CPtr.
+            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
+
+            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
+            swigCPtr = GetBaseHandleCPtrHandleRef;
+
+            if (_scrollableCompletedCallbackDelegate != null)
+            {
+                this.ScrollCompletedSignal().Disconnect(_scrollableCompletedCallbackDelegate);
+            }
+
+            if (_scrollableUpdatedCallbackDelegate != null)
+            {
+                this.ScrollUpdatedSignal().Disconnect(_scrollableUpdatedCallbackDelegate);
+            }
+
+            if (_scrollableStartedCallbackDelegate != null)
+            {
+                this.ScrollStartedSignal().Disconnect(_scrollableStartedCallbackDelegate);
+            }
+
+            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
+            // Restore current CPtr.
+            swigCPtr = currentCPtr;
+        }
+
+        private void OnStarted(IntPtr vector2)
+        {
+            StartedEventArgs e = new StartedEventArgs();
+
+            // Populate all members of "e" (StartedEventArgs) with real data
+            e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
+
+            if (_scrollableStartedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _scrollableStartedEventHandler(this, e);
+            }
+
+        }
+
+        private void OnUpdated(IntPtr vector2)
+        {
+            UpdatedEventArgs e = new UpdatedEventArgs();
+
+            // Populate all members of "e" (UpdatedEventArgs) with real data
+            e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
+
+            if (_scrollableUpdatedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _scrollableUpdatedEventHandler(this, e);
+            }
+
+        }
+
+        private void OnCompleted(IntPtr vector2)
+        {
+            CompletedEventArgs e = new CompletedEventArgs();
+
+            // Populate all members of "e" (CompletedEventArgs) with real data
+            e.Vector2 = Tizen.NUI.Vector2.GetVector2FromPtr(vector2);
+
+            if (_scrollableCompletedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _scrollableCompletedEventHandler(this, e);
+            }
+
+        }
+
+        private bool IsOvershootEnabled()
+        {
+            bool ret = NDalicPINVOKE.Scrollable_IsOvershootEnabled(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private void SetOvershootEnabled(bool enable)
+        {
+            NDalicPINVOKE.Scrollable_SetOvershootEnabled(swigCPtr, enable);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        private void SetOvershootEffectColor(Vector4 color)
+        {
+            NDalicPINVOKE.Scrollable_SetOvershootEffectColor(swigCPtr, Vector4.getCPtr(color));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        private Vector4 GetOvershootEffectColor()
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Scrollable_GetOvershootEffectColor(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private void SetOvershootAnimationSpeed(float pixelsPerSecond)
+        {
+            NDalicPINVOKE.Scrollable_SetOvershootAnimationSpeed(swigCPtr, pixelsPerSecond);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        private float GetOvershootAnimationSpeed()
+        {
+            float ret = NDalicPINVOKE.Scrollable_GetOvershootAnimationSpeed(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The scroll animation started event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class StartedEventArgs : EventArgs
+        {
+            private Vector2 _vector2;
+
+            /// <summary>
+            /// Vector2.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Vector2 Vector2
+            {
+                get
+                {
+                    return _vector2;
+                }
+                set
+                {
+                    _vector2 = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// The scrollable updated event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class UpdatedEventArgs : EventArgs
+        {
+            private Vector2 _vector2;
+
+            /// <summary>
+            /// Vector2.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Vector2 Vector2
+            {
+                get
+                {
+                    return _vector2;
+                }
+                set
+                {
+                    _vector2 = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// The scroll animation completed event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class CompletedEventArgs : EventArgs
+        {
+            private Vector2 _vector2;
+
+            /// <summary>
+            /// Vector2.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Vector2 Vector2
+            {
+                get
+                {
+                    return _vector2;
+                }
+                set
+                {
+                    _vector2 = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// Enumeration for the instance of properties belonging to the Scrollable class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public new class Property
+        {
+            /// <summary>
+            /// The color of the overshoot effect.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int OVERSHOOT_EFFECT_COLOR = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get();
+            /// <summary>
+            /// The speed of overshoot animation in pixels per second.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int OVERSHOOT_ANIMATION_SPEED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get();
+            /// <summary>
+            /// Whether to enables or disable scroll overshoot.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int OVERSHOOT_ENABLED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ENABLED_get();
+            /// <summary>
+            /// The size of the overshoot.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int OVERSHOOT_SIZE = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_SIZE_get();
+            /// <summary>
+            /// scrollToAlphaFunction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_TO_ALPHA_FUNCTION = NDalicPINVOKE.Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get();
+            /// <summary>
+            /// scrollRelativePosition
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_RELATIVE_POSITION = NDalicPINVOKE.Scrollable_Property_SCROLL_RELATIVE_POSITION_get();
+            /// <summary>
+            /// scrollPositionMin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_MIN = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_get();
+            /// <summary>
+            /// scrollPositionMinX.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_MIN_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_X_get();
+            /// <summary>
+            /// scrollPositionMinY.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_MIN_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_Y_get();
+            /// <summary>
+            /// scrollPositionMax.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_MAX = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_get();
+            /// <summary>
+            /// scrollPositionMaxX.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_MAX_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_X_get();
+            /// <summary>
+            /// scrollPositionMaxY.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_MAX_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_Y_get();
+            /// <summary>
+            /// canScrollVertical
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int CAN_SCROLL_VERTICAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_VERTICAL_get();
+            /// <summary>
+            /// canScrollHorizontal.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int CAN_SCROLL_HORIZONTAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_HORIZONTAL_get();
+        }
+    }
 }
\ No newline at end of file
index 3ff33cc..c5698e4 100755 (executable)
@@ -42,7 +42,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.ROWS, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var tableView = (TableView)bindable;
             int temp = 0;
@@ -59,7 +59,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.COLUMNS, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var tableView = (TableView)bindable;
             int temp = 0;
@@ -76,7 +76,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.CELL_PADDING, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var tableView = (TableView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -93,7 +93,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.LAYOUT_ROWS, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var tableView = (TableView)bindable;
             PropertyMap temp = new PropertyMap();
@@ -110,7 +110,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(tableView.swigCPtr, TableView.Property.LAYOUT_COLUMNS, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var tableView = (TableView)bindable;
             PropertyMap temp = new PropertyMap();
@@ -118,405 +118,154 @@ namespace Tizen.NUI.BaseComponents
             return temp;
         });
 
-
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj)
+        /// <summary>
+        /// Creates the default TableView view.
+        /// </summary>
+        public TableView() : this(NDalicPINVOKE.TableView_New(1, 1), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose
+        /// Creates the TableView view.
         /// </summary>
-        /// <param name="type">The dispose type</param>
+        /// <param name="initialRows">Initial rows for the table.</param>
+        /// <param name="initialColumns">Initial columns for the table.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public TableView(uint initialRows, uint initialColumns) : this(NDalicPINVOKE.TableView_New(initialRows, initialColumns), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TableView(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
-
-        internal new class Property
+        /// <summary>
+        /// The Copy constructor. Creates another handle that points to the same real object.
+        /// </summary>
+        /// <param name="handle">Handle to copy from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true)
         {
-            internal static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
-            internal static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
-            internal static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
-            internal static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
-            internal static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal class ChildProperty
+        internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            internal static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
-            internal static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
-            internal static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
-            internal static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
-            internal static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Class to specify the layout position for the child view.
+        /// Enumeration for describing how the size of a row or column has been set.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class CellPosition : global::System.IDisposable
+        public enum LayoutPolicy
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// swigCMemOwn
+            /// Fixed with the given value.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CellPosition obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
+            Fixed,
             /// <summary>
-            /// A Flat to check if it is already disposed.
+            /// Calculated as percentage of the remainder after subtracting Padding and Fixed height/width.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
+            Relative,
             /// <summary>
-            /// Dispose.
+            ///  Default policy, get the remainder of the 100% (after subtracting Fixed, Fit and Relative height/ width) divided evenly between 'fill' rows/columns.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
-            ~CellPosition()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
+            Fill,
             /// <summary>
-            /// Dispose.
+            /// Fit around its children.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
+            Fit
+        }
 
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
+        /// <summary>
+        /// The amount of rows in the table.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Rows
+        {
+            get
+            {
+                return (int)GetValue(RowsProperty);
             }
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <param name="type">DisposeTypes</param>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+            set
             {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-                disposed = true;
+                SetValue(RowsProperty, value);
+                NotifyPropertyChanged();
             }
-
-            /// <summary>
-            /// The constructor.
-            /// </summary>
-            /// <param name="rowIndex">The row index initialized.</param>
-            /// <param name="columnIndex">The column index initialized.</param>
-            /// <param name="rowSpan">The row span initialized.</param>
-            /// <param name="columnSpan">The column span initialized.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true)
+        }
+        /// <summary>
+        /// The amount of columns in the table.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Columns
+        {
+            get
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)GetValue(ColumnsProperty);
             }
-
-            /// <summary>
-            /// The constructor to initialize values to defaults for convenience.
-            /// </summary>
-            /// <param name="rowIndex">The row index initialized.</param>
-            /// <param name="columnIndex">The column index initialized.</param>
-            /// <param name="rowSpan">The row span initialized.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true)
+            set
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                SetValue(ColumnsProperty, value);
+                NotifyPropertyChanged();
             }
-
-            /// <summary>
-            /// The constructor to initialize values to defaults for convenience.
-            /// </summary>
-            /// <param name="rowIndex">The row index initialized.</param>
-            /// <param name="columnIndex">The column index initialized.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true)
+        }
+        /// <summary>
+        /// Padding between cells.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 CellPadding
+        {
+            get
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (Vector2)GetValue(CellPaddingProperty);
             }
-
-            /// <summary>
-            /// The constructor to initialize values to default for convenience.
-            /// </summary>
-            /// <param name="rowIndex">The row index initialized.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true)
+            set
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                SetValue(CellPaddingProperty, value);
+                NotifyPropertyChanged();
             }
+        }
 
-            /// <summary>
-            /// The default constructor.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true)
+        /// <summary>
+        /// The number of layout rows.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap LayoutRows
+        {
+            get
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (PropertyMap)GetValue(LayoutRowsProperty);
             }
-
-            /// <summary>
-            /// The index of a row.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            [Obsolete("Please do not use! This will be deprecated! Please use RowIndex instead!")]
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public uint rowIndex
-            {
-                set
-                {
-                    NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The index or position of a row.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public uint RowIndex
-            {
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-
-            /// <summary>
-            /// The index of a column.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            [Obsolete("Please do not use! This will be deprecated! Please use ColumnIndex instead!")]
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public uint columnIndex
-            {
-                set
-                {
-                    NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The index or position of a column.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public uint ColumnIndex
-            {
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The span of a row.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            [Obsolete("Please do not use! This will be deprecated! Please use RowSpan instead!")]
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public uint rowSpan
-            {
-                set
-                {
-                    NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The span of a row.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public uint RowSpan
-            {
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The span of a column.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            [Obsolete("Please do not use! This will be deprecated! Please use ColumnSpan instead!")]
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public uint columnSpan
-            {
-                set
-                {
-                    NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The span of a column.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public uint ColumnSpan
+            set
             {
-                get
-                {
-                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                SetValue(LayoutRowsProperty, value);
+                NotifyPropertyChanged();
             }
-
-
-        }
-
-        /// <summary>
-        /// Creates the default TableView view.
-        /// </summary>
-        public TableView() : this(NDalicPINVOKE.TableView_New(1, 1), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates the TableView view.
+        /// The number of layout columns.
         /// </summary>
-        /// <param name="initialRows">Initial rows for the table.</param>
-        /// <param name="initialColumns">Initial columns for the table.</param>
         /// <since_tizen> 3 </since_tizen>
-        public TableView(uint initialRows, uint initialColumns) : this(NDalicPINVOKE.TableView_New(initialRows, initialColumns), true)
+        public PropertyMap LayoutColumns
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            get
+            {
+                return (PropertyMap)GetValue(LayoutColumnsProperty);
+            }
+            set
+            {
+                SetValue(LayoutColumnsProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
-        /// <summary>
-        /// The Copy constructor. Creates another handle that points to the same real object.
-        /// </summary>
-        /// <param name="handle">Handle to copy from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
 
         /// <summary>
         /// Adds a child to the table.<br />
@@ -834,116 +583,365 @@ namespace Tizen.NUI.BaseComponents
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Enumeration for describing how the size of a row or column has been set.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum LayoutPolicy
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj)
         {
-            /// <summary>
-            /// Fixed with the given value.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Fixed,
-            /// <summary>
-            /// Calculated as percentage of the remainder after subtracting Padding and Fixed height/width.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Relative,
-            /// <summary>
-            ///  Default policy, get the remainder of the 100% (after subtracting Fixed, Fit and Relative height/ width) divided evenly between 'fill' rows/columns.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Fill,
-            /// <summary>
-            /// Fit around its children.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Fit
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// The amount of rows in the table.
+        /// Dispose
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public int Rows
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-                return (int)GetValue(RowsProperty);
-            }
-            set
+            if (disposed)
             {
-                SetValue(RowsProperty, value);
-                NotifyPropertyChanged();
+                return;
             }
-        }
-        /// <summary>
-        /// The amount of columns in the table.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Columns
-        {
-            get
+
+            if (type == DisposeTypes.Explicit)
             {
-                return (int)GetValue(ColumnsProperty);
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            set
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                SetValue(ColumnsProperty, value);
-                NotifyPropertyChanged();
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TableView(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
+
         /// <summary>
-        /// Padding between cells.
+        /// Class to specify the layout position for the child view.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector2 CellPadding
+        public class CellPosition : global::System.IDisposable
         {
-            get
-            {
-                return (Vector2)GetValue(CellPaddingProperty);
-            }
-            set
-            {
-                SetValue(CellPaddingProperty, value);
-                NotifyPropertyChanged();
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
+
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            /// <summary>
+            /// The constructor.
+            /// </summary>
+            /// <param name="rowIndex">The row index initialized.</param>
+            /// <param name="columnIndex">The column index initialized.</param>
+            /// <param name="rowSpan">The row span initialized.</param>
+            /// <param name="columnSpan">The column span initialized.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
 
-        /// <summary>
-        /// The number of layout rows.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap LayoutRows
-        {
-            get
+            /// <summary>
+            /// The constructor to initialize values to defaults for convenience.
+            /// </summary>
+            /// <param name="rowIndex">The row index initialized.</param>
+            /// <param name="columnIndex">The column index initialized.</param>
+            /// <param name="rowSpan">The row span initialized.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true)
             {
-                return (PropertyMap)GetValue(LayoutRowsProperty);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            set
+
+            /// <summary>
+            /// The constructor to initialize values to defaults for convenience.
+            /// </summary>
+            /// <param name="rowIndex">The row index initialized.</param>
+            /// <param name="columnIndex">The column index initialized.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true)
             {
-                SetValue(LayoutRowsProperty, value);
-                NotifyPropertyChanged();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
 
-        /// <summary>
-        /// The number of layout columns.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap LayoutColumns
-        {
-            get
+            /// <summary>
+            /// The constructor to initialize values to default for convenience.
+            /// </summary>
+            /// <param name="rowIndex">The row index initialized.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true)
             {
-                return (PropertyMap)GetValue(LayoutColumnsProperty);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            set
+
+            /// <summary>
+            /// The default constructor.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true)
             {
-                SetValue(LayoutColumnsProperty, value);
-                NotifyPropertyChanged();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
+            internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~CellPosition()
+            {
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
+            }
+
+            /// <summary>
+            /// The index of a row.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            [Obsolete("Please do not use! This will be deprecated! Please use RowIndex instead!")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public uint rowIndex
+            {
+                set
+                {
+                    NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// The index or position of a row.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public uint RowIndex
+            {
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+
+            /// <summary>
+            /// The index of a column.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            [Obsolete("Please do not use! This will be deprecated! Please use ColumnIndex instead!")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public uint columnIndex
+            {
+                set
+                {
+                    NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// The index or position of a column.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public uint ColumnIndex
+            {
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// The span of a row.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            [Obsolete("Please do not use! This will be deprecated! Please use RowSpan instead!")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public uint rowSpan
+            {
+                set
+                {
+                    NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// The span of a row.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public uint RowSpan
+            {
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
+
+            /// <summary>
+            /// The span of a column.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            [Obsolete("Please do not use! This will be deprecated! Please use ColumnSpan instead!")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public uint columnSpan
+            {
+                set
+                {
+                    NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// The span of a column.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public uint ColumnSpan
+            {
+                get
+                {
+                    uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
+            {
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CellPosition obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <param name="type">DisposeTypes</param>
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                disposed = true;
+            }
+
+        }
+
+        internal new class Property
+        {
+            internal static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
+            internal static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
+            internal static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
+            internal static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
+            internal static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
         }
 
+        internal class ChildProperty
+        {
+            internal static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
+            internal static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
+            internal static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
+            internal static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
+            internal static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
+        }
     }
 }
index 0f69340..32f0084 100755 (executable)
@@ -34,7 +34,7 @@ namespace Tizen.NUI.BaseComponents
     {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -42,7 +42,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -51,7 +51,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -59,7 +59,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -68,7 +68,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -76,7 +76,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -85,7 +85,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -93,7 +93,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -102,7 +102,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -110,7 +110,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -119,7 +119,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -127,7 +127,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -150,7 +150,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create("ScrollThreshold", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(ScrollThreshold), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -158,7 +158,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -167,7 +167,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create("ScrollSpeed", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(ScrollSpeed), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -175,7 +175,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -184,7 +184,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create("PrimaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create(nameof(PrimaryCursorColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -192,7 +192,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -201,7 +201,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create("SecondaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(SecondaryCursorColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -209,7 +209,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -218,7 +218,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create("EnableCursorBlink", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(EnableCursorBlink), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -226,7 +226,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             bool temp = false;
@@ -235,7 +235,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create("CursorBlinkInterval", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(CursorBlinkInterval), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -243,7 +243,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -252,7 +252,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create("CursorBlinkDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(CursorBlinkDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -260,7 +260,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -269,7 +269,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create("CursorWidth", typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(CursorWidth), typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -277,7 +277,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             int temp = 0;
@@ -286,7 +286,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create("GrabHandleImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(GrabHandleImage), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -294,7 +294,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -303,7 +303,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create("GrabHandlePressedImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(GrabHandlePressedImage), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -311,7 +311,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -320,7 +320,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -328,7 +328,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -337,7 +337,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(SelectionHandleImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -345,7 +345,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -354,7 +354,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(SelectionHandlePressedImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -362,7 +362,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -371,7 +371,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(SelectionHandlePressedImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -379,7 +379,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -388,7 +388,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(SelectionHandleMarkerImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -396,7 +396,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -405,7 +405,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(SelectionHandleMarkerImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -413,7 +413,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -422,7 +422,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create("SelectionHighlightColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(SelectionHighlightColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -430,7 +430,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -439,7 +439,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create("DecorationBoundingBox", typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(DecorationBoundingBox), typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -447,7 +447,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue((Rectangle)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Rectangle temp = new Rectangle(0, 0, 0, 0);
@@ -456,7 +456,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -464,7 +464,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             bool temp = false;
@@ -473,7 +473,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputColorProperty = BindableProperty.Create("InputColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(InputColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -481,7 +481,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -490,7 +490,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create("InputFontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(InputFontFamily), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -498,7 +498,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -507,7 +507,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create("InputFontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(InputFontStyle), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -515,7 +515,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -524,7 +524,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create("InputPointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(InputPointSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -532,7 +532,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -541,7 +541,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create("LineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -549,7 +549,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -558,7 +558,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create("InputLineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create(nameof(InputLineSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -566,7 +566,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -575,7 +575,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -583,7 +583,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -592,7 +592,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create("InputUnderline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(InputUnderline), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -600,7 +600,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -609,7 +609,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -617,7 +617,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -626,7 +626,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create("InputShadow", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(InputShadow), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -634,7 +634,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -643,7 +643,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -651,7 +651,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -660,7 +660,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create("InputEmboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(InputEmboss), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -668,7 +668,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -677,7 +677,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -685,7 +685,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             PropertyMap temp = new PropertyMap();
@@ -694,7 +694,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create("InputOutline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(InputOutline), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -702,7 +702,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -711,7 +711,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create("SmoothScroll", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create(nameof(SmoothScroll), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -719,7 +719,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             bool temp = false;
@@ -728,7 +728,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create("SmoothScrollDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create(nameof(SmoothScrollDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -736,7 +736,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -745,7 +745,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create("EnableScrollBar", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create(nameof(EnableScrollBar), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -753,7 +753,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SCROLL_BAR, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             bool temp = false;
@@ -762,7 +762,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create("ScrollBarShowDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create(nameof(ScrollBarShowDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -770,7 +770,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_SHOW_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -779,7 +779,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create("ScrollBarFadeDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create(nameof(ScrollBarFadeDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -787,7 +787,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_FADE_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -796,7 +796,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -804,7 +804,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             float temp = 0.0f;
@@ -813,7 +813,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create("PlaceholderText", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(PlaceholderText), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -821,7 +821,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             string temp;
@@ -830,7 +830,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create("PlaceholderTextColor", typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(PlaceholderTextColor), typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -838,7 +838,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue((Color)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
@@ -847,7 +847,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create("EnableSelection", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(EnableSelection), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -855,7 +855,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             bool temp = false;
@@ -864,7 +864,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create("Placeholder", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(Placeholder), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -872,7 +872,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -881,7 +881,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create("LineWrapMode", typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -889,11 +889,11 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             int temp;
-            if(Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE).Get(out temp) == false)
+            if (Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE).Get(out temp) == false)
             {
                 NUILog.Error("LineWrapMode get error!");
             }
@@ -901,7 +901,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create("EnableShiftSelection", typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextEditor.EnableShiftSelection), typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -909,7 +909,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textEditor = (TextEditor)bindable;
             //textEditor.mShiftSelectionFlag(true);
@@ -917,6 +917,23 @@ namespace Tizen.NUI.BaseComponents
             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
             return temp;
         });
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(TextEditor.MatchSystemLanguageDirection), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var textEditor = (TextEditor)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var textEditor = (TextEditor)bindable;
+            bool temp = false;
+            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
+            return (bool)temp;
+        });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private string textEditorTextSid = null;
@@ -924,87 +941,36 @@ namespace Tizen.NUI.BaseComponents
         private bool systemlangTextFlag = false;
         private InputMethodContext inputMethodContext = null;
 
-        internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        private EventHandler<TextChangedEventArgs> _textEditorTextChangedEventHandler;
+        private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private EventHandler<ScrollStateChangedEventArgs> _textEditorScrollStateChangedEventHandler;
+        private ScrollStateChangedCallbackDelegate _textEditorScrollStateChangedCallbackDelegate;
 
         /// <summary>
-        /// Dispose.
+        /// Creates the TextEditor control.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public TextEditor() : this(NDalicPINVOKE.TextEditor_New(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (this.HasBody() && _textEditorTextChangedCallbackDelegate != null)
-            {
-                TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    // In order to speed up IME hide, temporarily add
-                    GetInputMethodContext()?.DestroyContext();
-                    NDalicPINVOKE.delete_TextEditor(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Event arguments that passed via the TextChanged signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TextChangedEventArgs : EventArgs
+        internal TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true)
         {
-            private TextEditor _textEditor;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// TextEditor - is the texteditor control which has the text contents changed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TextEditor TextEditor
-            {
-                get
-                {
-                    return _textEditor;
-                }
-                set
-                {
-                    _textEditor = value;
-                }
-            }
+        internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
-        private EventHandler<TextChangedEventArgs> _textEditorTextChangedEventHandler;
-        private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ScrollStateChangedCallbackDelegate(IntPtr textEditor, ScrollState state);
 
         /// <summary>
         /// An event for the TextChanged signal which can be used to subscribe or unsubscribe the event handler
@@ -1032,376 +998,122 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private void OnTextChanged(IntPtr textEditor)
-        {
-            TextChangedEventArgs e = new TextChangedEventArgs();
-
-            // Populate all members of "e" (TextChangedEventArgs) with real data
-            e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
-
-            if (_textEditorTextChangedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _textEditorTextChangedEventHandler(this, e);
-            }
-
-        }
-
         /// <summary>
-        /// Event arguments that passed via the ScrollStateChanged signal.
+        /// Event for the ScrollStateChanged signal which can be used to subscribe or unsubscribe the event handler
+        /// provided by the user. The ScrollStateChanged signal is emitted when the scroll state changes.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class ScrollStateChangedEventArgs : EventArgs
+        public event EventHandler<ScrollStateChangedEventArgs> ScrollStateChanged
         {
-            private TextEditor _textEditor;
-            private ScrollState _scrollState;
-
-            /// <summary>
-            /// TextEditor - is the texteditor control which has the scroll state changed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TextEditor TextEditor
+            add
             {
-                get
+                if (_textEditorScrollStateChangedEventHandler == null)
                 {
-                    return _textEditor;
+                    _textEditorScrollStateChangedCallbackDelegate = OnScrollStateChanged;
+                    ScrollStateChangedSignal(this).Connect(_textEditorScrollStateChangedCallbackDelegate);
                 }
-                set
+                _textEditorScrollStateChangedEventHandler += value;
+            }
+            remove
+            {
+                _textEditorScrollStateChangedEventHandler -= value;
+                if (_textEditorScrollStateChangedEventHandler == null && ScrollStateChangedSignal(this).Empty() == false)
                 {
-                    _textEditor = value;
+                    ScrollStateChangedSignal(this).Disconnect(_textEditorScrollStateChangedCallbackDelegate);
                 }
             }
+        }
 
-            /// <summary>
-            /// ScrollState - is the texteditor control scroll state.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ScrollState ScrollState
+        /// <summary>
+        /// The TranslatableText property.<br />
+        /// The text can set the SID value.<br />
+        /// </summary>
+        /// <exception cref='ArgumentNullException'>
+        /// ResourceManager about multilingual is null.
+        /// </exception>
+        /// <since_tizen> 4 </since_tizen>
+        public string TranslatableText
+        {
+            get
             {
-                get
+                return textEditorTextSid;
+            }
+            set
+            {
+                if (NUIApplication.MultilingualResourceManager == null)
                 {
-                    return _scrollState;
+                    throw new ArgumentNullException("ResourceManager about multilingual is null");
                 }
-                set
+                textEditorTextSid = value;
+                Text = SetTranslatable(textEditorTextSid);
+                NotifyPropertyChanged();
+            }
+        }
+        /// <summary>
+        /// The TranslatablePlaceholderText property.<br />
+        /// The text can set the SID value.<br />
+        /// </summary>
+        /// <exception cref='ArgumentNullException'>
+        /// ResourceManager about multilingual is null.
+        /// </exception>
+        /// <since_tizen> 4 </since_tizen>
+        public string TranslatablePlaceholderText
+        {
+            get
+            {
+                return textEditorPlaceHolderTextSid;
+            }
+            set
+            {
+                if (NUIApplication.MultilingualResourceManager == null)
                 {
-                    _scrollState = value;
+                    throw new ArgumentNullException("ResourceManager about multilingual is null");
                 }
+                textEditorPlaceHolderTextSid = value;
+                PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
+                NotifyPropertyChanged();
             }
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ScrollStateChangedCallbackDelegate(IntPtr textEditor, ScrollState state);
-        private EventHandler<ScrollStateChangedEventArgs> _textEditorScrollStateChangedEventHandler;
-        private ScrollStateChangedCallbackDelegate _textEditorScrollStateChangedCallbackDelegate;
-
         /// <summary>
-        /// Event for the ScrollStateChanged signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The ScrollStateChanged signal is emitted when the scroll state changes.<br />
+        /// The Text property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<ScrollStateChangedEventArgs> ScrollStateChanged
+        public string Text
         {
-            add
+            get
             {
-                if (_textEditorScrollStateChangedEventHandler == null)
-                {
-                    _textEditorScrollStateChangedCallbackDelegate = OnScrollStateChanged;
-                    ScrollStateChangedSignal(this).Connect(_textEditorScrollStateChangedCallbackDelegate);
-                }
-                _textEditorScrollStateChangedEventHandler += value;
+                return (string)GetValue(TextProperty);
             }
-            remove
+            set
             {
-                _textEditorScrollStateChangedEventHandler -= value;
-                if (_textEditorScrollStateChangedEventHandler == null && ScrollStateChangedSignal(this).Empty() == false)
-                {
-                    ScrollStateChangedSignal(this).Disconnect(_textEditorScrollStateChangedCallbackDelegate);
-                }
+                SetValueAndForceSendChangeSignal(TextProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private void OnScrollStateChanged(IntPtr textEditor, ScrollState state)
+        /// <summary>
+        /// The TextColor property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector4 TextColor
         {
-            ScrollStateChangedEventArgs e = new ScrollStateChangedEventArgs();
-
-            if (textEditor != global::System.IntPtr.Zero)
+            get
             {
-                // Populate all members of "e" (ScrollStateChangedEventArgs) with real data
-                e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
-                e.ScrollState = state;
+                return (Vector4)GetValue(TextColorProperty);
             }
-
-            if (_textEditorScrollStateChangedEventHandler != null)
+            set
             {
-                //here we send all data to user event handlers
-                _textEditorScrollStateChangedEventHandler(this, e);
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        internal new class Property
-        {
-            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
-            internal static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
-            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
-            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
-            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
-            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
-            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
-            internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
-            internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
-            internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
-            internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
-            internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
-            internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
-            internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
-            internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
-            internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
-            internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
-            internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
-            internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
-            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
-            internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
-            internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
-            internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
-            internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
-            internal static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
-            internal static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
-            internal static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
-            internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
-            internal static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
-            internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
-            internal static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
-            internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
-            internal static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
-            internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
-            internal static readonly int SMOOTH_SCROLL = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_get();
-            internal static readonly int SMOOTH_SCROLL_DURATION = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_DURATION_get();
-            internal static readonly int ENABLE_SCROLL_BAR = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SCROLL_BAR_get();
-            internal static readonly int SCROLL_BAR_SHOW_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_SHOW_DURATION_get();
-            internal static readonly int SCROLL_BAR_FADE_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_FADE_DURATION_get();
-            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextEditor_Property_PIXEL_SIZE_get();
-            internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextEditor_Property_LINE_COUNT_get();
-            internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SELECTION_get();
-            internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_get();
-            internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextEditor_Property_LINE_WRAP_MODE_get();
-            internal static readonly int PLACEHOLDER_TEXT = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_get();
-            internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_COLOR_get();
-            internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SHIFT_SELECTION_get();
-        }
-
-        internal class InputStyle
-        {
-            internal enum Mask
-            {
-                None = 0x0000,
-                Color = 0x0001,
-                FontFamily = 0x0002,
-                PointSize = 0x0004,
-                FontStyle = 0x0008,
-                LineSpacing = 0x0010,
-                Underline = 0x0020,
-                Shadow = 0x0040,
-                Emboss = 0x0080,
-                Outline = 0x0100
-            }
-        }
-
-        /// <summary>
-        /// Creates the TextEditor control.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public TextEditor() : this(NDalicPINVOKE.TextEditor_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal override bool IsCreateByXaml
-        {
-            get
-            {
-                return base.IsCreateByXaml;
-            }
-            set
-            {
-                base.IsCreateByXaml = value;
-
-                if (value == true)
-                {
-                    this.TextChanged += (obj, e) =>
-                    {
-                        this.Text = this.Text;
-                    };
-                }
-            }
-        }
-
-        internal TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Get the InputMethodContext instance.
-        /// </summary>
-        /// <returns>The InputMethodContext instance.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public InputMethodContext GetInputMethodContext()
-        {
-            if (inputMethodContext == null)
-            {
-                /*Avoid raising InputMethodContext reference count.*/
-                inputMethodContext = new InputMethodContext(NDalicPINVOKE.TextEditor_GetInputMethodContext(swigCPtr), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            return inputMethodContext;
-        }
-
-        internal TextEditorSignal TextChangedSignal()
-        {
-            TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ScrollStateChangedSignal ScrollStateChangedSignal(TextEditor textEditor)
-        {
-            ScrollStateChangedSignal ret = new ScrollStateChangedSignal(NDalicManualPINVOKE.TextEditor_ScrollStateChangedSignal(TextEditor.getCPtr(textEditor)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
-        {
-            SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The TranslatableText property.<br />
-        /// The text can set the SID value.<br />
-        /// </summary>
-        /// <exception cref='ArgumentNullException'>
-        /// ResourceManager about multilingual is null.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
-        public string TranslatableText
-        {
-            get
-            {
-                return textEditorTextSid;
-            }
-            set
-            {
-                if (NUIApplication.MultilingualResourceManager == null)
-                {
-                    throw new ArgumentNullException("ResourceManager about multilingual is null");
-                }
-                textEditorTextSid = value;
-                Text = SetTranslatable(textEditorTextSid);
-                NotifyPropertyChanged();
-            }
-        }
-        /// <summary>
-        /// The TranslatablePlaceholderText property.<br />
-        /// The text can set the SID value.<br />
-        /// </summary>
-        /// <exception cref='ArgumentNullException'>
-        /// ResourceManager about multilingual is null.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
-        public string TranslatablePlaceholderText
-        {
-            get
-            {
-                return textEditorPlaceHolderTextSid;
-            }
-            set
-            {
-                if (NUIApplication.MultilingualResourceManager == null)
-                {
-                    throw new ArgumentNullException("ResourceManager about multilingual is null");
-                }
-                textEditorPlaceHolderTextSid = value;
-                PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
-                NotifyPropertyChanged();
-            }
-        }
-        private string SetTranslatable(string textEditorSid)
-        {
-            string translatableText = null;
-            translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
-            if (translatableText != null)
-            {
-                if (systemlangTextFlag == false)
-                {
-                    SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
-                    systemlangTextFlag = true;
-                }
-                return translatableText;
-            }
-            else
-            {
-                translatableText = "";
-                return translatableText;
-            }
-        }
-        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
-        {
-            if (textEditorTextSid != null)
-            {
-                Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
-            }
-            if (textEditorPlaceHolderTextSid != null)
-            {
-                PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
-            }
-        }
-        /// <summary>
-        /// The Text property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Text
-        {
-            get
-            {
-                return (string)GetValue(TextProperty);
-            }
-            set
-            {
-                SetValueAndForceSendChangeSignal(TextProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// The TextColor property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector4 TextColor
-        {
-            get
-            {
-                return (Vector4)GetValue(TextColorProperty);
-            }
-            set
-            {
-                SetValue(TextColorProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// The FontFamily property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string FontFamily
+        /// <summary>
+        /// The FontFamily property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string FontFamily
         {
             get
             {
@@ -2268,6 +1980,334 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-
+        /// <summary>
+        /// The text alignment to match the direction of the system language.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool MatchSystemLanguageDirection
+        {
+            get
+            {
+                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
+            }
+            set
+            {
+                SetValue(MatchSystemLanguageDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        internal override bool IsCreateByXaml
+        {
+            get
+            {
+                return base.IsCreateByXaml;
+            }
+            set
+            {
+                base.IsCreateByXaml = value;
+
+                if (value == true)
+                {
+                    this.TextChanged += (obj, e) =>
+                    {
+                        this.Text = this.Text;
+                    };
+                }
+            }
+        }
+
+        /// <summary>
+        /// Get the InputMethodContext instance.
+        /// </summary>
+        /// <returns>The InputMethodContext instance.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public InputMethodContext GetInputMethodContext()
+        {
+            if (inputMethodContext == null)
+            {
+                /*Avoid raising InputMethodContext reference count.*/
+                inputMethodContext = new InputMethodContext(NDalicPINVOKE.TextEditor_GetInputMethodContext(swigCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            return inputMethodContext;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal TextEditorSignal TextChangedSignal()
+        {
+            TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ScrollStateChangedSignal ScrollStateChangedSignal(TextEditor textEditor)
+        {
+            ScrollStateChangedSignal ret = new ScrollStateChangedSignal(NDalicManualPINVOKE.TextEditor_ScrollStateChangedSignal(TextEditor.getCPtr(textEditor)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
+        {
+            SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (this.HasBody() && _textEditorTextChangedCallbackDelegate != null)
+            {
+                TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    // In order to speed up IME hide, temporarily add
+                    GetInputMethodContext()?.DestroyContext();
+                    NDalicPINVOKE.delete_TextEditor(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnTextChanged(IntPtr textEditor)
+        {
+            TextChangedEventArgs e = new TextChangedEventArgs();
+
+            // Populate all members of "e" (TextChangedEventArgs) with real data
+            e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
+
+            if (_textEditorTextChangedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _textEditorTextChangedEventHandler(this, e);
+            }
+
+        }
+
+        private void OnScrollStateChanged(IntPtr textEditor, ScrollState state)
+        {
+            ScrollStateChangedEventArgs e = new ScrollStateChangedEventArgs();
+
+            if (textEditor != global::System.IntPtr.Zero)
+            {
+                // Populate all members of "e" (ScrollStateChangedEventArgs) with real data
+                e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
+                e.ScrollState = state;
+            }
+
+            if (_textEditorScrollStateChangedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _textEditorScrollStateChangedEventHandler(this, e);
+            }
+        }
+
+        private string SetTranslatable(string textEditorSid)
+        {
+            string translatableText = null;
+            translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
+            if (translatableText != null)
+            {
+                if (systemlangTextFlag == false)
+                {
+                    SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
+                    systemlangTextFlag = true;
+                }
+                return translatableText;
+            }
+            else
+            {
+                translatableText = "";
+                return translatableText;
+            }
+        }
+
+        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
+        {
+            if (textEditorTextSid != null)
+            {
+                Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+            }
+            if (textEditorPlaceHolderTextSid != null)
+            {
+                PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+            }
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the TextChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TextChangedEventArgs : EventArgs
+        {
+            private TextEditor _textEditor;
+
+            /// <summary>
+            /// TextEditor - is the texteditor control which has the text contents changed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public TextEditor TextEditor
+            {
+                get
+                {
+                    return _textEditor;
+                }
+                set
+                {
+                    _textEditor = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the ScrollStateChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ScrollStateChangedEventArgs : EventArgs
+        {
+            private TextEditor _textEditor;
+            private ScrollState _scrollState;
+
+            /// <summary>
+            /// TextEditor - is the texteditor control which has the scroll state changed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public TextEditor TextEditor
+            {
+                get
+                {
+                    return _textEditor;
+                }
+                set
+                {
+                    _textEditor = value;
+                }
+            }
+
+            /// <summary>
+            /// ScrollState - is the texteditor control scroll state.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public ScrollState ScrollState
+            {
+                get
+                {
+                    return _scrollState;
+                }
+                set
+                {
+                    _scrollState = value;
+                }
+            }
+        }
+
+        internal new class Property
+        {
+            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
+            internal static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
+            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
+            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
+            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
+            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
+            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
+            internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
+            internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
+            internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
+            internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
+            internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
+            internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
+            internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
+            internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
+            internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
+            internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+            internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+            internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+            internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
+            internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
+            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
+            internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
+            internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
+            internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
+            internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
+            internal static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
+            internal static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
+            internal static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
+            internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
+            internal static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
+            internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
+            internal static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
+            internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
+            internal static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
+            internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
+            internal static readonly int SMOOTH_SCROLL = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_get();
+            internal static readonly int SMOOTH_SCROLL_DURATION = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_DURATION_get();
+            internal static readonly int ENABLE_SCROLL_BAR = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SCROLL_BAR_get();
+            internal static readonly int SCROLL_BAR_SHOW_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_SHOW_DURATION_get();
+            internal static readonly int SCROLL_BAR_FADE_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_FADE_DURATION_get();
+            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextEditor_Property_PIXEL_SIZE_get();
+            internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextEditor_Property_LINE_COUNT_get();
+            internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SELECTION_get();
+            internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_get();
+            internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextEditor_Property_LINE_WRAP_MODE_get();
+            internal static readonly int PLACEHOLDER_TEXT = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_get();
+            internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_COLOR_get();
+            internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SHIFT_SELECTION_get();
+            internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
+        }
+
+        internal class InputStyle
+        {
+            internal enum Mask
+            {
+                None = 0x0000,
+                Color = 0x0001,
+                FontFamily = 0x0002,
+                PointSize = 0x0004,
+                FontStyle = 0x0008,
+                LineSpacing = 0x0010,
+                Underline = 0x0020,
+                Shadow = 0x0040,
+                Emboss = 0x0080,
+                Outline = 0x0100
+            }
+        }
     }
 }
index 1519d7f..f350233 100755 (executable)
@@ -33,7 +33,7 @@ namespace Tizen.NUI.BaseComponents
     {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -41,7 +41,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -50,7 +50,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create("PlaceholderText", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(PlaceholderText), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -58,7 +58,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -67,7 +67,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextFocusedProperty = BindableProperty.Create("PlaceholderTextFocused", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextFocusedProperty = BindableProperty.Create(nameof(PlaceholderTextFocused), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -75,7 +75,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -84,7 +84,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -92,7 +92,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -101,7 +101,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -109,7 +109,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -118,7 +118,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -126,7 +126,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -135,7 +135,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create("MaxLength", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create(nameof(MaxLength), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -143,7 +143,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.MAX_LENGTH, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             int temp = 0;
@@ -152,7 +152,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ExceedPolicyProperty = BindableProperty.Create("ExceedPolicy", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ExceedPolicyProperty = BindableProperty.Create(nameof(ExceedPolicy), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -160,7 +160,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.EXCEED_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             int temp = 0;
@@ -169,7 +169,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextField), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextField), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -177,7 +177,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -188,15 +188,15 @@ namespace Tizen.NUI.BaseComponents
 
             switch (temp)
             {
-                case "BEGIN":                    return HorizontalAlignment.Begin;
-                case "CENTER":                    return HorizontalAlignment.Center;
-                case "END":                    return HorizontalAlignment.End;
-                default:                    return HorizontalAlignment.Begin;
+                case "BEGIN": return HorizontalAlignment.Begin;
+                case "CENTER": return HorizontalAlignment.Center;
+                case "END": return HorizontalAlignment.End;
+                default: return HorizontalAlignment.Begin;
             }
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create("VerticalAlignment", typeof(VerticalAlignment), typeof(TextField), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(TextField.VerticalAlignment), typeof(VerticalAlignment), typeof(TextField), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -204,7 +204,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -223,7 +223,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Color), typeof(TextField), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextField.TextColor), typeof(Color), typeof(TextField), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -231,7 +231,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue((Color)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
@@ -240,7 +240,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create("PlaceholderTextColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(TextField.PlaceholderTextColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -248,7 +248,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -257,40 +257,6 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create("ShadowOffset", typeof(Vector2), typeof(TextField), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textField = (TextField)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue((Vector2)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textField = (TextField)bindable;
-            Vector2 temp = new Vector2(0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textField.swigCPtr, TextField.Property.SHADOW_OFFSET).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create("ShadowColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textField = (TextField)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textField = (TextField)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textField.swigCPtr, TextField.Property.SHADOW_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create("PrimaryCursorColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
@@ -299,7 +265,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -308,7 +274,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create("SecondaryCursorColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(TextField.SecondaryCursorColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -316,7 +282,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -325,7 +291,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create("EnableCursorBlink", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(TextField.EnableCursorBlink), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -333,7 +299,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             bool temp = false;
@@ -342,7 +308,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create("CursorBlinkInterval", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(TextField.CursorBlinkInterval), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -350,7 +316,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -359,7 +325,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create("CursorBlinkDuration", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(TextField.CursorBlinkDuration), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -367,7 +333,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -376,7 +342,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create("CursorWidth", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(TextField.CursorWidth), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -384,7 +350,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             int temp = 0;
@@ -393,7 +359,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create("GrabHandleImage", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(TextField.GrabHandleImage), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -401,7 +367,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -410,7 +376,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create("GrabHandlePressedImage", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(TextField.GrabHandlePressedImage), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -418,7 +384,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -427,7 +393,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create("ScrollThreshold", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(TextField.ScrollThreshold), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -435,7 +401,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -444,7 +410,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create("ScrollSpeed", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(TextField.ScrollSpeed), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -452,7 +418,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -461,7 +427,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -469,7 +435,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -478,7 +444,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -486,7 +452,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -495,7 +461,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandlePressedImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -503,7 +469,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -512,7 +478,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandlePressedImageRight), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -520,7 +486,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -529,7 +495,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandleMarkerImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -537,7 +503,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -546,7 +512,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandleMarkerImageRight), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -554,7 +520,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -563,7 +529,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create("SelectionHighlightColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(TextField.SelectionHighlightColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -571,7 +537,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -580,7 +546,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create("DecorationBoundingBox", typeof(Rectangle), typeof(TextField), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(TextField.DecorationBoundingBox), typeof(Rectangle), typeof(TextField), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -588,7 +554,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue((Rectangle)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Rectangle temp = new Rectangle(0, 0, 0, 0);
@@ -597,7 +563,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputMethodSettingsProperty = BindableProperty.Create("InputMethodSettings", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputMethodSettingsProperty = BindableProperty.Create(nameof(TextField.InputMethodSettings), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -605,7 +571,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -614,7 +580,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputColorProperty = BindableProperty.Create("InputColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(TextField.InputColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -622,7 +588,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -631,7 +597,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(TextField.EnableMarkup), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -639,7 +605,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             bool temp = false;
@@ -648,7 +614,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create("InputFontFamily", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(TextField.InputFontFamily), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -656,7 +622,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -665,7 +631,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create("InputFontStyle", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(TextField.InputFontStyle), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -673,7 +639,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -682,7 +648,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create("InputPointSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(TextField.InputPointSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -690,7 +656,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -699,7 +665,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(TextField.Underline), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -707,7 +673,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -716,7 +682,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create("InputUnderline", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(TextField.InputUnderline), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -724,7 +690,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -733,7 +699,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(TextField.Shadow), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -741,7 +707,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -750,7 +716,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create("InputShadow", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(TextField.InputShadow), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -758,7 +724,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -767,7 +733,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(TextField.Emboss), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -775,7 +741,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -784,7 +750,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create("InputEmboss", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(TextField.InputEmboss), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -792,7 +758,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -801,7 +767,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(TextField.Outline), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -809,7 +775,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             PropertyMap temp = new PropertyMap();
@@ -818,7 +784,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create("InputOutline", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(TextField.InputOutline), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -826,7 +792,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             string temp;
@@ -835,7 +801,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HiddenInputSettingsProperty = BindableProperty.Create("HiddenInputSettings", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HiddenInputSettingsProperty = BindableProperty.Create(nameof(TextField.HiddenInputSettings), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -843,7 +809,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.HIDDEN_INPUT_SETTINGS, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -852,7 +818,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(TextField.PixelSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -860,7 +826,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             float temp = 0.0f;
@@ -869,7 +835,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create("EnableSelection", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(TextField.EnableSelection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -877,7 +843,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             bool temp = false;
@@ -886,7 +852,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create("Placeholder", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(TextField.Placeholder), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -894,7 +860,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -903,7 +869,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create("Ellipsis", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(TextField.Ellipsis), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -911,7 +877,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.ELLIPSIS, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             bool temp = false;
@@ -920,7 +886,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create("EnableShiftSelection", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextField.EnableShiftSelection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -928,142 +894,65 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textField = (TextField)bindable;
             bool temp = false;
             Tizen.NUI.Object.GetProperty(textField.swigCPtr, TextField.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
             return temp;
         });
-
-
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(TextField.MatchSystemLanguageDirection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var textField = (TextField)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
+            }
+        },
+        defaultValueCreator: (bindable) =>
+        {
+            var textField = (TextField)bindable;
+            bool temp = false;
+            Tizen.NUI.Object.GetProperty(textField.swigCPtr, TextField.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
+            return (bool)temp;
+        });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private string textFieldTextSid = null;
         private string textFieldPlaceHolderTextSid = null;
         private bool systemlangTextFlag = false;
         private InputMethodContext inputMethodCotext = null;
-
-        internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private EventHandler<TextChangedEventArgs> _textFieldTextChangedEventHandler;
+        private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
+        private EventHandler<MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
+        private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
 
         /// <summary>
-        /// Dispose.
+        /// Creates the TextField control.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public TextField() : this(NDalicPINVOKE.TextField_New(), true)
         {
-            if (disposed)
-            {
-                DisposeQueue.Instance.Add(this);
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this.HasBody())
-            {
-                if (_textFieldMaxLengthReachedCallbackDelegate != null)
-                {
-                    this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
-                }
-
-                if (_textFieldTextChangedCallbackDelegate != null)
-                {
-                    TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
-                }
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    // In order to speed up IME hide, temporarily add
-                    GetInputMethodContext()?.DestroyContext();
-                    NDalicPINVOKE.delete_TextField(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// The TextChanged event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TextChangedEventArgs : EventArgs
+        internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            private TextField _textField;
-
-            /// <summary>
-            /// TextField.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TextField TextField
-            {
-                get
-                {
-                    return _textField;
-                }
-                set
-                {
-                    _textField = value;
-                }
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The MaxLengthReached event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class MaxLengthReachedEventArgs : EventArgs
+        internal TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true)
         {
-            private TextField _textField;
-
-            /// <summary>
-            /// TextField.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TextField TextField
-            {
-                get
-                {
-                    return _textField;
-                }
-                set
-                {
-                    _textField = value;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void TextChangedCallbackDelegate(IntPtr textField);
-        private EventHandler<TextChangedEventArgs> _textFieldTextChangedEventHandler;
-        private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
-        private EventHandler<MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
-        private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
 
         /// <summary>
         /// The TextChanged event.
@@ -1090,21 +979,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private void OnTextChanged(IntPtr textField)
-        {
-            TextChangedEventArgs e = new TextChangedEventArgs();
-
-            // Populate all members of "e" (TextChangedEventArgs) with real data
-            e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
-
-            if (_textFieldTextChangedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _textFieldTextChangedEventHandler(this, e);
-            }
-
-        }
-
         /// <summary>
         /// The MaxLengthReached event.
         /// </summary>
@@ -1130,274 +1004,86 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private void OnMaxLengthReached(IntPtr textField)
+        internal enum ExceedPolicyType
         {
-            MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
+            ExceedPolicyOriginal,
+            ExceedPolicyClip
+        }
 
-            // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
-            e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
+        /// <summary>
+        /// The TranslatableText property.<br />
+        /// The text can set the SID value.<br />
+        /// </summary>
+        /// <exception cref='ArgumentNullException'>
+        /// ResourceManager about multilingual is null.
+        /// </exception>
+        /// <since_tizen> 4 </since_tizen>
+        public string TranslatableText
+        {
+            get
+            {
+                return textFieldTextSid;
+            }
+            set
+            {
+                if (NUIApplication.MultilingualResourceManager == null)
+                {
+                    throw new ArgumentNullException("ResourceManager about multilingual is null");
+                }
+                textFieldTextSid = value;
+                Text = SetTranslatable(textFieldTextSid);
+                NotifyPropertyChanged();
+            }
+        }
 
-            if (_textFieldMaxLengthReachedEventHandler != null)
+        /// <summary>
+        /// The TranslatablePlaceholderText property.<br />
+        /// The text can set the SID value.<br />
+        /// </summary>
+        /// <exception cref='ArgumentNullException'>
+        /// ResourceManager about multilingual is null.
+        /// </exception>
+        /// <since_tizen> 4 </since_tizen>
+        public string TranslatablePlaceholderText
+        {
+            get
             {
-                //here we send all data to user event handlers
-                _textFieldMaxLengthReachedEventHandler(this, e);
+                return textFieldPlaceHolderTextSid;
+            }
+            set
+            {
+                if (NUIApplication.MultilingualResourceManager == null)
+                {
+                    throw new ArgumentNullException("ResourceManager about multilingual is null");
+                }
+                textFieldPlaceHolderTextSid = value;
+                PlaceholderText = SetTranslatable(textFieldPlaceHolderTextSid);
+                NotifyPropertyChanged();
             }
+        }
 
+        /// <summary>
+        /// The Text property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string Text
+        {
+            get
+            {
+                return (string)GetValue(TextProperty);
+            }
+            set
+            {
+                SetValueAndForceSendChangeSignal(TextProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
-        internal new class Property
-        {
-            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
-            internal static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
-            internal static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
-            internal static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
-            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
-            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
-            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
-            internal static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
-            internal static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
-            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
-            internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
-            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
-            internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
-            internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextField_Property_SHADOW_OFFSET_get();
-            internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextField_Property_SHADOW_COLOR_get();
-            internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
-            internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
-            internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
-            internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
-            internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
-            internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
-            internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
-            internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
-            internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
-            internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
-            internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
-            internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
-            internal static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
-            internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
-            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
-            internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
-            internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
-            internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
-            internal static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
-            internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
-            internal static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
-            internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
-            internal static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
-            internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
-            internal static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
-            internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
-            internal static readonly int HIDDEN_INPUT_SETTINGS = NDalicManualPINVOKE.TextField_Property_HIDDEN_INPUT_SETTINGS_get();
-            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextField_Property_PIXEL_SIZE_get();
-            internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SELECTION_get();
-            internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextField_Property_PLACEHOLDER_get();
-            internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextField_Property_ELLIPSIS_get();
-            internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SHIFT_SELECTION_get();
-        }
-
-        internal class InputStyle
-        {
-            internal enum Mask
-            {
-                None = 0x0000,
-                Color = 0x0001,
-                FontFamily = 0x0002,
-                PointSize = 0x0004,
-                FontStyle = 0x0008,
-                Underline = 0x0010,
-                Shadow = 0x0020,
-                Emboss = 0x0040,
-                Outline = 0x0080
-            }
-
-        }
-
-        /// <summary>
-        /// Creates the TextField control.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public TextField() : this(NDalicPINVOKE.TextField_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal override bool IsCreateByXaml
-        {
-            get
-            {
-                return base.IsCreateByXaml;
-            }
-            set
-            {
-                base.IsCreateByXaml = value;
-
-                if (value == true)
-                {
-                    this.TextChanged += (obj, e) =>
-                    {
-                        this.Text = this.Text;
-                    };
-                }
-            }
-        }
-
-        internal TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Get the InputMethodContext instance.
-        /// </summary>
-        /// <returns>The InputMethodContext instance.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public InputMethodContext GetInputMethodContext()
-        {
-            if (inputMethodCotext == null)
-            {
-                /*Avoid raising InputMethodContext reference count.*/
-                inputMethodCotext = new InputMethodContext(NDalicPINVOKE.TextField_GetInputMethodContext(swigCPtr), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            return inputMethodCotext;
-        }
-
-        internal TextFieldSignal TextChangedSignal()
-        {
-            TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal TextFieldSignal MaxLengthReachedSignal()
-        {
-            TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal()
-        {
-            SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(NDalicPINVOKE.TextField_InputStyleChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal enum ExceedPolicyType
-        {
-            ExceedPolicyOriginal,
-            ExceedPolicyClip
-        }
-
-        /// <summary>
-        /// The TranslatableText property.<br />
-        /// The text can set the SID value.<br />
-        /// </summary>
-        /// <exception cref='ArgumentNullException'>
-        /// ResourceManager about multilingual is null.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
-        public string TranslatableText
-        {
-            get
-            {
-                return textFieldTextSid;
-            }
-            set
-            {
-                if (NUIApplication.MultilingualResourceManager == null)
-                {
-                    throw new ArgumentNullException("ResourceManager about multilingual is null");
-                }
-                textFieldTextSid = value;
-                Text = SetTranslatable(textFieldTextSid);
-                NotifyPropertyChanged();
-            }
-        }
-        /// <summary>
-        /// The TranslatablePlaceholderText property.<br />
-        /// The text can set the SID value.<br />
-        /// </summary>
-        /// <exception cref='ArgumentNullException'>
-        /// ResourceManager about multilingual is null.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
-        public string TranslatablePlaceholderText
-        {
-            get
-            {
-                return textFieldPlaceHolderTextSid;
-            }
-            set
-            {
-                if (NUIApplication.MultilingualResourceManager == null)
-                {
-                    throw new ArgumentNullException("ResourceManager about multilingual is null");
-                }
-                textFieldPlaceHolderTextSid = value;
-                PlaceholderText = SetTranslatable(textFieldPlaceHolderTextSid);
-                NotifyPropertyChanged();
-            }
-        }
-        private string SetTranslatable(string textFieldSid)
-        {
-            string translatableText = null;
-            translatableText = NUIApplication.MultilingualResourceManager?.GetString(textFieldSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
-            if (translatableText != null)
-            {
-                if (systemlangTextFlag == false)
-                {
-                    SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
-                    systemlangTextFlag = true;
-                }
-                return translatableText;
-            }
-            else
-            {
-                translatableText = "";
-                return translatableText;
-            }
-        }
-        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
-        {
-            if (textFieldTextSid != null)
-            {
-                Text = NUIApplication.MultilingualResourceManager?.GetString(textFieldTextSid, new CultureInfo(e.Value.Replace("_", "-")));
-            }
-            if (textFieldPlaceHolderTextSid != null)
-            {
-                PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textFieldPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
-            }
-        }
-        /// <summary>
-        /// The Text property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Text
-        {
-            get
-            {
-                return (string)GetValue(TextProperty);
-            }
-            set
-            {
-                SetValueAndForceSendChangeSignal(TextProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// The PlaceholderText property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string PlaceholderText
+        /// <summary>
+        /// The PlaceholderText property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string PlaceholderText
         {
             get
             {
@@ -1585,15 +1271,23 @@ namespace Tizen.NUI.BaseComponents
         /// The ShadowOffset property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Shadow property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector2 ShadowOffset
         {
             get
             {
-                return (Vector2)GetValue(ShadowOffsetProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextField.Property.SHADOW).Get(map);
+                Vector2 shadowOffset = new Vector2();
+                map.Find(TextField.Property.SHADOW, "offset")?.Get(shadowOffset);
+                return shadowOffset;
             }
             set
             {
-                SetValue(ShadowOffsetProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("offset", new PropertyValue(value));
+                SetValue(ShadowProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -1602,15 +1296,23 @@ namespace Tizen.NUI.BaseComponents
         /// The ShadowColor property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Shadow property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 ShadowColor
         {
             get
             {
-                return (Vector4)GetValue(ShadowColorProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextField.Property.SHADOW).Get(map);
+                Vector4 shadowColor = new Vector4();
+                map.Find(TextField.Property.SHADOW, "color")?.Get(shadowColor);
+                return shadowColor;
             }
             set
             {
-                SetValue(ShadowColorProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("color", new PropertyValue(value));
+                SetValue(ShadowProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -2285,5 +1987,319 @@ namespace Tizen.NUI.BaseComponents
                 NotifyPropertyChanged();
             }
         }
+
+
+        /// <summary>
+        /// The text alignment to match the direction of the system language.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool MatchSystemLanguageDirection
+        {
+            get
+            {
+                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
+            }
+            set
+            {
+                SetValue(MatchSystemLanguageDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        internal override bool IsCreateByXaml
+        {
+            get
+            {
+                return base.IsCreateByXaml;
+            }
+            set
+            {
+                base.IsCreateByXaml = value;
+
+                if (value == true)
+                {
+                    this.TextChanged += (obj, e) =>
+                    {
+                        this.Text = this.Text;
+                    };
+                }
+            }
+        }
+
+        /// <summary>
+        /// Get the InputMethodContext instance.
+        /// </summary>
+        /// <returns>The InputMethodContext instance.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public InputMethodContext GetInputMethodContext()
+        {
+            if (inputMethodCotext == null)
+            {
+                /*Avoid raising InputMethodContext reference count.*/
+                inputMethodCotext = new InputMethodContext(NDalicPINVOKE.TextField_GetInputMethodContext(swigCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            return inputMethodCotext;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal TextFieldSignal TextChangedSignal()
+        {
+            TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal TextFieldSignal MaxLengthReachedSignal()
+        {
+            TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal()
+        {
+            SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(NDalicPINVOKE.TextField_InputStyleChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                DisposeQueue.Instance.Add(this);
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this.HasBody())
+            {
+                if (_textFieldMaxLengthReachedCallbackDelegate != null)
+                {
+                    this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
+                }
+
+                if (_textFieldTextChangedCallbackDelegate != null)
+                {
+                    TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
+                }
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    // In order to speed up IME hide, temporarily add
+                    GetInputMethodContext()?.DestroyContext();
+                    NDalicPINVOKE.delete_TextField(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnTextChanged(IntPtr textField)
+        {
+            TextChangedEventArgs e = new TextChangedEventArgs();
+
+            // Populate all members of "e" (TextChangedEventArgs) with real data
+            e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
+
+            if (_textFieldTextChangedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _textFieldTextChangedEventHandler(this, e);
+            }
+        }
+
+        private void OnMaxLengthReached(IntPtr textField)
+        {
+            MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
+
+            // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
+            e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
+
+            if (_textFieldMaxLengthReachedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _textFieldMaxLengthReachedEventHandler(this, e);
+            }
+        }
+
+        private string SetTranslatable(string textFieldSid)
+        {
+            string translatableText = null;
+            translatableText = NUIApplication.MultilingualResourceManager?.GetString(textFieldSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
+            if (translatableText != null)
+            {
+                if (systemlangTextFlag == false)
+                {
+                    SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
+                    systemlangTextFlag = true;
+                }
+                return translatableText;
+            }
+            else
+            {
+                translatableText = "";
+                return translatableText;
+            }
+        }
+
+        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
+        {
+            if (textFieldTextSid != null)
+            {
+                Text = NUIApplication.MultilingualResourceManager?.GetString(textFieldTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+            }
+            if (textFieldPlaceHolderTextSid != null)
+            {
+                PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textFieldPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+            }
+        }
+
+        /// <summary>
+        /// The TextChanged event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TextChangedEventArgs : EventArgs
+        {
+            private TextField _textField;
+
+            /// <summary>
+            /// TextField.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public TextField TextField
+            {
+                get
+                {
+                    return _textField;
+                }
+                set
+                {
+                    _textField = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// The MaxLengthReached event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class MaxLengthReachedEventArgs : EventArgs
+        {
+            private TextField _textField;
+
+            /// <summary>
+            /// TextField.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public TextField TextField
+            {
+                get
+                {
+                    return _textField;
+                }
+                set
+                {
+                    _textField = value;
+                }
+            }
+        }
+
+        internal new class Property
+        {
+            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
+            internal static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
+            internal static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
+            internal static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
+            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
+            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
+            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
+            internal static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
+            internal static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
+            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
+            internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
+            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
+            internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
+            internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
+            internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
+            internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
+            internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
+            internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
+            internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
+            internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
+            internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+            internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
+            internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
+            internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+            internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+            internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
+            internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
+            internal static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
+            internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
+            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
+            internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
+            internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
+            internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
+            internal static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
+            internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
+            internal static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
+            internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
+            internal static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
+            internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
+            internal static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
+            internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
+            internal static readonly int HIDDEN_INPUT_SETTINGS = NDalicManualPINVOKE.TextField_Property_HIDDEN_INPUT_SETTINGS_get();
+            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextField_Property_PIXEL_SIZE_get();
+            internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SELECTION_get();
+            internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextField_Property_PLACEHOLDER_get();
+            internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextField_Property_ELLIPSIS_get();
+            internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SHIFT_SELECTION_get();
+            internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
+        }
+
+        internal class InputStyle
+        {
+            internal enum Mask
+            {
+                None = 0x0000,
+                Color = 0x0001,
+                FontFamily = 0x0002,
+                PointSize = 0x0004,
+                FontStyle = 0x0008,
+                Underline = 0x0010,
+                Shadow = 0x0020,
+                Emboss = 0x0040,
+                Outline = 0x0080
+            }
+        }
     }
 }
index 03ba911..a3f6f99 100755 (executable)
@@ -37,12 +37,12 @@ namespace Tizen.NUI.BaseComponents
         public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
-                       if (newValue != null)
+            if (newValue != null)
             {
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             string temp;
@@ -51,7 +51,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -59,7 +59,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             string temp;
@@ -68,7 +68,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -76,7 +76,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             PropertyMap temp = new PropertyMap();
@@ -85,7 +85,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -93,7 +93,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             float temp = 0.0f;
@@ -102,7 +102,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MultiLineProperty = BindableProperty.Create("MultiLine", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MultiLineProperty = BindableProperty.Create(nameof(MultiLine), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -110,7 +110,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.MULTI_LINE, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             bool temp = false;
@@ -119,7 +119,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             string valueToString = "";
@@ -135,7 +135,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             string temp;
@@ -146,14 +146,14 @@ namespace Tizen.NUI.BaseComponents
             switch (temp)
             {
                 case "BEGIN": return HorizontalAlignment.Begin;
-                case "CENTER":  return HorizontalAlignment.Center;
-                case "END":  return HorizontalAlignment.End;
+                case "CENTER": return HorizontalAlignment.Center;
+                case "END": return HorizontalAlignment.End;
                 default: return HorizontalAlignment.Begin;
             }
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create("VerticalAlignment", typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(VerticalAlignment), typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             string valueToString = "";
@@ -169,7 +169,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             string temp;
@@ -188,7 +188,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Color), typeof(TextLabel), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(TextLabel), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -196,7 +196,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue((Color)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
@@ -205,91 +205,6 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create("ShadowOffset", typeof(Vector2), typeof(TextLabel), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue((Vector2)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            Vector2 temp = new Vector2(0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_OFFSET).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create("ShadowColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineEnabledProperty = BindableProperty.Create("UnderlineEnabled", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_ENABLED).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineColorProperty = BindableProperty.Create("UnderlineColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineHeightProperty = BindableProperty.Create("UnderlineHeight", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_HEIGHT).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
@@ -298,7 +213,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             bool temp = false;
@@ -307,7 +222,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create("EnableAutoScroll", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create(nameof(EnableAutoScroll), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -315,7 +230,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.ENABLE_AUTO_SCROLL, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             bool temp = false;
@@ -324,7 +239,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create("AutoScrollSpeed", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create(nameof(AutoScrollSpeed), typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -332,7 +247,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_SPEED, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             int temp = 0;
@@ -341,7 +256,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create("AutoScrollLoopCount", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create(nameof(AutoScrollLoopCount), typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -349,7 +264,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             int temp = 0;
@@ -358,7 +273,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create("AutoScrollGap", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create(nameof(AutoScrollGap), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -366,7 +281,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_GAP, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             float temp = 0.0f;
@@ -375,7 +290,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create("LineSpacing", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -383,7 +298,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             float temp = 0.0f;
@@ -392,7 +307,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -400,7 +315,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             PropertyMap temp = new PropertyMap();
@@ -409,7 +324,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -417,7 +332,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             PropertyMap temp = new PropertyMap();
@@ -426,7 +341,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -434,7 +349,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             string temp;
@@ -443,7 +358,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -451,7 +366,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             PropertyMap temp = new PropertyMap();
@@ -460,7 +375,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -468,7 +383,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             float temp = 0.0f;
@@ -477,7 +392,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create("Ellipsis", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(Ellipsis), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -485,7 +400,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.ELLIPSIS, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             bool temp = false;
@@ -494,7 +409,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create("AutoScrollLoopDelay", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create(nameof(AutoScrollLoopDelay), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -502,7 +417,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_LOOP_DELAY, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             float temp = 0.0f;
@@ -511,7 +426,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create("AutoScrollStopMode", typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create(nameof(AutoScrollStopMode), typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -519,11 +434,11 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_STOP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             string temp;
-            if(Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_STOP_MODE).Get(out temp) == false)
+            if (Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_STOP_MODE).Get(out temp) == false)
             {
                 NUILog.Error("AutoScrollStopMode get error!");
             }
@@ -536,7 +451,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create("LineWrapMode", typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -544,7 +459,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             int temp;
@@ -556,7 +471,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create("VerticalLineAlignment", typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create(nameof(VerticalLineAlignment), typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -564,119 +479,34 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_LINE_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var textLabel = (TextLabel)bindable;
             int temp = 0;
             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_LINE_ALIGNMENT).Get(out temp);
             return (VerticalLineAlignment)temp;
         });
-
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private string textLabelSid = null;
-        private bool systemlangTextFlag = false;
-        internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Downcasts a handle to textLabel handle
-        /// </summary>
-        /// <param name="handle"></param>
-        /// <returns></returns>
-        /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use as keyword.
-        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead! " +
-            "Like: " +
-            "BaseHandle handle = new TextLabel(\"Hello World!\"); " +
-            "TextLabel label = handle as TextLabel")]
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static TextLabel DownCast(BaseHandle handle)
-        {
-            TextLabel ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TextLabel;
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(MatchSystemLanguageDirection), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            var textLabel = (TextLabel)bindable;
+            if (newValue != null)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TextLabel(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
-
-            base.Dispose(type);
-        }
-
-        internal new class Property
+        },
+        defaultValueCreator: (bindable) =>
         {
-            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
-            internal static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
-            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
-            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
-            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
-            internal static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
-            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
-            internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
-            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
-            internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
-            internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
-            internal static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
-            internal static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
-            internal static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
-            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
-            internal static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
-            internal static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
-            internal static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
-            internal static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
-            internal static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
-            internal static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
-            internal static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
-            internal static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
-            internal static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
-            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextLabel_Property_PIXEL_SIZE_get();
-            internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextLabel_Property_ELLIPSIS_get();
-            internal static readonly int AUTO_SCROLL_STOP_MODE = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_STOP_MODE_get();
-            internal static readonly int AUTO_SCROLL_LOOP_DELAY = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_DELAY_get();
-            internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextLabel_Property_LINE_COUNT_get();
-            internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextLabel_Property_LINE_WRAP_MODE_get();
-            internal static readonly int TEXT_DIRECTION = NDalicManualPINVOKE.TextLabel_Property_TEXT_DIRECTION_get();
-            internal static readonly int VERTICAL_LINE_ALIGNMENT = NDalicManualPINVOKE.TextLabel_Property_VERTICAL_LINE_ALIGNMENT_get();
-        }
+            var textLabel = (TextLabel)bindable;
+            bool temp = false;
+            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
+            return temp;
+        });
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        private string textLabelSid = null;
+        private bool systemlangTextFlag = false;
 
         /// <summary>
         /// Creates the TextLabel control.
@@ -685,7 +515,6 @@ namespace Tizen.NUI.BaseComponents
         public TextLabel() : this(NDalicPINVOKE.TextLabel_New__SWIG_0(), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
         }
 
         /// <summary>
@@ -696,7 +525,6 @@ namespace Tizen.NUI.BaseComponents
         public TextLabel(string text) : this(NDalicPINVOKE.TextLabel_New__SWIG_1(text), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
         }
 
         internal TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true)
@@ -704,12 +532,9 @@ namespace Tizen.NUI.BaseComponents
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Invoked whenever the binding context of the textlabel changes. Implement this method to add class handling for this event.
-        /// </summary>
-        protected override void OnBindingContextChanged()
+        internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            base.OnBindingContextChanged();
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -751,10 +576,6 @@ namespace Tizen.NUI.BaseComponents
                 NotifyPropertyChanged();
             }
         }
-        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
-        {
-            Text = NUIApplication.MultilingualResourceManager?.GetString(textLabelSid, new CultureInfo(e.Value.Replace("_", "-")));
-        }
 
         /// <summary>
         /// The Text property.<br />
@@ -907,15 +728,23 @@ namespace Tizen.NUI.BaseComponents
         /// The drop shadow offset 0 indicates no shadow.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Shadow property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector2 ShadowOffset
         {
             get
             {
-                return (Vector2)GetValue(ShadowOffsetProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextLabel.Property.SHADOW).Get(map);
+                Vector2 shadowOffset = new Vector2();
+                map.Find(TextLabel.Property.SHADOW, "offset")?.Get(shadowOffset);
+                return shadowOffset;
             }
             set
             {
-                SetValue(ShadowOffsetProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("offset", new PropertyValue(value));
+                SetValue(ShadowProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -925,15 +754,23 @@ namespace Tizen.NUI.BaseComponents
         /// The color of a drop shadow.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Shadow property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 ShadowColor
         {
             get
             {
-                return (Vector4)GetValue(ShadowColorProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextLabel.Property.SHADOW).Get(map);
+                Vector4 shadowColor = new Vector4();
+                map.Find(TextLabel.Property.SHADOW, "color")?.Get(shadowColor);
+                return shadowColor;
             }
             set
             {
-                SetValue(ShadowColorProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("color", new PropertyValue(value));
+                SetValue(ShadowProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -943,15 +780,23 @@ namespace Tizen.NUI.BaseComponents
         /// The underline enabled flag.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Underline property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public bool UnderlineEnabled
         {
             get
             {
-                return (bool)GetValue(UnderlineEnabledProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextLabel.Property.UNDERLINE).Get(map);
+                bool underlineEnabled = false;
+                map.Find(TextLabel.Property.UNDERLINE, "enable")?.Get(out underlineEnabled);
+                return underlineEnabled;
             }
             set
             {
-                SetValue(UnderlineEnabledProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("enable", new PropertyValue(value));
+                SetValue(UnderlineProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -961,15 +806,23 @@ namespace Tizen.NUI.BaseComponents
         /// Overrides the underline height from font metrics.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Underline property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 UnderlineColor
         {
             get
             {
-                return (Vector4)GetValue(UnderlineColorProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextLabel.Property.UNDERLINE).Get(map);
+                Vector4 underlineColor = new Vector4();
+                map.Find(TextLabel.Property.UNDERLINE, "color")?.Get(underlineColor);
+                return underlineColor;
             }
             set
             {
-                SetValue(UnderlineColorProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("color", new PropertyValue(value));
+                SetValue(UnderlineProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -979,15 +832,23 @@ namespace Tizen.NUI.BaseComponents
         /// Overrides the underline height from font metrics.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Underline property instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public float UnderlineHeight
         {
             get
             {
-                return (float)GetValue(UnderlineHeightProperty);
+                PropertyMap map = new PropertyMap();
+                GetProperty(TextLabel.Property.UNDERLINE).Get(map);
+                float underlineHeight = 0.0f;
+                map.Find(TextLabel.Property.UNDERLINE, "height")?.Get(out underlineHeight);
+                return underlineHeight;
             }
             set
             {
-                SetValue(UnderlineHeightProperty, value);
+                PropertyMap temp = new PropertyMap();
+                temp.Insert("height", new PropertyValue(value));
+                SetValue(UnderlineProperty, temp);
                 NotifyPropertyChanged();
             }
         }
@@ -1310,5 +1171,129 @@ namespace Tizen.NUI.BaseComponents
                 NotifyPropertyChanged();
             }
         }
+
+        /// <summary>
+        /// The text alignment to match the direction of the system language.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool MatchSystemLanguageDirection
+        {
+            get
+            {
+                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
+            }
+            set
+            {
+                SetValue(MatchSystemLanguageDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// Downcasts a handle to textLabel handle
+        /// </summary>
+        /// <param name="handle"></param>
+        /// <returns></returns>
+        /// <since_tizen> 3 </since_tizen>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use as keyword.
+        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead! " +
+            "Like: " +
+            "BaseHandle handle = new TextLabel(\"Hello World!\"); " +
+            "TextLabel label = handle as TextLabel")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static TextLabel DownCast(BaseHandle handle)
+        {
+            TextLabel ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TextLabel;
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TextLabel(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        /// <summary>
+        /// Invoked whenever the binding context of the textlabel changes. Implement this method to add class handling for this event.
+        /// </summary>
+        protected override void OnBindingContextChanged()
+        {
+            base.OnBindingContextChanged();
+        }
+
+        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
+        {
+            Text = NUIApplication.MultilingualResourceManager?.GetString(textLabelSid, new CultureInfo(e.Value.Replace("_", "-")));
+        }
+
+        internal new class Property
+        {
+            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
+            internal static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
+            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
+            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
+            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
+            internal static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
+            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
+            internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
+            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
+            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
+            internal static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
+            internal static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
+            internal static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
+            internal static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
+            internal static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
+            internal static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
+            internal static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
+            internal static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
+            internal static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
+            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextLabel_Property_PIXEL_SIZE_get();
+            internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextLabel_Property_ELLIPSIS_get();
+            internal static readonly int AUTO_SCROLL_STOP_MODE = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_STOP_MODE_get();
+            internal static readonly int AUTO_SCROLL_LOOP_DELAY = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_DELAY_get();
+            internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextLabel_Property_LINE_COUNT_get();
+            internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextLabel_Property_LINE_WRAP_MODE_get();
+            internal static readonly int TEXT_DIRECTION = NDalicManualPINVOKE.TextLabel_Property_TEXT_DIRECTION_get();
+            internal static readonly int VERTICAL_LINE_ALIGNMENT = NDalicManualPINVOKE.TextLabel_Property_VERTICAL_LINE_ALIGNMENT_get();
+            internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
+        }
     }
 }
index 544a5a9..c881947 100755 (executable)
@@ -37,7 +37,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(videoView.swigCPtr, VideoView.Property.VIDEO, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var videoView = (VideoView)bindable;
             PropertyMap temp = new PropertyMap();
@@ -54,7 +54,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(videoView.swigCPtr, VideoView.Property.LOOPING, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var videoView = (VideoView)bindable;
             bool temp = false;
@@ -71,7 +71,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(videoView.swigCPtr, VideoView.Property.MUTED, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var videoView = (VideoView)bindable;
             bool temp = false;
@@ -88,7 +88,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(videoView.swigCPtr, VideoView.Property.VOLUME, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var videoView = (VideoView)bindable;
             PropertyMap temp = new PropertyMap();
@@ -105,7 +105,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(videoView.swigCPtr, VideoView.Property.UNDERLAY, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var videoView = (VideoView)bindable;
             bool temp = false;
@@ -122,7 +122,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(videoView.swigCPtr, VideoView.Property.VIDEO, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var videoView = (VideoView)bindable;
             string temp;
@@ -131,89 +131,41 @@ namespace Tizen.NUI.BaseComponents
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal VideoView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VideoView_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VideoView obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private FinishedCallbackDelegate _videoViewFinishedCallbackDelegate;
+        private EventHandler<FinishedEventArgs> _videoViewFinishedEventHandler;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized VideoView.
         /// </summary>
-        /// <param name="type">DisposeTypes</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public VideoView() : this(NDalicPINVOKE.VideoView_New__SWIG_0(), true)
         {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (this != null && _videoViewFinishedCallbackDelegate != null)
-            {
-                FinishedSignal().Disconnect(_videoViewFinishedCallbackDelegate);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_VideoView(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Event arguments that passed via the finished signal.
+        /// Creates an initialized VideoView.<br />
+        /// If the string is empty, VideoView will not display anything.<br />
         /// </summary>
+        /// <param name="url">The URL of the video resource to display.</param>
         /// <since_tizen> 3 </since_tizen>
-        public class FinishedEventArgs : EventArgs
+        public VideoView(string url) : this(NDalicPINVOKE.VideoView_New__SWIG_1(url), true)
         {
-            private VideoView _videoView;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// The view for video playback and display.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public VideoView VideoView
-            {
-                get
-                {
-                    return _videoView;
-                }
-                set
-                {
-                    _videoView = value;
-                }
-            }
+        internal VideoView(VideoView videoView) : this(NDalicPINVOKE.new_VideoView__SWIG_1(VideoView.getCPtr(videoView)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal VideoView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VideoView_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void FinishedCallbackDelegate(IntPtr data);
-        private EventHandler<FinishedEventArgs> _videoViewFinishedEventHandler;
-        private FinishedCallbackDelegate _videoViewFinishedCallbackDelegate;
-
 
         /// <summary>
         /// Event for the finished signal which can be used to subscribe or unsubscribe the event handler
@@ -241,54 +193,107 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        // Callback for VideoView Finished signal
-        private void OnFinished(IntPtr data)
+        /// <summary>
+        /// Video file setting type of PropertyMap.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap Video
         {
-            FinishedEventArgs e = new FinishedEventArgs();
-
-            // Populate all members of "e" (FinishedEventArgs) with real data
-            e.VideoView = Registry.GetManagedBaseHandleFromNativePtr(data) as VideoView;
-
-            if (_videoViewFinishedEventHandler != null)
+            get
             {
-                //here we send all data to user event handlers
-                _videoViewFinishedEventHandler(this, e);
+                return (PropertyMap)GetValue(VideoProperty);
+            }
+            set
+            {
+                SetValue(VideoProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        internal new class Property
+        /// <summary>
+        /// The looping status, true or false.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Looping
         {
-            internal static readonly int VIDEO = NDalicPINVOKE.VideoView_Property_VIDEO_get();
-            internal static readonly int LOOPING = NDalicPINVOKE.VideoView_Property_LOOPING_get();
-            internal static readonly int MUTED = NDalicPINVOKE.VideoView_Property_MUTED_get();
-            internal static readonly int VOLUME = NDalicPINVOKE.VideoView_Property_VOLUME_get();
-            internal static readonly int UNDERLAY = NDalicPINVOKE.VideoView_Property_UNDERLAY_get();
+            get
+            {
+                return (bool)GetValue(LoopingProperty);
+            }
+            set
+            {
+                SetValue(LoopingProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Creates an initialized VideoView.
+        /// The mute status, true or false.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public VideoView() : this(NDalicPINVOKE.VideoView_New__SWIG_0(), true)
+        public bool Muted
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            get
+            {
+                return (bool)GetValue(MutedProperty);
+            }
+            set
+            {
+                SetValue(MutedProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Creates an initialized VideoView.<br />
-        /// If the string is empty, VideoView will not display anything.<br />
+        /// The left and the right volume scalar as float type, PropertyMap with two values ( "left" and "right" ).
         /// </summary>
-        /// <param name="url">The URL of the video resource to display.</param>
         /// <since_tizen> 3 </since_tizen>
-        public VideoView(string url) : this(NDalicPINVOKE.VideoView_New__SWIG_1(url), true)
+        public PropertyMap Volume
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (PropertyMap)GetValue(VolumeProperty);
+            }
+            set
+            {
+                SetValue(VolumeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
 
+        /// <summary>
+        /// Video rendering by underlay, true or false.<br />
+        /// This shows video composited underneath the window by the system. This means it may ignore rotation of the video-view.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public bool Underlay
+        {
+            get
+            {
+                return (bool)GetValue(UnderlayProperty);
+            }
+            set
+            {
+                SetValue(UnderlayProperty, value);
+                NotifyPropertyChanged();
+            }
         }
-        internal VideoView(VideoView videoView) : this(NDalicPINVOKE.new_VideoView__SWIG_1(VideoView.getCPtr(videoView)), true)
+
+        /// <summary>
+        /// Video file URL as string type.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public string ResourceUrl
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (string)GetValue(ResourceUrlProperty);
+            }
+            set
+            {
+                SetValue(ResourceUrlProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
@@ -350,109 +355,99 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <summary>
-        /// Video file setting type of PropertyMap.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Video
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VideoView obj)
         {
-            get
-            {
-                return (PropertyMap)GetValue(VideoProperty);
-            }
-            set
-            {
-                SetValue(VideoProperty, value);
-                NotifyPropertyChanged();
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// The looping status, true or false.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">DisposeTypes</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool Looping
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return (bool)GetValue(LoopingProperty);
+                return;
             }
-            set
+
+            if (type == DisposeTypes.Explicit)
             {
-                SetValue(LoopingProperty, value);
-                NotifyPropertyChanged();
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        /// <summary>
-        /// The mute status, true or false.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Muted
-        {
-            get
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (this != null && _videoViewFinishedCallbackDelegate != null)
             {
-                return (bool)GetValue(MutedProperty);
+                FinishedSignal().Disconnect(_videoViewFinishedCallbackDelegate);
             }
-            set
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                SetValue(MutedProperty, value);
-                NotifyPropertyChanged();
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_VideoView(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// The left and the right volume scalar as float type, PropertyMap with two values ( "left" and "right" ).
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Volume
+        // Callback for VideoView Finished signal
+        private void OnFinished(IntPtr data)
         {
-            get
-            {
-                return (PropertyMap)GetValue(VolumeProperty);
-            }
-            set
+            FinishedEventArgs e = new FinishedEventArgs();
+
+            // Populate all members of "e" (FinishedEventArgs) with real data
+            e.VideoView = Registry.GetManagedBaseHandleFromNativePtr(data) as VideoView;
+
+            if (_videoViewFinishedEventHandler != null)
             {
-                SetValue(VolumeProperty, value);
-                NotifyPropertyChanged();
+                //here we send all data to user event handlers
+                _videoViewFinishedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// Video rendering by underlay, true or false.<br />
-        /// This shows video composited underneath the window by the system. This means it may ignore rotation of the video-view.
+        /// Event arguments that passed via the finished signal.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public bool Underlay
+        /// <since_tizen> 3 </since_tizen>
+        public class FinishedEventArgs : EventArgs
         {
-            get
-            {
-                return (bool)GetValue(UnderlayProperty);
-            }
-            set
+            private VideoView _videoView;
+
+            /// <summary>
+            /// The view for video playback and display.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public VideoView VideoView
             {
-                SetValue(UnderlayProperty, value);
-                NotifyPropertyChanged();
+                get
+                {
+                    return _videoView;
+                }
+                set
+                {
+                    _videoView = value;
+                }
             }
         }
 
-        /// <summary>
-        /// Video file URL as string type.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public string ResourceUrl
+        internal new class Property
         {
-            get
-            {
-                return (string)GetValue(ResourceUrlProperty);
-            }
-            set
-            {
-                SetValue(ResourceUrlProperty, value);
-                NotifyPropertyChanged();
-            }
+            internal static readonly int VIDEO = NDalicPINVOKE.VideoView_Property_VIDEO_get();
+            internal static readonly int LOOPING = NDalicPINVOKE.VideoView_Property_LOOPING_get();
+            internal static readonly int MUTED = NDalicPINVOKE.VideoView_Property_MUTED_get();
+            internal static readonly int VOLUME = NDalicPINVOKE.VideoView_Property_VOLUME_get();
+            internal static readonly int UNDERLAY = NDalicPINVOKE.VideoView_Property_UNDERLAY_get();
         }
-
     }
-
 }
index 5050725..41c9e2e 100755 (executable)
@@ -22,43 +22,49 @@ using Tizen.NUI.Binding;
 namespace Tizen.NUI.BaseComponents
 {
     /// <summary>
-    /// View is the base class for all views.
+    /// The View layout Direction type.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class View : Container, IResourcesProvider
+    /// <since_tizen> 4 </since_tizen>
+    public enum ViewLayoutDirectionType
     {
-
         /// <summary>
-        /// Flag to allow Layouting to be disabled for Views.
-        /// Once a View has a Layout set then any children added to Views from then on will receive
-        /// automatic Layouts.
+        /// Left to right.
         /// </summary>
-        private static bool layoutingDisabled = true;
+        /// <since_tizen> 4 </since_tizen>
+        LTR,
+        /// <summary>
+        /// Right to left.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        RTL
+    }
 
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool IsResourcesCreated
-        {
-            get
-            {
-                return Application.Current.IsResourcesCreated;
-            }
-        }
+    internal enum ChildLayoutData
+    {
+        /// <summary>
+        /// Constant which indicates child size should match parent size
+        /// </summary>
+        MatchParent = -1,
+        /// <summary>
+        /// Constant which indicates parent should take the smallest size possible to wrap it's children with their desired size
+        /// </summary>
+        WrapContent = -2,
+    }
 
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public ResourceDictionary XamlResources
-        {
-            get
-            {
-                return Application.Current.XamlResources;
-            }
-            set
-            {
-                Application.Current.XamlResources = value;
-            }
-        }
+    internal enum ResourceLoadingStatusType
+    {
+        Invalid = -1,
+        Preparing = 0,
+        Ready,
+        Failed,
+    }
 
+    /// <summary>
+    /// View is the base class for all views.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class View : Container, IResourcesProvider
+    {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty StyleNameProperty = BindableProperty.Create("StyleName", typeof(string), typeof(View), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
@@ -69,7 +75,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -86,7 +92,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((Color)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
@@ -111,7 +117,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string backgroundImage = "";
@@ -136,7 +142,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.BACKGROUND, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -153,7 +159,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.STATE, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             int temp = 0;
@@ -175,13 +181,13 @@ namespace Tizen.NUI.BaseComponents
                 {
                     case States.Normal: { valueToString = "NORMAL"; break; }
                     case States.Focused: { valueToString = "FOCUSED"; break; }
-                    case States.Disabled:   { valueToString = "DISABLED"; break; }
+                    case States.Disabled: { valueToString = "DISABLED"; break; }
                     default: { valueToString = "NORMAL"; break; }
                 }
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -207,7 +213,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -232,7 +238,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -249,7 +255,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             int temp = 0;
@@ -266,7 +272,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue((Vector4)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
@@ -283,7 +289,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -300,7 +306,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -317,7 +323,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -343,7 +349,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -379,7 +385,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -392,7 +398,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 case "top": return Tizen.NUI.VerticalAlignmentType.Top;
                 case "center": return Tizen.NUI.VerticalAlignmentType.Center;
-                case "bottom":  return Tizen.NUI.VerticalAlignmentType.Bottom;
+                case "bottom": return Tizen.NUI.VerticalAlignmentType.Bottom;
                 default: return Tizen.NUI.VerticalAlignmentType.Top;
             }
         });
@@ -406,7 +412,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, LinearLayout.ChildProperty.WEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -415,13 +421,13 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create("LeftFocusableView", typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LeftFocusableViewProperty = BindableProperty.Create(nameof(View.LeftFocusableView), typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
-            if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View).GetId(); }
+            if (newValue != null) { view.LeftFocusableViewId = (int)(newValue as View)?.GetId(); }
             else { view.LeftFocusableViewId = -1; }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             if (view.LeftFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.LeftFocusableViewId); }
@@ -429,27 +435,28 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create("RightFocusableView", typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty RightFocusableViewProperty = BindableProperty.Create(nameof(View.RightFocusableView), typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
-            if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View).GetId(); }
+            if (newValue != null) { view.RightFocusableViewId = (int)(newValue as View)?.GetId(); }
             else { view.RightFocusableViewId = -1; }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
-            if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId);  }
+            if (view.RightFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.RightFocusableViewId); }
             return null;
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create("UpFocusableView", typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UpFocusableViewProperty = BindableProperty.Create(nameof(View.UpFocusableView), typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
+
             if (newValue != null) { view.UpFocusableViewId = (int)(newValue as View).GetId(); }
-            else  { view.UpFocusableViewId = -1; }
+            else { view.UpFocusableViewId = -1; }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             if (view.UpFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.UpFocusableViewId); }
@@ -457,13 +464,13 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create("DownFocusableView", typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DownFocusableViewProperty = BindableProperty.Create(nameof(View.DownFocusableView), typeof(View), typeof(View), default(View), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
-            if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View).GetId(); }
+            if (newValue != null) { view.DownFocusableViewId = (int)(newValue as View)?.GetId(); }
             else { view.DownFocusableViewId = -1; }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             if (view.DownFocusableViewId >= 0) { return view.ConvertIdToView((uint)view.DownFocusableViewId); }
@@ -474,24 +481,24 @@ namespace Tizen.NUI.BaseComponents
         public static readonly BindableProperty FocusableProperty = BindableProperty.Create("Focusable", typeof(bool), typeof(View), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
-            if (newValue != null)  { view.SetKeyboardFocusable((bool)newValue); }
+            if (newValue != null) { view.SetKeyboardFocusable((bool)newValue); }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             return view.IsKeyboardFocusable();
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty Size2DProperty = BindableProperty.Create("Size2D", typeof(Size2D), typeof(View), new Size2D(0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty Size2DProperty = BindableProperty.Create("Size2D", typeof(Size2D), typeof(View), new Size2D(0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
             {
-                Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue( new Size((Size2D)newValue)));
+                Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue(new Size((Size2D)newValue)));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Size temp = new Size(0.0f, 0.0f, 0.0f);
@@ -509,7 +516,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.OPACITY, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -518,15 +525,15 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty Position2DProperty = BindableProperty.Create("Position2D", typeof(Position2D), typeof(View), new Position2D(0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty Position2DProperty = BindableProperty.Create("Position2D", typeof(Position2D), typeof(View), new Position2D(0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
             {
-                Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue( new Position((Position2D)newValue) ));
+                Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue(new Position((Position2D)newValue)));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Position temp = new Position(0.0f, 0.0f, 0.0f);
@@ -543,7 +550,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -559,7 +566,7 @@ namespace Tizen.NUI.BaseComponents
             if (newValue != null)
             {
                 value = (int)newValue;
-                if(value < 0)
+                if (value < 0)
                 {
                     NUILog.Error("SiblingOrder should be bigger than 0 or equal to 0.");
                     return;
@@ -581,7 +588,7 @@ namespace Tizen.NUI.BaseComponents
                 }
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             var parentChildren = view.GetParent()?.Children;
@@ -606,7 +613,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue((Position)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Position temp = new Position(0.0f, 0.0f, 0.0f);
@@ -624,7 +631,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue((Position)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Position temp = new Position(0.0f, 0.0f, 0.0f);
@@ -641,7 +648,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -658,7 +665,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -675,7 +682,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION, new Tizen.NUI.PropertyValue((Position)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Position temp = new Position(0.0f, 0.0f, 0.0f);
@@ -692,7 +699,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_X, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -709,7 +716,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Y, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -726,7 +733,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.POSITION_Z, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -743,7 +750,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.ORIENTATION, new Tizen.NUI.PropertyValue((Rotation)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Rotation temp = new Rotation();
@@ -760,7 +767,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE, new Tizen.NUI.PropertyValue((Vector3)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
@@ -777,7 +784,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_X, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -794,7 +801,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Y, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -811,7 +818,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SCALE_Z, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             float temp = 0.0f;
@@ -828,7 +835,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.NAME, new Tizen.NUI.PropertyValue((string)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -845,7 +852,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SENSITIVE, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -862,7 +869,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -879,7 +886,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -896,7 +903,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -913,7 +920,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -939,7 +946,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue((Vector3)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
@@ -956,7 +963,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -987,7 +994,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -998,7 +1005,7 @@ namespace Tizen.NUI.BaseComponents
             switch (temp)
             {
                 case "FIXED": return ResizePolicyType.Fixed;
-                case "USE_NATURAL_SIZE":  return ResizePolicyType.UseNaturalSize;
+                case "USE_NATURAL_SIZE": return ResizePolicyType.UseNaturalSize;
                 case "FILL_TO_PARENT": return ResizePolicyType.FillToParent;
                 case "SIZE_RELATIVE_TO_PARENT": return ResizePolicyType.SizeRelativeToParent;
                 case "SIZE_FIXED_OFFSET_FROM_PARENT": return ResizePolicyType.SizeFixedOffsetFromParent;
@@ -1026,7 +1033,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             string temp;
@@ -1052,7 +1059,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -1069,7 +1076,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -1078,7 +1085,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Extents), typeof(View), new Extents(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Extents), typeof(View), new Extents(0, 0, 0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
@@ -1086,7 +1093,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.PADDING, new Tizen.NUI.PropertyValue((Extents)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Extents temp = new Extents(0, 0, 0, 0);
@@ -1095,7 +1102,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SizeProperty = BindableProperty.Create("Size", typeof(Size), typeof(View), new Size(0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SizeProperty = BindableProperty.Create("Size", typeof(Size), typeof(View), new Size(0, 0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
@@ -1103,7 +1110,8 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.SIZE, new Tizen.NUI.PropertyValue((Size)newValue));
             }
         },
-        defaultValueCreator: (bindable) => {
+        defaultValueCreator: (bindable) =>
+        {
             var view = (View)bindable;
             Size temp = new Size(0, 0, 0);
             Tizen.NUI.Object.GetProperty(view.swigCPtr, View.Property.SIZE).Get(temp);
@@ -1111,7 +1119,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create("MinimumSize", typeof(Size2D), typeof(View), new Size2D(0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MinimumSizeProperty = BindableProperty.Create("MinimumSize", typeof(Size2D), typeof(View), new Size2D(0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
@@ -1119,7 +1127,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue((Size2D)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Size2D temp = new Size2D(0, 0);
@@ -1128,7 +1136,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create("MaximumSize", typeof(Size2D), typeof(View), new Size2D(0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MaximumSizeProperty = BindableProperty.Create("MaximumSize", typeof(Size2D), typeof(View), new Size2D(0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
@@ -1136,7 +1144,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue((Size2D)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Size2D temp = new Size2D(0, 0);
@@ -1153,7 +1161,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -1170,7 +1178,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             int temp = 0;
@@ -1190,7 +1198,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.INHERIT_LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             bool temp = false;
@@ -1207,7 +1215,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             int temp;
@@ -1219,7 +1227,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Extents), typeof(View), new Extents(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MarginProperty = BindableProperty.Create("Margin", typeof(Extents), typeof(View), new Extents(0, 0, 0, 0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
             if (newValue != null)
@@ -1227,7 +1235,7 @@ namespace Tizen.NUI.BaseComponents
                 Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.MARGIN, new Tizen.NUI.PropertyValue((Extents)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var view = (View)bindable;
             Extents temp = new Extents(0, 0, 0, 0);
@@ -1236,13 +1244,59 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty StyleProperty = BindableProperty.Create("Style", typeof(Style), typeof(View), default(Style),
-    propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable)._mergedStyle.Style = (Style)newvalue);
-
+        public static readonly BindableProperty StyleProperty = BindableProperty.Create("Style", typeof(Style), typeof(View), default(Style), propertyChanged: (bindable, oldvalue, newvalue) => ((View)bindable)._mergedStyle.Style = (Style)newvalue);
 
+        internal readonly MergedStyle _mergedStyle;
+        /// <summary>
+        /// Flag to allow Layouting to be disabled for Views.
+        /// Once a View has a Layout set then any children added to Views from then on will receive
+        /// automatic Layouts.
+        /// </summary>
+        private static bool layoutingDisabled = true;
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         private bool layoutSet = false; // Flag to indicate if SetLayout was called or View was automatically given a Layout
+        private bool _backgroundImageSynchronosLoading = false;
+        private EventHandler _offWindowEventHandler;
+        private OffWindowEventCallbackType _offWindowEventCallback;
+        private EventHandlerWithReturnType<object, WheelEventArgs, bool> _wheelEventHandler;
+        private WheelEventCallbackType _wheelEventCallback;
+        private EventHandlerWithReturnType<object, KeyEventArgs, bool> _keyEventHandler;
+        private KeyCallbackType _keyCallback;
+        private EventHandlerWithReturnType<object, TouchEventArgs, bool> _touchDataEventHandler;
+        private TouchDataCallbackType _touchDataCallback;
+        private EventHandlerWithReturnType<object, HoverEventArgs, bool> _hoverEventHandler;
+        private HoverEventCallbackType _hoverEventCallback;
+        private EventHandler<VisibilityChangedEventArgs> _visibilityChangedEventHandler;
+        private VisibilityChangedEventCallbackType _visibilityChangedEventCallback;
+        private EventHandler _keyInputFocusGainedEventHandler;
+        private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
+        private EventHandler _keyInputFocusLostEventHandler;
+        private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
+        private EventHandler _onRelayoutEventHandler;
+        private OnRelayoutEventCallbackType _onRelayoutEventCallback;
+        private EventHandler _onWindowEventHandler;
+        private OnWindowEventCallbackType _onWindowEventCallback;
+        private EventHandler<LayoutDirectionChangedEventArgs> _layoutDirectionChangedEventHandler;
+        private LayoutDirectionChangedEventCallbackType _layoutDirectionChangedEventCallback;
+        // Resource Ready Signal
+        private EventHandler _resourcesLoadedEventHandler;
+        private ResourcesLoadedCallbackType _ResourcesLoadedCallback;
+        private EventHandler<BackgroundResourceLoadedEventArgs> _backgroundResourceLoadedEventHandler;
+        private _backgroundResourceLoadedCallbackType _backgroundResourceLoadedCallback;
+
+        /// <summary>
+        /// Creates a new instance of a view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public View() : this(NDalicPINVOKE.View_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+        internal View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn)
         {
@@ -1254,1605 +1308,2321 @@ namespace Tizen.NUI.BaseComponents
             _mergedStyle = new MergedStyle(GetType(), this);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj)
+        internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void OffWindowEventCallbackType(IntPtr control);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void VisibilityChangedEventCallbackType(IntPtr data, bool visibility, VisibilityChangeType type);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ResourcesLoadedCallbackType(IntPtr control);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void _backgroundResourceLoadedCallbackType(IntPtr view);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void KeyInputFocusLostCallbackType(IntPtr control);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void OnRelayoutEventCallbackType(IntPtr control);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void OnWindowEventCallbackType(IntPtr control);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void LayoutDirectionChangedEventCallbackType(IntPtr data, ViewLayoutDirectionType type);
+
         /// <summary>
-        /// Event argument passed through the ChildAdded event.
+        /// Event when a child is removed.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class ChildAddedEventArgs : EventArgs
-        {
-            /// <summary>
-            /// Added child view at moment.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public View Added { get; set; }
-        }
-
+        public new event EventHandler<ChildRemovedEventArgs> ChildRemoved;
         /// <summary>
         /// Event when a child is added.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
         public new event EventHandler<ChildAddedEventArgs> ChildAdded;
 
-        // From Container Base class
         /// <summary>
-        /// Adds a child view to this view.
+        /// An event for the KeyInputFocusGained signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// The KeyInputFocusGained signal is emitted when the control gets the key input focus.<br />
         /// </summary>
-        /// <seealso cref="Container.Add" />
-        /// <since_tizen> 4 </since_tizen>
-        public override void Add(View child)
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler FocusGained
         {
-            if (null == child)
+            add
             {
-                Tizen.Log.Fatal("NUI", "Child is null");
-                return;
-            }
+                if (_keyInputFocusGainedEventHandler == null)
+                {
+                    _keyInputFocusGainedCallback = OnKeyInputFocusGained;
+                    this.KeyInputFocusGainedSignal().Connect(_keyInputFocusGainedCallback);
+                }
 
-            Log.Info("NUI", "Adding Child:" + child.Name + " to " + Name + "\n");
+                _keyInputFocusGainedEventHandler += value;
+            }
 
-            Container oldParent = child.GetParent();
-            if (oldParent != this)
+            remove
             {
-                if (oldParent != null)
-                {
-                    oldParent.Remove(child);
-                }
-                child.InternalParent = this;
+                _keyInputFocusGainedEventHandler -= value;
 
-                // Only give children a layout if their parent is an explicit container or a pure View.
-                // Pure View meaning not derived from a View, e.g a Legacy container.
-                // layoutSet flag is true when the View became a layout using the set Layout API opposed to automatically due to it's parent.
-                // First time the set Layout API is used by any View the Window no longer has layoutingDisabled.
-                if ((true == layoutSet || GetType() == typeof(View)) && null == child.Layout && false == layoutingDisabled )
+                if (_keyInputFocusGainedEventHandler == null && KeyInputFocusGainedSignal().Empty() == false)
                 {
-                    Log.Info("NUI", "Parent[" + Name + "] Layout set[" + layoutSet.ToString() + "] Pure View[" + (!layoutSet).ToString() + "]\n");
-                    // If child is a View or explicitly set to require layouting then set child as a LayoutGroup.
-                    // If the child is derived from a View then it may be a legacy or existing container hence will do layouting itself.
-                    if( child.GetType() == typeof(View) ||  true == child.LayoutingRequired )
-                    {
-                        Log.Info("NUI", "Creating LayoutGroup for " + child.Name + " LayoutingRequired[" + child.LayoutingRequired.ToString() + "]\n");
-                        child.SetLayout( new LayoutGroup() );
-                    }
-                    else
-                    {
-                        // Adding child as a leaf, layouting will not propagate past this child.
-                        // Legacy containers will be a LayoutItems too and layout their children how they wish.
-                        Log.Info("NUI", "Creating LayoutItem for " + child.Name + "\n");
-                        child.SetLayout( new LayoutItem() );
-                    }
+                    this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
                 }
+            }
+        }
 
-                if (Layout)
+        /// <summary>
+        /// An event for the KeyInputFocusLost signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// The KeyInputFocusLost signal is emitted when the control loses the key input focus.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler FocusLost
+        {
+            add
+            {
+                if (_keyInputFocusLostEventHandler == null)
                 {
-                    Layout.LayoutChildren.Add(child.Layout);
+                    _keyInputFocusLostCallback = OnKeyInputFocusLost;
+                    this.KeyInputFocusLostSignal().Connect(_keyInputFocusLostCallback);
                 }
 
-                NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                Children.Add(child);
+                _keyInputFocusLostEventHandler += value;
+            }
 
-                if (ChildAdded != null)
+            remove
+            {
+                _keyInputFocusLostEventHandler -= value;
+
+                if (_keyInputFocusLostEventHandler == null && KeyInputFocusLostSignal().Empty() == false)
                 {
-                    ChildAddedEventArgs e = new ChildAddedEventArgs
-                    {
-                        Added = child
-                    };
-                    ChildAdded(this, e);
+                    this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
                 }
             }
         }
 
         /// <summary>
-        /// Event argument passed through the ChildRemoved event.
+        /// An event for the KeyPressed signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// The KeyPressed signal is emitted when the key event is received.<br />
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class ChildRemovedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
         {
-            /// <summary>
-            /// Removed child view at moment.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public View Removed { get; set; }
-        }
+            add
+            {
+                if (_keyEventHandler == null)
+                {
+                    _keyCallback = OnKeyEvent;
+                    this.KeyEventSignal().Connect(_keyCallback);
+                }
 
-        /// <summary>
-        /// Event when a child is removed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public new event EventHandler<ChildRemovedEventArgs> ChildRemoved;
+                _keyEventHandler += value;
+            }
+
+            remove
+            {
+                _keyEventHandler -= value;
 
+                if (_keyEventHandler == null && KeyEventSignal().Empty() == false)
+                {
+                    this.KeyEventSignal().Disconnect(_keyCallback);
+                }
+            }
+        }
 
         /// <summary>
-        /// Removes a child view from this View. If the view was not a child of this view, this is a no-op.
+        /// An event for the OnRelayout signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// The OnRelayout signal is emitted after the size has been set on the view during relayout.<br />
         /// </summary>
-        /// <seealso cref="Container.Remove" />
-        /// <since_tizen> 4 </since_tizen>
-        public override void Remove(View child)
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler Relayout
         {
-            NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            Children.Remove(child);
-            child.InternalParent = null;
-
-            if (Layout)
+            add
             {
-                if(child.Layout)
+                if (_onRelayoutEventHandler == null)
                 {
-                    Layout.LayoutChildren.Remove(child.Layout);
+                    _onRelayoutEventCallback = OnRelayout;
+                    this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
                 }
+
+                _onRelayoutEventHandler += value;
             }
 
-            if (ChildRemoved != null)
+            remove
             {
-                ChildRemovedEventArgs e = new ChildRemovedEventArgs
+                _onRelayoutEventHandler -= value;
+
+                if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
                 {
-                    Removed = child
-                };
-                ChildRemoved(this, e);
+                    this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
+                }
+
             }
         }
 
         /// <summary>
-        /// Retrieves a child view by index.
+        /// An event for the touched signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// The touched signal is emitted when the touch input is received.<br />
         /// </summary>
-        /// <seealso cref="Container.GetChildAt" />
-        /// <since_tizen> 4 </since_tizen>
-        public override View GetChildAt(uint index)
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandlerWithReturnType<object, TouchEventArgs, bool> TouchEvent
         {
-            if (index < Children.Count)
+            add
             {
-                return Children[Convert.ToInt32(index)];
+                if (_touchDataEventHandler == null)
+                {
+                    _touchDataCallback = OnTouch;
+                    this.TouchSignal().Connect(_touchDataCallback);
+                }
+
+                _touchDataEventHandler += value;
             }
-            else
+
+            remove
             {
-                return null;
+                _touchDataEventHandler -= value;
+
+                if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
+                {
+                    this.TouchSignal().Disconnect(_touchDataCallback);
+                }
+
             }
         }
 
         /// <summary>
-        /// Retrieves the number of children held by the view.
+        /// An event for the hovered signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// The hovered signal is emitted when the hover input is received.<br />
         /// </summary>
-        /// <seealso cref="Container.GetChildCount" />
-        /// <since_tizen> 4 </since_tizen>
-        public override uint GetChildCount()
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandlerWithReturnType<object, HoverEventArgs, bool> HoverEvent
         {
-            return Convert.ToUInt32(Children.Count);
-        }
+            add
+            {
+                if (_hoverEventHandler == null)
+                {
+                    _hoverEventCallback = OnHoverEvent;
+                    this.HoveredSignal().Connect(_hoverEventCallback);
+                }
 
-        /// <summary>
-        /// Gets the views parent.
-        /// </summary>
-        /// <seealso cref="Container.GetParent()" />
-        /// <since_tizen> 4 </since_tizen>
-        public override Container GetParent()
-        {
-            return this.InternalParent as Container;
-        }
+                _hoverEventHandler += value;
+            }
 
-        internal bool IsTopLevelView()
-        {
-            if (GetParent() is Layer)
+            remove
             {
-                return true;
+                _hoverEventHandler -= value;
+
+                if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
+                {
+                    this.HoveredSignal().Disconnect(_hoverEventCallback);
+                }
+
             }
-            return false;
         }
 
         /// <summary>
-        /// you can override it to clean-up your own resources.
+        /// An event for the WheelMoved signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// The WheelMoved signal is emitted when the wheel event is received.<br />
         /// </summary>
-        /// <param name="type">DisposeTypes</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelEvent
         {
-            if (disposed)
+            add
             {
-                return;
-            }
+                if (_wheelEventHandler == null)
+                {
+                    _wheelEventCallback = OnWheelEvent;
+                    this.WheelEventSignal().Connect(_wheelEventCallback);
+                }
 
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                _wheelEventHandler += value;
             }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
+            remove
             {
-                DisConnectFromSignals();
-            }
+                _wheelEventHandler -= value;
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
+                if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
                 {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_View(swigCPtr);
+                    this.WheelEventSignal().Disconnect(_wheelEventCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
 
-            foreach (View view in Children)
-            {
-                view.InternalParent = null;
             }
-
-            base.Dispose(type);
-
         }
 
-        private void DisConnectFromSignals()
+        /// <summary>
+        /// An event for the OnWindow signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// The OnWindow signal is emitted after the view has been connected to the window.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler AddedToWindow
         {
-            // Save current CPtr.
-            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
-
-            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
-            swigCPtr = GetBaseHandleCPtrHandleRef;
-
-            if (_onRelayoutEventCallback != null)
+            add
             {
-                this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
-            }
+                if (_onWindowEventHandler == null)
+                {
+                    _onWindowEventCallback = OnWindow;
+                    this.OnWindowSignal().Connect(_onWindowEventCallback);
+                }
 
-            if (_offWindowEventCallback != null)
-            {
-                this.OffWindowSignal().Disconnect(_offWindowEventCallback);
+                _onWindowEventHandler += value;
             }
 
-            if (_onWindowEventCallback != null)
+            remove
             {
-                this.OnWindowSignal().Disconnect(_onWindowEventCallback);
-            }
+                _onWindowEventHandler -= value;
 
-            if (_wheelEventCallback != null)
-            {
-                this.WheelEventSignal().Disconnect(_wheelEventCallback);
+                if (_onWindowEventHandler == null && OnWindowSignal().Empty() == false)
+                {
+                    this.OnWindowSignal().Disconnect(_onWindowEventCallback);
+                }
             }
+        }
 
-            if (_hoverEventCallback != null)
+        /// <summary>
+        /// An event for the OffWindow signal, which can be used to subscribe or unsubscribe the event handler.<br />
+        /// OffWindow signal is emitted after the view has been disconnected from the window.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler RemovedFromWindow
+        {
+            add
             {
-                this.HoveredSignal().Disconnect(_hoverEventCallback);
-            }
+                if (_offWindowEventHandler == null)
+                {
+                    _offWindowEventCallback = OffWindow;
+                    this.OffWindowSignal().Connect(_offWindowEventCallback);
+                }
 
-            if (_touchDataCallback != null)
-            {
-                this.TouchSignal().Disconnect(_touchDataCallback);
+                _offWindowEventHandler += value;
             }
 
-            if (_ResourcesLoadedCallback != null)
+            remove
             {
-                this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
-            }
+                _offWindowEventHandler -= value;
 
-            if (_offWindowEventCallback != null)
-            {
-                this.OffWindowSignal().Disconnect(_offWindowEventCallback);
+                if (_offWindowEventHandler == null && OffWindowSignal().Empty() == false)
+                {
+                    this.OffWindowSignal().Disconnect(_offWindowEventCallback);
+                }
             }
+        }
 
-            if (_onWindowEventCallback != null)
+        /// <summary>
+        /// An event for visibility change which can be used to subscribe or unsubscribe the event handler.<br />
+        /// This signal is emitted when the visible property of this or a parent view is changed.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<VisibilityChangedEventArgs> VisibilityChanged
+        {
+            add
             {
-                this.OnWindowSignal().Disconnect(_onWindowEventCallback);
-            }
-
-            if (_wheelEventCallback != null)
-            {
-                this.WheelEventSignal().Disconnect(_wheelEventCallback);
-            }
+                if (_visibilityChangedEventHandler == null)
+                {
+                    _visibilityChangedEventCallback = OnVisibilityChanged;
+                    VisibilityChangedSignal(this).Connect(_visibilityChangedEventCallback);
+                }
 
-            if (_hoverEventCallback != null)
-            {
-                this.HoveredSignal().Disconnect(_hoverEventCallback);
+                _visibilityChangedEventHandler += value;
             }
 
-            if (_touchDataCallback != null)
+            remove
             {
-                this.TouchSignal().Disconnect(_touchDataCallback);
-            }
+                _visibilityChangedEventHandler -= value;
 
-            if (_onRelayoutEventCallback != null)
-            {
-                this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
+                if (_visibilityChangedEventHandler == null && VisibilityChangedSignal(this).Empty() == false)
+                {
+                    VisibilityChangedSignal(this).Disconnect(_visibilityChangedEventCallback);
+                }
             }
+        }
 
-            if (_keyCallback != null)
+        /// <summary>
+        /// Event for layout direction change which can be used to subscribe/unsubscribe the event handler.<br />
+        /// This signal is emitted when the layout direction property of this or a parent view is changed.<br />
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<LayoutDirectionChangedEventArgs> LayoutDirectionChanged
+        {
+            add
             {
-                this.KeyEventSignal().Disconnect(_keyCallback);
-            }
+                if (_layoutDirectionChangedEventHandler == null)
+                {
+                    _layoutDirectionChangedEventCallback = OnLayoutDirectionChanged;
+                    LayoutDirectionChangedSignal(this).Connect(_layoutDirectionChangedEventCallback);
+                }
 
-            if (_keyInputFocusLostCallback != null)
-            {
-                this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
+                _layoutDirectionChangedEventHandler += value;
             }
 
-            if (_keyInputFocusGainedCallback != null)
+            remove
             {
-                this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
-            }
+                _layoutDirectionChangedEventHandler -= value;
 
-            if (_backgroundResourceLoadedCallback != null)
-            {
-                this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
+                if (_layoutDirectionChangedEventHandler == null && LayoutDirectionChangedSignal(this).Empty() == false)
+                {
+                    LayoutDirectionChangedSignal(this).Disconnect(_layoutDirectionChangedEventCallback);
+                }
             }
-
-            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
-            // Restore current CPtr.
-            swigCPtr = currentCPtr;
         }
 
-        private EventHandler _keyInputFocusGainedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
-        private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
-
         /// <summary>
-        /// An event for the KeyInputFocusGained signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// The KeyInputFocusGained signal is emitted when the control gets the key input focus.<br />
+        /// An event for the ResourcesLoadedSignal signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
+        /// This signal is emitted after all resources required by a view are loaded and ready.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler FocusGained
+        public event EventHandler ResourcesLoaded
         {
             add
             {
-                if (_keyInputFocusGainedEventHandler == null)
+                if (_resourcesLoadedEventHandler == null)
                 {
-                    _keyInputFocusGainedCallback = OnKeyInputFocusGained;
-                    this.KeyInputFocusGainedSignal().Connect(_keyInputFocusGainedCallback);
+                    _ResourcesLoadedCallback = OnResourcesLoaded;
+                    this.ResourcesLoadedSignal().Connect(_ResourcesLoadedCallback);
                 }
 
-                _keyInputFocusGainedEventHandler += value;
+                _resourcesLoadedEventHandler += value;
             }
 
             remove
             {
-                _keyInputFocusGainedEventHandler -= value;
+                _resourcesLoadedEventHandler -= value;
 
-                if (_keyInputFocusGainedEventHandler == null && KeyInputFocusGainedSignal().Empty() == false)
+                if (_resourcesLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
                 {
-                    this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
+                    this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
                 }
             }
         }
 
-        private void OnKeyInputFocusGained(IntPtr view)
-        {
-            if (_keyInputFocusGainedEventHandler != null)
-            {
-                _keyInputFocusGainedEventHandler(this, null);
-            }
-        }
-
-
-        private EventHandler _keyInputFocusLostEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void KeyInputFocusLostCallbackType(IntPtr control);
-        private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
-
-        /// <summary>
-        /// An event for the KeyInputFocusLost signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// The KeyInputFocusLost signal is emitted when the control loses the key input focus.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler FocusLost
+        internal event EventHandler<BackgroundResourceLoadedEventArgs> BackgroundResourceLoaded
         {
             add
             {
-                if (_keyInputFocusLostEventHandler == null)
+                if (_backgroundResourceLoadedEventHandler == null)
                 {
-                    _keyInputFocusLostCallback = OnKeyInputFocusLost;
-                    this.KeyInputFocusLostSignal().Connect(_keyInputFocusLostCallback);
+                    _backgroundResourceLoadedCallback = OnBackgroundResourceLoaded;
+                    this.ResourcesLoadedSignal().Connect(_backgroundResourceLoadedCallback);
                 }
 
-                _keyInputFocusLostEventHandler += value;
+                _backgroundResourceLoadedEventHandler += value;
             }
-
             remove
             {
-                _keyInputFocusLostEventHandler -= value;
+                _backgroundResourceLoadedEventHandler -= value;
 
-                if (_keyInputFocusLostEventHandler == null && KeyInputFocusLostSignal().Empty() == false)
+                if (_backgroundResourceLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
                 {
-                    this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
+                    this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
                 }
             }
         }
 
-        private void OnKeyInputFocusLost(IntPtr view)
+        /// <summary>
+        /// Enumeration for describing the states of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum States
         {
-            if (_keyInputFocusLostEventHandler != null)
-            {
-                _keyInputFocusLostEventHandler(this, null);
-            }
+            /// <summary>
+            /// The normal state.
+            /// </summary>
+            Normal,
+            /// <summary>
+            /// The focused state.
+            /// </summary>
+            Focused,
+            /// <summary>
+            /// The disabled state.
+            /// </summary>
+            Disabled
         }
 
         /// <summary>
-        /// Event arguments that passed via the KeyEvent signal.
+        /// Describes the direction to move the focus towards.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class KeyEventArgs : EventArgs
+        public enum FocusDirection
         {
-            private Key _key;
-
             /// <summary>
-            /// Key - is the key sent to the view.
+            /// Move keyboard focus towards the left direction.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
-            public Key Key
+            Left,
+            /// <summary>
+            /// Move keyboard focus towards the right direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Right,
+            /// <summary>
+            /// Move keyboard focus towards the up direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Up,
+            /// <summary>
+            /// Move keyboard focus towards the down direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Down,
+            /// <summary>
+            /// Move keyboard focus towards the previous page direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            PageUp,
+            /// <summary>
+            /// Move keyboard focus towards the next page direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            PageDown
+        }
+
+        internal enum PropertyRange
+        {
+            PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+            CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
+            CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
+        }
+
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool IsResourcesCreated
+        {
+            get
             {
-                get
-                {
-                    return _key;
-                }
-                set
-                {
-                    _key = value;
-                }
+                return Application.Current.IsResourcesCreated;
             }
         }
 
-        private EventHandlerWithReturnType<object, KeyEventArgs, bool> _keyEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
-        private KeyCallbackType _keyCallback;
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public ResourceDictionary XamlResources
+        {
+            get
+            {
+                return Application.Current.XamlResources;
+            }
+            set
+            {
+                Application.Current.XamlResources = value;
+            }
+        }
 
         /// <summary>
-        /// An event for the KeyPressed signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// The KeyPressed signal is emitted when the key event is received.<br />
+        /// The StyleName, type string.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
+        public string StyleName
         {
-            add
+            get
             {
-                if (_keyEventHandler == null)
-                {
-                    _keyCallback = OnKeyEvent;
-                    this.KeyEventSignal().Connect(_keyCallback);
-                }
-
-                _keyEventHandler += value;
+                return (string)GetValue(StyleNameProperty);
             }
-
-            remove
+            set
             {
-                _keyEventHandler -= value;
-
-                if (_keyEventHandler == null && KeyEventSignal().Empty() == false)
-                {
-                    this.KeyEventSignal().Disconnect(_keyCallback);
-                }
+                SetValue(StyleNameProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
+        /// <summary>
+        /// The mutually exclusive with BACKGROUND_IMAGE and BACKGROUND type Vector4.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Color BackgroundColor
         {
-            if (keyEvent == global::System.IntPtr.Zero)
+            get
             {
-                NUILog.Error("keyEvent should not be null!");
-                return true;
+                return (Color)GetValue(BackgroundColorProperty);
             }
-
-            KeyEventArgs e = new KeyEventArgs();
-
-            bool result = false;
-
-            e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
-
-            if (_keyEventHandler != null)
+            set
             {
-                Delegate[] delegateList = _keyEventHandler.GetInvocationList();
-
-                // Oring the result of each callback.
-                foreach (EventHandlerWithReturnType<object, KeyEventArgs, bool> del in delegateList)
-                {
-                    result |= del(this, e);
-                }
+                SetValue(BackgroundColorProperty, value);
+                NotifyPropertyChanged();
             }
-
-            return result;
         }
 
-        private EventHandler _onRelayoutEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void OnRelayoutEventCallbackType(IntPtr control);
-        private OnRelayoutEventCallbackType _onRelayoutEventCallback;
-
         /// <summary>
-        /// An event for the OnRelayout signal which can be used to subscribe or unsubscribe the event handler.<br />
-        /// The OnRelayout signal is emitted after the size has been set on the view during relayout.<br />
+        /// The mutually exclusive with BACKGROUND_COLOR and BACKGROUND type Map.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler Relayout
+        public string BackgroundImage
         {
-            add
+            get
             {
-                if (_onRelayoutEventHandler == null)
-                {
-                    _onRelayoutEventCallback = OnRelayout;
-                    this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
-                }
-
-                _onRelayoutEventHandler += value;
+                return (string)GetValue(BackgroundImageProperty);
             }
-
-            remove
+            set
             {
-                _onRelayoutEventHandler -= value;
-
-                if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
-                {
-                    this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
-                }
-
+                SetValue(BackgroundImageProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View OnRelayout signal
-        private void OnRelayout(IntPtr data)
+        /// <summary>
+        /// The background of view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyMap Background
         {
-            if (_onRelayoutEventHandler != null)
+            get
             {
-                _onRelayoutEventHandler(this, null);
+                return (PropertyMap)GetValue(BackgroundProperty);
+            }
+            set
+            {
+                SetValue(BackgroundProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
+
         /// <summary>
-        /// Event arguments that passed via the touch signal.
+        /// The current state of the view.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class TouchEventArgs : EventArgs
+        public States State
         {
-            private Touch _touch;
-
-            /// <summary>
-            /// Touch - contains the information of touch points.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Touch Touch
+            get
             {
-                get
-                {
-                    return _touch;
-                }
-                set
-                {
-                    _touch = value;
-                }
+                return (States)GetValue(StateProperty);
+            }
+            set
+            {
+                SetValue(StateProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private EventHandlerWithReturnType<object, TouchEventArgs, bool> _touchDataEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
-        private TouchDataCallbackType _touchDataCallback;
-
         /// <summary>
-        /// An event for the touched signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// The touched signal is emitted when the touch input is received.<br />
+        /// The current sub state of the view.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandlerWithReturnType<object, TouchEventArgs, bool> TouchEvent
+        public States SubState
         {
-            add
+            get
             {
-                if (_touchDataEventHandler == null)
-                {
-                    _touchDataCallback = OnTouch;
-                    this.TouchSignal().Connect(_touchDataCallback);
-                }
-
-                _touchDataEventHandler += value;
+                return (States)GetValue(SubStateProperty);
             }
-
-            remove
+            set
             {
-                _touchDataEventHandler -= value;
-
-                if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
-                {
-                    this.TouchSignal().Disconnect(_touchDataCallback);
-                }
-
+                SetValue(SubStateProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View TouchSignal
-        private bool OnTouch(IntPtr view, IntPtr touchData)
+        /// <summary>
+        /// Displays a tooltip
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyMap Tooltip
         {
-            if (touchData == global::System.IntPtr.Zero)
+            get
             {
-                NUILog.Error("touchData should not be null!");
-                return true;
+                return (PropertyMap)GetValue(TooltipProperty);
             }
-
-            TouchEventArgs e = new TouchEventArgs();
-
-            e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
-
-            if (_touchDataEventHandler != null)
+            set
             {
-                return _touchDataEventHandler(this, e);
+                SetValue(TooltipProperty, value);
+                NotifyPropertyChanged();
             }
-            return false;
         }
 
-
         /// <summary>
-        /// Event arguments that passed via the hover signal.
+        /// Displays a tooltip as a text.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class HoverEventArgs : EventArgs
+        public string TooltipText
         {
-            private Hover _hover;
-
-            /// <summary>
-            /// Hover - contains touch points that represent the points that are currently being hovered or the points where a hover has stopped.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Hover Hover
+            set
             {
-                get
-                {
-                    return _hover;
-                }
-                set
-                {
-                    _hover = value;
-                }
+                SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
+                NotifyPropertyChanged();
             }
         }
 
-        private EventHandlerWithReturnType<object, HoverEventArgs, bool> _hoverEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
-        private HoverEventCallbackType _hoverEventCallback;
-
         /// <summary>
-        /// An event for the hovered signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// The hovered signal is emitted when the hover input is received.<br />
+        /// The Child property of FlexContainer.<br />
+        /// The proportion of the free space in the container, the flex item will receive.<br />
+        /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandlerWithReturnType<object, HoverEventArgs, bool> HoverEvent
+        public float Flex
         {
-            add
+            get
             {
-                if (_hoverEventHandler == null)
-                {
-                    _hoverEventCallback = OnHoverEvent;
-                    this.HoveredSignal().Connect(_hoverEventCallback);
-                }
-
-                _hoverEventHandler += value;
+                return (float)GetValue(FlexProperty);
             }
-
-            remove
+            set
             {
-                _hoverEventHandler -= value;
-
-                if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
-                {
-                    this.HoveredSignal().Disconnect(_hoverEventCallback);
-                }
-
+                SetValue(FlexProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View Hover signal
-        private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
+        /// <summary>
+        /// The Child property of FlexContainer.<br />
+        /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int AlignSelf
         {
-            if (hoverEvent == global::System.IntPtr.Zero)
+            get
             {
-                NUILog.Error("hoverEvent should not be null!");
-                return true;
+                return (int)GetValue(AlignSelfProperty);
             }
-
-            HoverEventArgs e = new HoverEventArgs();
-
-            e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
-
-            if (_hoverEventHandler != null)
+            set
             {
-                return _hoverEventHandler(this, e);
+                SetValue(AlignSelfProperty, value);
+                NotifyPropertyChanged();
             }
-            return false;
         }
 
-
         /// <summary>
-        /// Event arguments that passed via the wheel signal.
+        /// The Child property of FlexContainer.<br />
+        /// The space around the flex item.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class WheelEventArgs : EventArgs
+        public Vector4 FlexMargin
         {
-            private Wheel _wheel;
-
-            /// <summary>
-            /// WheelEvent - store a wheel rolling type: MOUSE_WHEEL or CUSTOM_WHEEL.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Wheel Wheel
+            get
             {
-                get
-                {
-                    return _wheel;
-                }
-                set
-                {
-                    _wheel = value;
-                }
+                return (Vector4)GetValue(FlexMarginProperty);
+            }
+            set
+            {
+                SetValue(FlexMarginProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private EventHandlerWithReturnType<object, WheelEventArgs, bool> _wheelEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
-        private WheelEventCallbackType _wheelEventCallback;
-
         /// <summary>
-        /// An event for the WheelMoved signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// The WheelMoved signal is emitted when the wheel event is received.<br />
+        /// The top-left cell this child occupies, if not set, the first available cell is used.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelEvent
+        public Vector2 CellIndex
         {
-            add
+            get
             {
-                if (_wheelEventHandler == null)
-                {
-                    _wheelEventCallback = OnWheelEvent;
-                    this.WheelEventSignal().Connect(_wheelEventCallback);
-                }
-
-                _wheelEventHandler += value;
+                return (Vector2)GetValue(CellIndexProperty);
             }
-
-            remove
+            set
             {
-                _wheelEventHandler -= value;
-
-                if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
-                {
-                    this.WheelEventSignal().Disconnect(_wheelEventCallback);
-                }
-
+                SetValue(CellIndexProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View Wheel signal
-        private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
+        /// <summary>
+        /// The number of rows this child occupies, if not set, the default value is 1.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float RowSpan
         {
-            if (wheelEvent == global::System.IntPtr.Zero)
+            get
             {
-                NUILog.Error("wheelEvent should not be null!");
-                return true;
+                return (float)GetValue(RowSpanProperty);
             }
-
-            WheelEventArgs e = new WheelEventArgs();
-
-            e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
-
-            if (_wheelEventHandler != null)
+            set
             {
-                return _wheelEventHandler(this, e);
+                SetValue(RowSpanProperty, value);
+                NotifyPropertyChanged();
             }
-            return false;
         }
 
-
-        private EventHandler _onWindowEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void OnWindowEventCallbackType(IntPtr control);
-        private OnWindowEventCallbackType _onWindowEventCallback;
-
         /// <summary>
-        /// An event for the OnWindow signal which can be used to subscribe or unsubscribe the event handler.<br />
-        /// The OnWindow signal is emitted after the view has been connected to the window.<br />
+        /// The number of columns this child occupies, if not set, the default value is 1.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler AddedToWindow
+        public float ColumnSpan
         {
-            add
+            get
             {
-                if (_onWindowEventHandler == null)
-                {
-                    _onWindowEventCallback = OnWindow;
-                    this.OnWindowSignal().Connect(_onWindowEventCallback);
-                }
-
-                _onWindowEventHandler += value;
+                return (float)GetValue(ColumnSpanProperty);
             }
-
-            remove
+            set
             {
-                _onWindowEventHandler -= value;
-
-                if (_onWindowEventHandler == null && OnWindowSignal().Empty() == false)
-                {
-                    this.OnWindowSignal().Disconnect(_onWindowEventCallback);
-                }
+                SetValue(ColumnSpanProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View OnWindow signal
-        private void OnWindow(IntPtr data)
+        /// <summary>
+        /// The horizontal alignment of this child inside the cells, if not set, the default value is 'left'.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
         {
-            if (_onWindowEventHandler != null)
+            get
             {
-                _onWindowEventHandler(this, null);
+                return (HorizontalAlignmentType)GetValue(CellHorizontalAlignmentProperty);
+            }
+            set
+            {
+                SetValue(CellHorizontalAlignmentProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-
-        private EventHandler _offWindowEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void OffWindowEventCallbackType(IntPtr control);
-        private OffWindowEventCallbackType _offWindowEventCallback;
-
         /// <summary>
-        /// An event for the OffWindow signal, which can be used to subscribe or unsubscribe the event handler.<br />
-        /// OffWindow signal is emitted after the view has been disconnected from the window.<br />
+        /// The vertical alignment of this child inside the cells, if not set, the default value is 'top'.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler RemovedFromWindow
+        public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
         {
-            add
+            get
             {
-                if (_offWindowEventHandler == null)
-                {
-                    _offWindowEventCallback = OffWindow;
-                    this.OffWindowSignal().Connect(_offWindowEventCallback);
-                }
-
-                _offWindowEventHandler += value;
+                return (VerticalAlignmentType)GetValue(CellVerticalAlignmentProperty);
             }
-
-            remove
+            set
             {
-                _offWindowEventHandler -= value;
-
-                if (_offWindowEventHandler == null && OffWindowSignal().Empty() == false)
-                {
-                    this.OffWindowSignal().Disconnect(_offWindowEventCallback);
-                }
+                SetValue(CellVerticalAlignmentProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View OffWindow signal
-        private void OffWindow(IntPtr data)
+        /// <summary>
+        /// The left focusable view.<br />
+        /// This will return null if not set.<br />
+        /// This will also return null if the specified left focusable view is not on a window.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public View LeftFocusableView
         {
-            if (_offWindowEventHandler != null)
+            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+            get
             {
-                _offWindowEventHandler(this, null);
+                return (View)GetValue(LeftFocusableViewProperty);
+            }
+            set
+            {
+                SetValue(LeftFocusableViewProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// Event arguments of visibility changed.
+        /// The right focusable view.<br />
+        /// This will return null if not set.<br />
+        /// This will also return null if the specified right focusable view is not on a window.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class VisibilityChangedEventArgs : EventArgs
+        public View RightFocusableView
         {
-            private View _view;
-            private bool _visibility;
-            private VisibilityChangeType _type;
-
-            /// <summary>
-            /// The view, or child of view, whose visibility has changed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
-
-            /// <summary>
-            /// Whether the view is now visible or not.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public bool Visibility
+            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+            get
             {
-                get
-                {
-                    return _visibility;
-                }
-                set
-                {
-                    _visibility = value;
-                }
+                return (View)GetValue(RightFocusableViewProperty);
             }
-
-            /// <summary>
-            /// Whether the view's visible property has changed or a parent's.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public VisibilityChangeType Type
+            set
             {
-                get
-                {
-                    return _type;
-                }
-                set
-                {
-                    _type = value;
-                }
+                SetValue(RightFocusableViewProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private EventHandler<VisibilityChangedEventArgs> _visibilityChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void VisibilityChangedEventCallbackType(IntPtr data, bool visibility, VisibilityChangeType type);
-        private VisibilityChangedEventCallbackType _visibilityChangedEventCallback;
-
         /// <summary>
-        /// An event for visibility change which can be used to subscribe or unsubscribe the event handler.<br />
-        /// This signal is emitted when the visible property of this or a parent view is changed.<br />
+        /// The up focusable view.<br />
+        /// This will return null if not set.<br />
+        /// This will also return null if the specified up focusable view is not on a window.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<VisibilityChangedEventArgs> VisibilityChanged
+        public View UpFocusableView
         {
-            add
+            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+            get
             {
-                if (_visibilityChangedEventHandler == null)
-                {
-                    _visibilityChangedEventCallback = OnVisibilityChanged;
-                    VisibilityChangedSignal(this).Connect(_visibilityChangedEventCallback);
-                }
-
-                _visibilityChangedEventHandler += value;
+                return (View)GetValue(UpFocusableViewProperty);
             }
-
-            remove
+            set
             {
-                _visibilityChangedEventHandler -= value;
-
-                if (_visibilityChangedEventHandler == null && VisibilityChangedSignal(this).Empty() == false)
-                {
-                    VisibilityChangedSignal(this).Disconnect(_visibilityChangedEventCallback);
-                }
+                SetValue(UpFocusableViewProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View visibility change signal
-        private void OnVisibilityChanged(IntPtr data, bool visibility, VisibilityChangeType type)
-        {
-            VisibilityChangedEventArgs e = new VisibilityChangedEventArgs();
-            if (data != null)
+        /// <summary>
+        /// The down focusable view.<br />
+        /// This will return null if not set.<br />
+        /// This will also return null if the specified down focusable view is not on a window.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public View DownFocusableView
+        {
+            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+            get
             {
-                e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
+                return (View)GetValue(DownFocusableViewProperty);
             }
-            e.Visibility = visibility;
-            e.Type = type;
-
-            if (_visibilityChangedEventHandler != null)
+            set
             {
-                _visibilityChangedEventHandler(this, e);
+                SetValue(DownFocusableViewProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-
         /// <summary>
-        /// Event arguments of layout direction changed.
+        /// Whether the view should be focusable by keyboard navigation.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class LayoutDirectionChangedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public bool Focusable
         {
-            private View _view;
-            private ViewLayoutDirectionType _type;
-
-            /// <summary>
-            /// The view, or child of view, whose layout direction has changed.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public View View
+            set
             {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
+                SetValue(FocusableProperty, value);
+                NotifyPropertyChanged();
             }
-
-            /// <summary>
-            /// Whether the view's layout direction property has changed or a parent's.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ViewLayoutDirectionType Type
+            get
             {
-                get
-                {
-                    return _type;
-                }
-                set
-                {
-                    _type = value;
-                }
+                return (bool)GetValue(FocusableProperty);
             }
         }
 
-        private EventHandler<LayoutDirectionChangedEventArgs> _layoutDirectionChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void LayoutDirectionChangedEventCallbackType(IntPtr data, ViewLayoutDirectionType type);
-        private LayoutDirectionChangedEventCallbackType _layoutDirectionChangedEventCallback;
-
         /// <summary>
-        /// Event for layout direction change which can be used to subscribe/unsubscribe the event handler.<br />
-        /// This signal is emitted when the layout direction property of this or a parent view is changed.<br />
+        ///  Retrieves the position of the view.<br />
+        ///  The coordinates are relative to the view's parent.<br />
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<LayoutDirectionChangedEventArgs> LayoutDirectionChanged
+        /// <since_tizen> 3 </since_tizen>
+        public Position CurrentPosition
         {
-            add
+            get
             {
-                if (_layoutDirectionChangedEventHandler == null)
-                {
-                    _layoutDirectionChangedEventCallback = OnLayoutDirectionChanged;
-                    LayoutDirectionChangedSignal(this).Connect(_layoutDirectionChangedEventCallback);
-                }
-
-                _layoutDirectionChangedEventHandler += value;
+                return GetCurrentPosition();
             }
+        }
 
-            remove
+        /// <summary>
+        /// Sets the size of a view for the width and the height.<br />
+        /// Geometry can be scaled to fit within this area.<br />
+        /// This does not interfere with the view's scale factor.<br />
+        /// The views default depth is the minimum of width and height.<br />
+        /// </summary>
+        /// <remarks>
+        /// This NUI object (Size2D) typed property can be configured by multiple cascade setting. <br />
+        /// For example, this code ( view.Size2D.Width = 100; view.Size2D.Height = 100; ) is equivalent to this ( view.Size2D = new Size2D(100, 100); ). <br />
+        /// Please note that this multi-cascade setting is especially possible for this NUI object (Size2D). <br />
+        /// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
+        /// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
+        /// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
+        /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimu size is set. <br />
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D Size2D
+        {
+            get
             {
-                _layoutDirectionChangedEventHandler -= value;
-
-                if (_layoutDirectionChangedEventHandler == null && LayoutDirectionChangedSignal(this).Empty() == false)
-                {
-                    LayoutDirectionChangedSignal(this).Disconnect(_layoutDirectionChangedEventCallback);
-                }
+                Size2D temp = (Size2D)GetValue(Size2DProperty);
+                return new Size2D(OnSize2DChanged, temp.Width, temp.Height);
+            }
+            set
+            {
+                SetValue(Size2DProperty, value);
+                // Set Specification so when layouts measure this View it matches the value set here.
+                // All Views are currently Layouts.
+                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Width));
+                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Height));
+                NotifyPropertyChanged();
             }
         }
 
-        // Callback for View layout direction change signal
-        private void OnLayoutDirectionChanged(IntPtr data, ViewLayoutDirectionType type)
+        /// <summary>
+        ///  Retrieves the size of the view.<br />
+        ///  The coordinates are relative to the view's parent.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D CurrentSize
         {
-            LayoutDirectionChangedEventArgs e = new LayoutDirectionChangedEventArgs();
-            if (data != null)
+            get
             {
-                e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
+                return GetCurrentSize();
             }
-            e.Type = type;
+        }
 
-            if (_layoutDirectionChangedEventHandler != null)
+        /// <summary>
+        /// Retrieves and sets the view's opacity.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Opacity
+        {
+            get
             {
-                _layoutDirectionChangedEventHandler(this, e);
+                return (float)GetValue(OpacityProperty);
+            }
+            set
+            {
+                SetValue(OpacityProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        // Resource Ready Signal
-
-        private EventHandler _resourcesLoadedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ResourcesLoadedCallbackType(IntPtr control);
-        private ResourcesLoadedCallbackType _ResourcesLoadedCallback;
-
         /// <summary>
-        /// An event for the ResourcesLoadedSignal signal which can be used to subscribe or unsubscribe the event handler provided by the user.<br />
-        /// This signal is emitted after all resources required by a view are loaded and ready.<br />
+        /// Sets the position of the view for X and Y.<br />
+        /// By default, sets the position vector between the parent origin and the pivot point (default).<br />
+        /// If the position inheritance is disabled, sets the world position.<br />
         /// </summary>
+        /// <remarks>
+        /// This NUI object (Position2D) typed property can be configured by multiple cascade setting. <br />
+        /// For example, this code ( view.Position2D.X = 100; view.Position2D.Y = 100; ) is equivalent to this ( view.Position2D = new Position2D(100, 100); ). <br />
+        /// Please note that this multi-cascade setting is especially possible for this NUI object (Position2D). <br />
+        /// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
+        /// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
+        /// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler ResourcesLoaded
+        public Position2D Position2D
         {
-            add
+            get
             {
-                if (_resourcesLoadedEventHandler == null)
-                {
-                    _ResourcesLoadedCallback = OnResourcesLoaded;
-                    this.ResourcesLoadedSignal().Connect(_ResourcesLoadedCallback);
-                }
-
-                _resourcesLoadedEventHandler += value;
+                Position2D temp = (Position2D)GetValue(Position2DProperty);
+                return new Position2D(OnPosition2DChanged, temp.X, temp.Y);
             }
-
-            remove
+            set
             {
-                _resourcesLoadedEventHandler -= value;
-
-                if (_resourcesLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
-                {
-                    this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
-                }
+                SetValue(Position2DProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private void OnResourcesLoaded(IntPtr view)
+        /// <summary>
+        /// Retrieves the screen postion of the view.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 ScreenPosition
         {
-            if (_resourcesLoadedEventHandler != null)
+            get
             {
-                _resourcesLoadedEventHandler(this, null);
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                GetProperty(View.Property.SCREEN_POSITION).Get(temp);
+                return temp;
             }
         }
 
-        internal IntPtr GetPtrfromView()
+        /// <summary>
+        /// Determines whether the pivot point should be used to determine the position of the view.
+        /// This is true by default.
+        /// </summary>
+        /// <remarks>If false, then the top-left of the view is used for the position.
+        /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the view's position.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public bool PositionUsesPivotPoint
         {
-            return (IntPtr)swigCPtr;
+            get
+            {
+                return (bool)GetValue(PositionUsesPivotPointProperty);
+            }
+            set
+            {
+                SetValue(PositionUsesPivotPointProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
-        internal class Property
+        /// <summary>
+        /// Please do not use! this will be deprecated.
+        /// </summary>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use PositionUsesPivotPoint.
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use PositionUsesPivotPoint instead! " +
+            "Like: " +
+            "View view = new View(); " +
+            "view.PivotPoint = PivotPoint.Center; " +
+            "view.PositionUsesPivotPoint = true;")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool PositionUsesAnchorPoint
         {
-            internal static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
-            internal static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
-            internal static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
-            internal static readonly int LEFT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
-            internal static readonly int RIGHT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
-            internal static readonly int UP_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
-            internal static readonly int DOWN_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
-            internal static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
-            internal static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
-            internal static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
-            internal static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
-            internal static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
-            internal static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
-            internal static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
-            internal static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
-            internal static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
-            internal static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
-            internal static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
-            internal static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
-            internal static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
-            internal static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
-            internal static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
-            internal static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
-            internal static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
-            internal static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
-            internal static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
-            internal static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
-            internal static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
-            internal static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
-            internal static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
-            internal static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
-            internal static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
-            internal static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
-            internal static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
-            internal static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
-            internal static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
-            internal static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
-            internal static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
-            internal static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
-            internal static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
-            internal static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
-            internal static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
-            internal static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
-            internal static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
-            internal static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
-            internal static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
-            internal static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
-            internal static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
-            internal static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
-            internal static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
-            internal static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
-            internal static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
-            internal static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
-            internal static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
-            internal static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
-            internal static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
-            internal static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
-            internal static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
-            internal static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
-            internal static readonly int INHERIT_LAYOUT_DIRECTION = NDalicManualPINVOKE.Actor_Property_INHERIT_LAYOUT_DIRECTION_get();
-            internal static readonly int LAYOUT_DIRECTION = NDalicManualPINVOKE.Actor_Property_LAYOUT_DIRECTION_get();
-            internal static readonly int MARGIN = NDalicPINVOKE.View_Property_MARGIN_get();
-            internal static readonly int PADDING = NDalicPINVOKE.View_Property_PADDING_get();
+            get
+            {
+                bool temp = false;
+                GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Queries whether the view is connected to the stage.<br />
+        /// When a view is connected, it will be directly or indirectly parented to the root view.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsOnWindow
+        {
+            get
+            {
+                return OnWindow();
+            }
+        }
+
+        /// <summary>
+        /// Gets the depth in the hierarchy for the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int HierarchyDepth
+        {
+            get
+            {
+                return GetHierarchyDepth();
+            }
+        }
+
+        /// <summary>
+        /// Sets the sibling order of the view so the depth position can be defined within the same parent.
+        /// </summary>
+        /// <remarks>
+        /// Note the initial value is 0. SiblingOrder should be bigger than 0 or equal to 0.
+        /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove, and LowerBelow will override the sibling order.
+        /// The values set by this property will likely change.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public int SiblingOrder
+        {
+            get
+            {
+                return (int)GetValue(SiblingOrderProperty);
+            }
+            set
+            {
+                SetValue(SiblingOrderProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Returns the natural size of the view.
+        /// </summary>
+        /// <remarks>
+        /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
+        /// </remarks>
+        /// <since_tizen> 5 </since_tizen>
+        public Vector3 NaturalSize
+        {
+            get
+            {
+                Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// Returns the natural size (Size2D) of the view.
+        /// </summary>
+        /// <remarks>
+        /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
+        /// </remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public Size2D NaturalSize2D
+        {
+            get
+            {
+                Vector3 temp = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                return new Size2D((int)temp.Width, (int)temp.Height);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the origin of a view within its parent's area.<br />
+        /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the parent, and (1.0, 1.0, 0.5) is the bottom-right corner.<br />
+        /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br />
+        /// A view's position is the distance between this origin and the view's anchor-point.<br />
+        /// </summary>
+        /// <pre>The view has been initialized.</pre>
+        /// <since_tizen> 3 </since_tizen>
+        public Position ParentOrigin
+        {
+            get
+            {
+                return (Position)GetValue(ParentOriginProperty);
+            }
+            set
+            {
+                SetValue(ParentOriginProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the anchor-point of a view.<br />
+        /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the view, and (1.0, 1.0, 0.5) is the bottom-right corner.<br />
+        /// The default pivot point is PivotPoint.Center (0.5, 0.5, 0.5).<br />
+        /// A view position is the distance between its parent-origin and this anchor-point.<br />
+        /// A view's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br />
+        /// <pre>The view has been initialized.</pre>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Position PivotPoint
+        {
+            get
+            {
+                return (Position)GetValue(PivotPointProperty);
+            }
+            set
+            {
+                SetValue(PivotPointProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the size width of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float SizeWidth
+        {
+            get
+            {
+                return (float)GetValue(SizeWidthProperty);
+            }
+            set
+            {
+                SetValue(SizeWidthProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the size height of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float SizeHeight
+        {
+            get
+            {
+                return (float)GetValue(SizeHeightProperty);
+            }
+            set
+            {
+                SetValue(SizeHeightProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the position of the view.<br />
+        /// By default, sets the position vector between the parent origin and pivot point (default).<br />
+        /// If the position inheritance is disabled, sets the world position.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Position Position
+        {
+            get
+            {
+                return (Position)GetValue(PositionProperty);
+            }
+            set
+            {
+                SetValue(PositionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the position X of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float PositionX
+        {
+            get
+            {
+                return (float)GetValue(PositionXProperty);
+            }
+            set
+            {
+                SetValue(PositionXProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the position Y of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float PositionY
+        {
+            get
+            {
+                return (float)GetValue(PositionYProperty);
+            }
+            set
+            {
+                SetValue(PositionYProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the position Z of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float PositionZ
+        {
+            get
+            {
+                return (float)GetValue(PositionZProperty);
+            }
+            set
+            {
+                SetValue(PositionZProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the world position of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector3 WorldPosition
+        {
+            get
+            {
+                Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+                GetProperty(View.Property.WORLD_POSITION).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the orientation of the view.<br />
+        /// The view's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br />
+        /// </summary>
+        /// <remarks>This is an asynchronous method.</remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public Rotation Orientation
+        {
+            get
+            {
+                return (Rotation)GetValue(OrientationProperty);
+            }
+            set
+            {
+                SetValue(OrientationProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the world orientation of the view.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Rotation WorldOrientation
+        {
+            get
+            {
+                Rotation temp = new Rotation();
+                GetProperty(View.Property.WORLD_ORIENTATION).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the scale factor applied to the view.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector3 Scale
+        {
+            get
+            {
+                return (Vector3)GetValue(ScaleProperty);
+            }
+            set
+            {
+                SetValue(ScaleProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the scale X factor applied to the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float ScaleX
+        {
+            get
+            {
+                return (float)GetValue(ScaleXProperty);
+            }
+            set
+            {
+                SetValue(ScaleXProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the scale Y factor applied to the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float ScaleY
+        {
+            get
+            {
+                return (float)GetValue(ScaleYProperty);
+            }
+            set
+            {
+                SetValue(ScaleYProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the scale Z factor applied to the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float ScaleZ
+        {
+            get
+            {
+                return (float)GetValue(ScaleZProperty);
+            }
+            set
+            {
+                SetValue(ScaleZProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets the world scale of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector3 WorldScale
+        {
+            get
+            {
+                Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+                GetProperty(View.Property.WORLD_SCALE).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves the visibility flag of the view.
+        /// </summary>
+        /// <remarks>
+        /// If the view is not visible, then the view and its children will not be rendered.
+        /// This is regardless of the individual visibility values of the children, i.e., the view will only be rendered if all of its parents have visibility set to true.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Visibility
+        {
+            get
+            {
+                bool temp = false;
+                GetProperty(View.Property.VISIBLE).Get(out temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Gets the view's world color.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector4 WorldColor
+        {
+            get
+            {
+                Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+                GetProperty(View.Property.WORLD_COLOR).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the view's name.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string Name
+        {
+            get
+            {
+                return (string)GetValue(NameProperty);
+            }
+            set
+            {
+                SetValue(NameProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Get the number of children held by the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public new uint ChildCount
+        {
+            get
+            {
+                return GetChildCount();
+            }
+        }
+
+        /// <summary>
+        /// Gets the view's ID.
+        /// Readonly
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public uint ID
+        {
+            get
+            {
+                return GetId();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the status of whether the view should emit touch or hover signals.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Sensitive
+        {
+            get
+            {
+                return (bool)GetValue(SensitiveProperty);
+            }
+            set
+            {
+                SetValue(SensitiveProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the status of whether the view should receive a notification when touch or hover motion events leave the boundary of the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool LeaveRequired
+        {
+            get
+            {
+                return (bool)GetValue(LeaveRequiredProperty);
+            }
+            set
+            {
+                SetValue(LeaveRequiredProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the status of whether a child view inherits it's parent's orientation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool InheritOrientation
+        {
+            get
+            {
+                return (bool)GetValue(InheritOrientationProperty);
+            }
+            set
+            {
+                SetValue(InheritOrientationProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the status of whether a child view inherits it's parent's scale.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool InheritScale
+        {
+            get
+            {
+                return (bool)GetValue(InheritScaleProperty);
+            }
+            set
+            {
+                SetValue(InheritScaleProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the status of how the view and its children should be drawn.<br />
+        /// Not all views are renderable, but DrawMode can be inherited from any view.<br />
+        /// If an object is in a 3D layer, it will be depth-tested against other objects in the world, i.e., it may be obscured if other objects are in front.<br />
+        /// If DrawMode.Overlay2D is used, the view and its children will be drawn as a 2D overlay.<br />
+        /// Overlay views are drawn in a separate pass, after all non-overlay views within the layer.<br />
+        /// For overlay views, the drawing order is with respect to tree levels of views, and depth-testing will not be used.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public DrawModeType DrawMode
+        {
+            get
+            {
+                return (DrawModeType)GetValue(DrawModeProperty);
+            }
+            set
+            {
+                SetValue(DrawModeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the relative to parent size factor of the view.<br />
+        /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br />
+        /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector3 SizeModeFactor
+        {
+            get
+            {
+                return (Vector3)GetValue(SizeModeFactorProperty);
+            }
+            set
+            {
+                SetValue(SizeModeFactorProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the width resize policy to be used.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ResizePolicyType WidthResizePolicy
+        {
+            get
+            {
+                return (ResizePolicyType)GetValue(WidthResizePolicyProperty);
+            }
+            set
+            {
+                SetValue(WidthResizePolicyProperty, value);
+                // Match ResizePolicy to new Layouting.
+                // Parent relative policies can not be mapped at this point as parent size unknown.
+                switch (value)
+                {
+                    case ResizePolicyType.UseNaturalSize:
+                    {
+                        SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(NaturalSize.Width));
+                        break;
+                    }
+                    case ResizePolicyType.FillToParent:
+                    {
+                        SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue((int)ChildLayoutData.MatchParent));
+                        break;
+                    }
+                    case ResizePolicyType.FitToChildren:
+                    {
+                        SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue((int)ChildLayoutData.WrapContent));
+                        break;
+                    }
+                    default:
+                        break;
+                }
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Describes the direction to move the focus towards.
+        /// Gets or sets the height resize policy to be used.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum FocusDirection
+        public ResizePolicyType HeightResizePolicy
         {
-            /// <summary>
-            /// Move keyboard focus towards the left direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Left,
-            /// <summary>
-            /// Move keyboard focus towards the right direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Right,
-            /// <summary>
-            /// Move keyboard focus towards the up direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Up,
-            /// <summary>
-            /// Move keyboard focus towards the down direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Down,
-            /// <summary>
-            /// Move keyboard focus towards the previous page direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            PageUp,
-            /// <summary>
-            /// Move keyboard focus towards the next page direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            PageDown
+            get
+            {
+                return (ResizePolicyType)GetValue(HeightResizePolicyProperty);
+            }
+            set
+            {
+                SetValue(HeightResizePolicyProperty, value);
+                // Match ResizePolicy to new Layouting.
+                // Parent relative policies can not be mapped at this point as parent size unknown.
+                switch (value)
+                {
+                    case ResizePolicyType.UseNaturalSize:
+                    {
+                        SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(NaturalSize.Height));
+                        break;
+                    }
+                    case ResizePolicyType.FillToParent:
+                    {
+                        SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue((int)ChildLayoutData.MatchParent));
+                        break;
+                    }
+                    case ResizePolicyType.FitToChildren:
+                    {
+                        SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue((int)ChildLayoutData.WrapContent));
+                        break;
+                    }
+                    default:
+                        break;
+                }
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Creates a new instance of a view.
+        /// Gets or sets the policy to use when setting size with size negotiation.<br />
+        /// Defaults to SizeScalePolicyType.UseSizeSet.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public View() : this(NDalicPINVOKE.View_New(), true)
+        public SizeScalePolicyType SizeScalePolicy
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (SizeScalePolicyType)GetValue(SizeScalePolicyProperty);
+            }
+            set
+            {
+                SetValue(SizeScalePolicyProperty, value);
+                NotifyPropertyChanged();
+            }
         }
-        internal View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true)
+
+        /// <summary>
+        ///  Gets or sets the status of whether the width size is dependent on the height size.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool WidthForHeight
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (bool)GetValue(WidthForHeightProperty);
+            }
+            set
+            {
+                SetValue(WidthForHeightProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
-        private View ConvertIdToView(uint id)
+        /// <summary>
+        /// Gets or sets the status of whether the height size is dependent on the width size.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool HeightForWidth
         {
-            View view = null;
-            if (GetParent() is View)
+            get
             {
-                View parentView = GetParent() as View;
-                view = parentView.FindChildById(id);
+                return (bool)GetValue(HeightForWidthProperty);
+            }
+            set
+            {
+                SetValue(HeightForWidthProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the padding for use in layout.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public Extents Padding
+        {
+            get
+            {
+                return (Extents)GetValue(PaddingProperty);
+            }
+            set
+            {
+                SetValue(PaddingProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the minimum size the view can be assigned in size negotiation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D MinimumSize
+        {
+            get
+            {
+                return (Size2D)GetValue(MinimumSizeProperty);
+            }
+            set
+            {
+                if (Layout != null)
+                {
+                    // Note: it only works if minimum size is >= than natural size.
+                    // To force the size it should be done through the width&height spec or Size2D.
+                    Layout.MinimumWidth = new Tizen.NUI.LayoutLength(value.Width);
+                    Layout.MinimumHeight = new Tizen.NUI.LayoutLength(value.Height);
+                }
+                SetValue(MinimumSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the maximum size the view can be assigned in size negotiation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D MaximumSize
+        {
+            get
+            {
+                return (Size2D)GetValue(MaximumSizeProperty);
+            }
+            set
+            {
+                // We don't have Layout.Maximum(Width|Height) so we cannot apply it to layout.
+                // MATCH_PARENT spec + parent container size can be used to limit
+                SetValue(MaximumSizeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets whether a child view inherits it's parent's position.<br />
+        /// Default is to inherit.<br />
+        /// Switching this off means that using position sets the view's world position, i.e., translates from the world origin (0,0,0) to the pivot point of the view.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool InheritPosition
+        {
+            get
+            {
+                return (bool)GetValue(InheritPositionProperty);
+            }
+            set
+            {
+                SetValue(InheritPositionProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the clipping behavior (mode) of it's children.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ClippingModeType ClippingMode
+        {
+            get
+            {
+                return (ClippingModeType)GetValue(ClippingModeProperty);
+            }
+            set
+            {
+                SetValue(ClippingModeProperty, value);
+                NotifyPropertyChanged();
+            }
+        }
+
+        /// <summary>
+        /// Gets the number of renderers held by the view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public uint RendererCount
+        {
+            get
+            {
+                return GetRendererCount();
+            }
+        }
+
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use PivotPoint.
+        [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead! " +
+            "Like: " +
+            "View view = new View(); " +
+            "view.PivotPoint = PivotPoint.Center; " +
+            "view.PositionUsesPivotPoint = true;")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Position AnchorPoint
+        {
+            get
+            {
+                Position temp = new Position(0.0f, 0.0f, 0.0f);
+                GetProperty(View.Property.ANCHOR_POINT).Get(temp);
+                return temp;
             }
-
-            if (!view)
+            set
             {
-                view = Window.Instance.GetRootLayer().FindChildById(id);
+                SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
+                NotifyPropertyChanged();
             }
-
-            return view;
         }
 
-        internal void SetKeyInputFocus()
+        /// <summary>
+        /// Sets the size of a view for the width, the height and the depth.<br />
+        /// Geometry can be scaled to fit within this area.<br />
+        /// This does not interfere with the view's scale factor.<br />
+        /// The views default depth is the minimum of width and height.<br />
+        /// </summary>
+        /// <remarks>
+        /// Please note that multi-cascade setting is not possible for this NUI object. <br />
+        /// It is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
+        /// For example, this code is working fine : view.Size = new Size( 1.0f, 1.0f, 0.0f); <br />
+        /// but this will not work! : view.Size.Width = 2.0f; view.Size.Height = 2.0f; <br />
+        /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimu size is set. <br />
+        /// </remarks>
+        /// <since_tizen> 5 </since_tizen>
+        public Size Size
         {
-            NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (Size)GetValue(SizeProperty);
+            }
+            set
+            {
+                SetValue(SizeProperty, value);
+                // Set Specification so when layouts measure this View it matches the value set here.
+                // All Views are currently Layouts.
+                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Width));
+                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Height));
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Queries whether the view has a focus.
+        /// "Please DO NOT use! This will be deprecated! Please use 'Container GetParent() for derived class' instead!"
         /// </summary>
-        /// <returns>True if this view has a focus.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool HasFocus()
+        [Obsolete("Please do not use! This will be deprecated! Please use 'Container GetParent() for derived class' instead! " +
+            "Like: " +
+            "Container parent =  view.GetParent(); " +
+            "View view = parent as View;")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public new View Parent
         {
-            bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            get
+            {
+                View ret;
+                IntPtr cPtr = NDalicPINVOKE.Actor_GetParent(swigCPtr);
+                HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+                BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle);
 
-        internal void ClearKeyInputFocus()
-        {
-            NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+                if (basehandle is Layer layer)
+                {
+                    ret = new View(Layer.getCPtr(layer).Handle, false);
+                    NUILog.Error("This Parent property is deprecated, shoud do not be used");
+                }
+                else
+                {
+                    ret = basehandle as View;
+                }
 
-        internal PinchGestureDetector GetPinchGestureDetector()
-        {
-            PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+                NDalicPINVOKE.delete_BaseHandle(CPtr);
+                CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
 
-        internal PanGestureDetector GetPanGestureDetector()
-        {
-            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        internal TapGestureDetector GetTapGestureDetector()
+        /// <summary>
+        /// Gets/Sets whether inherit parent's the layout Direction.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public bool InheritLayoutDirection
         {
-            TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return (bool)GetValue(InheritLayoutDirectionProperty);
+            }
+            set
+            {
+                SetValue(InheritLayoutDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
-        internal LongPressGestureDetector GetLongPressGestureDetector()
+        /// <summary>
+        /// Gets/Sets the layout Direction.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public ViewLayoutDirectionType LayoutDirection
         {
-            LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return (ViewLayoutDirectionType)GetValue(LayoutDirectionProperty);
+            }
+            set
+            {
+                SetValue(LayoutDirectionProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Sets the name of the style to be applied to the view.
+        /// Gets or sets the Margin for use in layout.
         /// </summary>
-        /// <param name="styleName">A string matching a style described in a stylesheet.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetStyleName(string styleName)
+        /// <remarks>
+        /// Margin property is supported by Layout algorithms and containers.
+        /// Please Set Layout if you want to use Margin property.
+        /// </remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public Extents Margin
         {
-            NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (Extents)GetValue(MarginProperty);
+            }
+            set
+            {
+                SetValue(MarginProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Retrieves the name of the style to be applied to the view (if any).
+        /// [Obsolete("Please do not use! this will be deprecated")]
         /// </summary>
-        /// <returns>A string matching a style, or an empty string.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public string GetStyleName()
+        /// Please do not use! this will be deprecated!
+        /// Instead please use Padding.
+        /// <since_tizen> 4 </since_tizen>
+        [Obsolete("Please do not use! this will be deprecated, instead please use Padding.")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Extents PaddingEX
         {
-            string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                Extents temp = new Extents(0, 0, 0, 0);
+                GetProperty(View.Property.PADDING).Get(temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
+                NotifyPropertyChanged();
+            }
         }
 
-        internal void SetBackgroundColor(Vector4 color)
+        internal Style Style
         {
-            NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (Style)GetValue(StyleProperty);
+            }
+            set
+            {
+                SetValue(StyleProperty, value);
+            }
         }
 
-        internal Vector4 GetBackgroundColor()
+        /// <summary>
+        /// Child property to specify desired width
+        /// </summary>
+        internal int LayoutWidthSpecificationFixed
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                int tmp = 0;
+                if (GetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION).Get(out tmp) == false)
+                {
+                    NUILog.Error("WidthSpecificationFixed get error!");
+                }
+                return tmp;
+            }
+            set
+            {
+                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
-        internal void SetBackgroundImage(Image image)
+        /// <summary>
+        /// Child property to specify desired height
+        /// </summary>
+        internal int LayoutHeightSpecificationFixed
         {
-            NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                int tmp = 0;
+                if (GetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION).Get(out tmp) == false)
+                {
+                    NUILog.Error("HeightSpecificationFixed get error!");
+                }
+                return tmp;
+            }
+            set
+            {
+                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         /// <summary>
-        /// Clears the background.
+        /// Child property to specify desired width, use MatchParent/WrapContent)
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void ClearBackground()
+        internal ChildLayoutData LayoutWidthSpecification
         {
-            NDalicPINVOKE.View_ClearBackground(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                int tmp = 0;
+                if (GetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION).Get(out tmp) == false)
+                {
+                    NUILog.Error("WidthSpecificationFixed get error!");
+                }
+                return (ChildLayoutData)tmp;
+            }
+            set
+            {
+                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue((int)value));
+            }
+        }
+
+        /// <summary>
+        /// Child property to specify desired height, use MatchParent/WrapContent)
+        /// </summary>
+        internal ChildLayoutData LayoutHeightSpecification
+        {
+            get
+            {
+                int tmp = 0;
+                if (GetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION).Get(out tmp) == false)
+                {
+                    NUILog.Error("HeightSpecificationFixed get error!");
+                }
+                return (ChildLayoutData)tmp;
+            }
+            set
+            {
+                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue((int)value));
+            }
         }
 
-        internal ControlKeySignal KeyEventSignal()
+        internal float Weight
         {
-            ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return (float)GetValue(WeightProperty);
+            }
+            set
+            {
+                SetValue(WeightProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
-        internal KeyInputFocusSignal KeyInputFocusGainedSignal()
+        internal bool BackgroundImageSynchronosLoading
         {
-            KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return _backgroundImageSynchronosLoading;
+            }
+            set
+            {
+                if (value != _backgroundImageSynchronosLoading)
+                {
+                    string bgUrl = "";
+                    PropertyMap bgMap = this.Background;
+                    int visualType = 0;
+                    bgMap.Find(Visual.Property.Type)?.Get(out visualType);
+                    if (visualType == (int)Visual.Type.Image)
+                    {
+                        bgMap.Find(ImageVisualProperty.URL)?.Get(out bgUrl);
+                    }
+                    if (bgUrl.Length != 0)
+                    {
+                        _backgroundImageSynchronosLoading = value;
+                        bgMap.Add("synchronousLoading", new PropertyValue(_backgroundImageSynchronosLoading));
+                        this.Background = bgMap;
+                    }
+                }
+            }
         }
 
-        internal KeyInputFocusSignal KeyInputFocusLostSignal()
+        internal float WorldPositionX
         {
-            KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                float temp = 0.0f;
+                GetProperty(View.Property.WORLD_POSITION_X).Get(out temp);
+                return temp;
+            }
         }
 
-        internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
+        internal float WorldPositionY
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                float temp = 0.0f;
+                GetProperty(View.Property.WORLD_POSITION_Y).Get(out temp);
+                return temp;
+            }
         }
 
-        internal enum PropertyRange
+        internal float WorldPositionZ
         {
-            PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
-            CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
-            CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
+            get
+            {
+                float temp = 0.0f;
+                GetProperty(View.Property.WORLD_POSITION_Z).Get(out temp);
+                return temp;
+            }
         }
 
-        /// <summary>
-        /// The StyleName, type string.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string StyleName
+        internal bool FocusState
         {
             get
             {
-                return (string)GetValue(StyleNameProperty);
+                return IsKeyboardFocusable();
             }
             set
             {
-                SetValue(StyleNameProperty, value);
-                NotifyPropertyChanged();
+                SetKeyboardFocusable(value);
             }
         }
 
         /// <summary>
-        /// The mutually exclusive with BACKGROUND_IMAGE and BACKGROUND type Vector4.
+        /// Set the layout on this control.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Color BackgroundColor
+        /// <remarks>
+        /// </remarks>
+        internal LayoutItem Layout
         {
             get
             {
-                return (Color)GetValue(BackgroundColorProperty);
+                IntPtr cPtr = Tizen.NUI.NDalicManualPINVOKE.GetLayout__SWIG_1(View.getCPtr(this));
+
+                HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+                BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle);
+                NDalicPINVOKE.delete_BaseHandle(CPtr);
+                CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                return basehandle as LayoutItem;
             }
             set
             {
-                SetValue(BackgroundColorProperty, value);
-                NotifyPropertyChanged();
+                Log.Info("NUI", "Set Layout on:" + Name + "\n");
+                layoutingDisabled = false;
+                layoutSet = true;
+                SetLayout(value);
             }
         }
 
         /// <summary>
-        /// Creates an animation to animate the background color visual. If there is no
-        /// background visual, creates one with transparent black as it's mixColor.
+        /// Set that layouting is required on this View. It will automatically receive a Layout.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Animation AnimateBackgroundColor(object destinationValue,
-                                                 int startTime,
-                                                 int endTime,
-                                                 AlphaFunction.BuiltinFunctions? alphaFunction = null,
-                                                 object initialValue = null)
+        /// <remarks>
+        /// </remarks>
+        internal bool LayoutingRequired
         {
-            Tizen.NUI.PropertyMap background = Background;
-
-            if (background.Empty())
+            get
             {
-                // If there is no background yet, ensure there is a transparent
-                // color visual
-                BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
-                background = Background;
+                bool result = Tizen.NUI.NDalicManualPINVOKE.View_IsLayoutingRequired(View.getCPtr(this));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return result;
+            }
+            set
+            {
+                Tizen.NUI.NDalicManualPINVOKE.View_SetLayoutingRequired(View.getCPtr(this), value);
             }
-            return AnimateColor("background", destinationValue, startTime, endTime, alphaFunction, initialValue);
         }
 
-        /// <summary>
-        /// Creates an animation to animate the mixColor of the named visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Animation AnimateColor(string targetVisual, object destinationColor, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialColor = null)
+        internal float ParentOriginX
         {
-            Animation animation = null;
+            get
             {
-                PropertyMap _animator = new PropertyMap();
-                if (alphaFunction != null)
-                {
-                    _animator.Add("alphaFunction", new PropertyValue(AlphaFunction.BuiltinToPropertyKey(alphaFunction)));
-                }
-
-                PropertyMap _timePeriod = new PropertyMap();
-                _timePeriod.Add("duration", new PropertyValue((endTime - startTime) / 1000.0f));
-                _timePeriod.Add("delay", new PropertyValue(startTime / 1000.0f));
-                _animator.Add("timePeriod", new PropertyValue(_timePeriod));
-
-                PropertyMap _transition = new PropertyMap();
-                _transition.Add("animator", new PropertyValue(_animator));
-                _transition.Add("target", new PropertyValue(targetVisual));
-                _transition.Add("property", new PropertyValue("mixColor"));
-
-                if (initialColor != null)
-                {
-                    PropertyValue initValue = PropertyValue.CreateFromObject(initialColor);
-                    _transition.Add("initialValue", initValue);
-                }
-
-                PropertyValue destValue = PropertyValue.CreateFromObject(destinationColor);
-                _transition.Add("targetValue", destValue);
-                TransitionData _transitionData = new TransitionData(_transition);
-
-                animation = new Animation(NDalicManualPINVOKE.View_CreateTransition(swigCPtr, TransitionData.getCPtr(_transitionData)), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                float temp = 0.0f;
+                GetProperty(View.Property.PARENT_ORIGIN_X).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.PARENT_ORIGIN_X, new Tizen.NUI.PropertyValue(value));
+                NotifyPropertyChanged();
             }
-            return animation;
         }
 
-        /// <summary>
-        /// The mutually exclusive with BACKGROUND_COLOR and BACKGROUND type Map.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string BackgroundImage
+        internal float ParentOriginY
         {
             get
             {
-                return (string)GetValue(BackgroundImageProperty);
+                float temp = 0.0f;
+                GetProperty(View.Property.PARENT_ORIGIN_Y).Get(out temp);
+                return temp;
             }
             set
             {
-                SetValue(BackgroundImageProperty, value);
+                SetProperty(View.Property.PARENT_ORIGIN_Y, new Tizen.NUI.PropertyValue(value));
                 NotifyPropertyChanged();
             }
         }
 
-        /// <summary>
-        /// The background of view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyMap Background
+        internal float ParentOriginZ
         {
             get
             {
-                return (PropertyMap)GetValue(BackgroundProperty);
+                float temp = 0.0f;
+                GetProperty(View.Property.PARENT_ORIGIN_Z).Get(out temp);
+                return temp;
             }
             set
             {
-                SetValue(BackgroundProperty, value);
+                SetProperty(View.Property.PARENT_ORIGIN_Z, new Tizen.NUI.PropertyValue(value));
                 NotifyPropertyChanged();
             }
         }
 
-
-        /// <summary>
-        /// The current state of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public States State
+        internal float PivotPointX
         {
             get
             {
-                return (States)GetValue(StateProperty);
+                float temp = 0.0f;
+                GetProperty(View.Property.ANCHOR_POINT_X).Get(out temp);
+                return temp;
             }
             set
             {
-                SetValue(StateProperty, value);
-                NotifyPropertyChanged();
+                SetProperty(View.Property.ANCHOR_POINT_X, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        /// <summary>
-        /// The current sub state of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public States SubState
+        internal float PivotPointY
         {
             get
             {
-                return (States)GetValue(SubStateProperty);
+                float temp = 0.0f;
+                GetProperty(View.Property.ANCHOR_POINT_Y).Get(out temp);
+                return temp;
             }
             set
             {
-                SetValue(SubStateProperty, value);
-                NotifyPropertyChanged();
+                SetProperty(View.Property.ANCHOR_POINT_Y, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        /// <summary>
-        /// Displays a tooltip
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyMap Tooltip
+        internal float PivotPointZ
         {
             get
             {
-                return (PropertyMap)GetValue(TooltipProperty);
+                float temp = 0.0f;
+                GetProperty(View.Property.ANCHOR_POINT_Z).Get(out temp);
+                return temp;
             }
             set
             {
-                SetValue(TooltipProperty, value);
-                NotifyPropertyChanged();
+                SetProperty(View.Property.ANCHOR_POINT_Z, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        /// <summary>
-        /// Displays a tooltip as a text.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string TooltipText
+        internal Matrix WorldMatrix
         {
-            set
+            get
             {
-                SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
+                Matrix temp = new Matrix();
+                GetProperty(View.Property.WORLD_MATRIX).Get(temp);
+                return temp;
             }
         }
 
@@ -2913,617 +3683,546 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// The Child property of FlexContainer.<br />
-        /// The proportion of the free space in the container, the flex item will receive.<br />
-        /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br />
+        /// Perform an action on a visual registered to this view. <br />
+        /// Visuals will have actions. This API is used to perform one of these actions with the given attributes.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Flex
+        /// <param name="propertyIndexOfVisual">The Property index of the visual.</param>
+        /// <param name="propertyIndexOfActionId">The action to perform. See Visual to find the supported actions.</param>
+        /// <param name="attributes">Optional attributes for the action.</param>
+        /// <since_tizen> 5 </since_tizen>
+        public void DoAction(int propertyIndexOfVisual, int propertyIndexOfActionId, PropertyValue attributes)
         {
-            get
-            {
-                return (float)GetValue(FlexProperty);
-            }
-            set
-            {
-                SetValue(FlexProperty, value);
-                NotifyPropertyChanged();
-            }
+            NDalicManualPINVOKE.View_DoAction(swigCPtr, propertyIndexOfVisual, propertyIndexOfActionId, PropertyValue.getCPtr(attributes));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The Child property of FlexContainer.<br />
-        /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br />
+        /// Creates an animation to animate the background color visual. If there is no
+        /// background visual, creates one with transparent black as it's mixColor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int AlignSelf
+        public Animation AnimateBackgroundColor(object destinationValue,
+                                                 int startTime,
+                                                 int endTime,
+                                                 AlphaFunction.BuiltinFunctions? alphaFunction = null,
+                                                 object initialValue = null)
         {
-            get
-            {
-                return (int)GetValue(AlignSelfProperty);
-            }
-            set
-            {
-                SetValue(AlignSelfProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
+            Tizen.NUI.PropertyMap background = Background;
 
-        /// <summary>
-        /// The Child property of FlexContainer.<br />
-        /// The space around the flex item.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector4 FlexMargin
-        {
-            get
-            {
-                return (Vector4)GetValue(FlexMarginProperty);
-            }
-            set
+            if (background.Empty())
             {
-                SetValue(FlexMarginProperty, value);
-                NotifyPropertyChanged();
+                // If there is no background yet, ensure there is a transparent
+                // color visual
+                BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+                background = Background;
             }
+            return AnimateColor("background", destinationValue, startTime, endTime, alphaFunction, initialValue);
         }
 
         /// <summary>
-        /// The top-left cell this child occupies, if not set, the first available cell is used.
+        /// Creates an animation to animate the mixColor of the named visual.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector2 CellIndex
+        public Animation AnimateColor(string targetVisual, object destinationColor, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialColor = null)
         {
-            get
-            {
-                return (Vector2)GetValue(CellIndexProperty);
-            }
-            set
+            Animation animation = null;
             {
-                SetValue(CellIndexProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
+                PropertyMap _animator = new PropertyMap();
+                if (alphaFunction != null)
+                {
+                    _animator.Add("alphaFunction", new PropertyValue(AlphaFunction.BuiltinToPropertyKey(alphaFunction)));
+                }
 
-        /// <summary>
-        /// The number of rows this child occupies, if not set, the default value is 1.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float RowSpan
-        {
-            get
-            {
-                return (float)GetValue(RowSpanProperty);
-            }
-            set
-            {
-                SetValue(RowSpanProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
+                PropertyMap _timePeriod = new PropertyMap();
+                _timePeriod.Add("duration", new PropertyValue((endTime - startTime) / 1000.0f));
+                _timePeriod.Add("delay", new PropertyValue(startTime / 1000.0f));
+                _animator.Add("timePeriod", new PropertyValue(_timePeriod));
 
-        /// <summary>
-        /// The number of columns this child occupies, if not set, the default value is 1.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float ColumnSpan
-        {
-            get
-            {
-                return (float)GetValue(ColumnSpanProperty);
-            }
-            set
-            {
-                SetValue(ColumnSpanProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
+                PropertyMap _transition = new PropertyMap();
+                _transition.Add("animator", new PropertyValue(_animator));
+                _transition.Add("target", new PropertyValue(targetVisual));
+                _transition.Add("property", new PropertyValue("mixColor"));
 
-        /// <summary>
-        /// The horizontal alignment of this child inside the cells, if not set, the default value is 'left'.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.HorizontalAlignmentType CellHorizontalAlignment
-        {
-            get
-            {
-                return (HorizontalAlignmentType)GetValue(CellHorizontalAlignmentProperty);
-            }
-            set
-            {
-                SetValue(CellHorizontalAlignmentProperty, value);
-                NotifyPropertyChanged();
+                if (initialColor != null)
+                {
+                    PropertyValue initValue = PropertyValue.CreateFromObject(initialColor);
+                    _transition.Add("initialValue", initValue);
+                }
+
+                PropertyValue destValue = PropertyValue.CreateFromObject(destinationColor);
+                _transition.Add("targetValue", destValue);
+                TransitionData _transitionData = new TransitionData(_transition);
+
+                animation = new Animation(NDalicManualPINVOKE.View_CreateTransition(swigCPtr, TransitionData.getCPtr(_transitionData)), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+            return animation;
         }
 
+        // From Container Base class
         /// <summary>
-        /// The vertical alignment of this child inside the cells, if not set, the default value is 'top'.
+        /// Adds a child view to this view.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.VerticalAlignmentType CellVerticalAlignment
+        /// <seealso cref="Container.Add" />
+        /// <since_tizen> 4 </since_tizen>
+        public override void Add(View child)
         {
-            get
+            if (null == child)
             {
-                return (VerticalAlignmentType)GetValue(CellVerticalAlignmentProperty);
+                Tizen.Log.Fatal("NUI", "Child is null");
+                return;
             }
-            set
+
+            Log.Info("NUI", "Adding Child:" + child.Name + " to " + Name + "\n");
+
+            Container oldParent = child.GetParent();
+            if (oldParent != this)
             {
-                SetValue(CellVerticalAlignmentProperty, value);
-                NotifyPropertyChanged();
+                if (oldParent != null)
+                {
+                    oldParent.Remove(child);
+                }
+                child.InternalParent = this;
+
+                // Only give children a layout if their parent is an explicit container or a pure View.
+                // Pure View meaning not derived from a View, e.g a Legacy container.
+                // layoutSet flag is true when the View became a layout using the set Layout API opposed to automatically due to it's parent.
+                // First time the set Layout API is used by any View the Window no longer has layoutingDisabled.
+                if ((true == layoutSet || GetType() == typeof(View)) && null == child.Layout && false == layoutingDisabled)
+                {
+                    Log.Info("NUI", "Parent[" + Name + "] Layout set[" + layoutSet.ToString() + "] Pure View[" + (!layoutSet).ToString() + "]\n");
+                    // If child is a View or explicitly set to require layouting then set child as a LayoutGroup.
+                    // If the child is derived from a View then it may be a legacy or existing container hence will do layouting itself.
+                    if (child.GetType() == typeof(View) || true == child.LayoutingRequired)
+                    {
+                        Log.Info("NUI", "Creating LayoutGroup for " + child.Name + " LayoutingRequired[" + child.LayoutingRequired.ToString() + "]\n");
+                        child.SetLayout(new LayoutGroup());
+                    }
+                    else
+                    {
+                        // Adding child as a leaf, layouting will not propagate past this child.
+                        // Legacy containers will be a LayoutItems too and layout their children how they wish.
+                        Log.Info("NUI", "Creating LayoutItem for " + child.Name + "\n");
+                        child.SetLayout(new LayoutItem());
+                    }
+                }
+
+                if (Layout)
+                {
+                    Layout.LayoutChildren.Add(child.Layout);
+                }
+
+                NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Children.Add(child);
+
+                if (ChildAdded != null)
+                {
+                    ChildAddedEventArgs e = new ChildAddedEventArgs
+                    {
+                        Added = child
+                    };
+                    ChildAdded(this, e);
+                }
             }
         }
 
         /// <summary>
-        /// The left focusable view.<br />
-        /// This will return null if not set.<br />
-        /// This will also return null if the specified left focusable view is not on a window.<br />
+        /// Removes a child view from this View. If the view was not a child of this view, this is a no-op.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public View LeftFocusableView
+        /// <seealso cref="Container.Remove" />
+        /// <since_tizen> 4 </since_tizen>
+        public override void Remove(View child)
         {
-            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
-            get
+            NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            Children.Remove(child);
+            child.InternalParent = null;
+
+            if (Layout)
             {
-                return (View)GetValue(LeftFocusableViewProperty);
+                if (child.Layout)
+                {
+                    Layout.LayoutChildren.Remove(child.Layout);
+                }
             }
-            set
+
+            if (ChildRemoved != null)
             {
-                SetValue(LeftFocusableViewProperty, value);
-                NotifyPropertyChanged();
+                ChildRemovedEventArgs e = new ChildRemovedEventArgs
+                {
+                    Removed = child
+                };
+                ChildRemoved(this, e);
             }
         }
 
         /// <summary>
-        /// The right focusable view.<br />
-        /// This will return null if not set.<br />
-        /// This will also return null if the specified right focusable view is not on a window.<br />
+        /// Retrieves a child view by index.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public View RightFocusableView
+        /// <seealso cref="Container.GetChildAt" />
+        /// <since_tizen> 4 </since_tizen>
+        public override View GetChildAt(uint index)
         {
-            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
-            get
+            if (index < Children.Count)
             {
-                return (View)GetValue(RightFocusableViewProperty);
+                return Children[Convert.ToInt32(index)];
             }
-            set
+            else
             {
-                SetValue(RightFocusableViewProperty, value);
-                NotifyPropertyChanged();
+                return null;
             }
         }
 
         /// <summary>
-        /// The up focusable view.<br />
-        /// This will return null if not set.<br />
-        /// This will also return null if the specified up focusable view is not on a window.<br />
+        /// Retrieves the number of children held by the view.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public View UpFocusableView
+        /// <seealso cref="Container.GetChildCount" />
+        /// <since_tizen> 4 </since_tizen>
+        public override uint GetChildCount()
         {
-            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
-            get
-            {
-                return (View)GetValue(UpFocusableViewProperty);
-            }
-            set
-            {
-                SetValue(UpFocusableViewProperty, value);
-                NotifyPropertyChanged();
-            }
+            return Convert.ToUInt32(Children.Count);
         }
 
         /// <summary>
-        /// The down focusable view.<br />
-        /// This will return null if not set.<br />
-        /// This will also return null if the specified down focusable view is not on a window.<br />
+        /// Gets the views parent.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public View DownFocusableView
+        /// <seealso cref="Container.GetParent()" />
+        /// <since_tizen> 4 </since_tizen>
+        public override Container GetParent()
         {
-            // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
-            get
-            {
-                return (View)GetValue(DownFocusableViewProperty);
-            }
-            set
-            {
-                SetValue(DownFocusableViewProperty, value);
-                NotifyPropertyChanged();
-            }
+            return this.InternalParent as Container;
         }
 
         /// <summary>
-        /// Whether the view should be focusable by keyboard navigation.
+        /// Queries whether the view has a focus.
         /// </summary>
+        /// <returns>True if this view has a focus.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool Focusable
+        public bool HasFocus()
         {
-            set
-            {
-                SetValue(FocusableProperty, value);
-                NotifyPropertyChanged();
-            }
-            get
-            {
-                return (bool)GetValue(FocusableProperty);
-            }
+            bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Enumeration for describing the states of the view.
+        /// Sets the name of the style to be applied to the view.
         /// </summary>
+        /// <param name="styleName">A string matching a style described in a stylesheet.</param>
         /// <since_tizen> 3 </since_tizen>
-        public enum States
+        public void SetStyleName(string styleName)
         {
-            /// <summary>
-            /// The normal state.
-            /// </summary>
-            Normal,
-            /// <summary>
-            /// The focused state.
-            /// </summary>
-            Focused,
-            /// <summary>
-            /// The disabled state.
-            /// </summary>
-            Disabled
+            NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        ///  Retrieves the position of the view.<br />
-        ///  The coordinates are relative to the view's parent.<br />
+        /// Retrieves the name of the style to be applied to the view (if any).
         /// </summary>
+        /// <returns>A string matching a style, or an empty string.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Position CurrentPosition
+        public string GetStyleName()
         {
-            get
-            {
-                return GetCurrentPosition();
-            }
+            string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Sets the size of a view for the width and the height.<br />
-        /// Geometry can be scaled to fit within this area.<br />
-        /// This does not interfere with the view's scale factor.<br />
-        /// The views default depth is the minimum of width and height.<br />
+        /// Clears the background.
         /// </summary>
-        /// <remarks>
-        /// This NUI object (Size2D) typed property can be configured by multiple cascade setting. <br />
-        /// For example, this code ( view.Size2D.Width = 100; view.Size2D.Height = 100; ) is equivalent to this ( view.Size2D = new Size2D(100, 100); ). <br />
-        /// Please note that this multi-cascade setting is especially possible for this NUI object (Size2D). <br />
-        /// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
-        /// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
-        /// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
-        /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimu size is set. <br />
-        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public Size2D Size2D
+        public void ClearBackground()
         {
-            get
-            {
-                Size2D temp = (Size2D)GetValue(Size2DProperty);
-                return new Size2D(OnSize2DChanged, temp.Width, temp.Height);
-            }
-            set
-            {
-                SetValue(Size2DProperty, value);
-                // Set Specification so when layouts measure this View it matches the value set here.
-                // All Views are currently Layouts.
-                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Width));
-                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Height));
-                NotifyPropertyChanged();
-            }
+            NDalicPINVOKE.View_ClearBackground(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private void OnSize2DChanged(int width, int height)
+        /// <summary>
+        /// Shows the view.
+        /// </summary>
+        /// <remarks>
+        /// This is an asynchronous method.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public void Show()
         {
-            Size2D = new Size2D(width, height);
+            SetVisible(true);
         }
 
         /// <summary>
-        ///  Retrieves the size of the view.<br />
-        ///  The coordinates are relative to the view's parent.<br />
+        /// Hides the view.
         /// </summary>
+        /// <remarks>
+        /// This is an asynchronous method.
+        /// If the view is hidden, then the view and its children will not be rendered.
+        /// This is regardless of the individual visibility of the children, i.e., the view will only be rendered if all of its parents are shown.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public Size2D CurrentSize
+        public void Hide()
         {
-            get
-            {
-                return GetCurrentSize();
-            }
+            SetVisible(false);
         }
 
         /// <summary>
-        /// Retrieves and sets the view's opacity.<br />
+        /// Raises the view above all other views.
         /// </summary>
+        /// <remarks>
+        /// Sibling order of views within the parent will be updated automatically.
+        /// Once a raise or lower API is used, that view will then have an exclusive sibling order independent of insertion.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public float Opacity
+        public void RaiseToTop()
         {
-            get
-            {
-                return (float)GetValue(OpacityProperty);
-            }
-            set
+            var parentChildren = GetParent()?.Children;
+
+            if (parentChildren != null)
             {
-                SetValue(OpacityProperty, value);
-                NotifyPropertyChanged();
+                parentChildren.Remove(this);
+                parentChildren.Add(this);
+
+                NDalicPINVOKE.RaiseToTop(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+
         }
 
         /// <summary>
-        /// Sets the position of the view for X and Y.<br />
-        /// By default, sets the position vector between the parent origin and the pivot point (default).<br />
-        /// If the position inheritance is disabled, sets the world position.<br />
+        /// Lowers the view to the bottom of all views.
         /// </summary>
         /// <remarks>
-        /// This NUI object (Position2D) typed property can be configured by multiple cascade setting. <br />
-        /// For example, this code ( view.Position2D.X = 100; view.Position2D.Y = 100; ) is equivalent to this ( view.Position2D = new Position2D(100, 100); ). <br />
-        /// Please note that this multi-cascade setting is especially possible for this NUI object (Position2D). <br />
-        /// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
-        /// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
-        /// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
+        /// The sibling order of views within the parent will be updated automatically.
+        /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
         /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public Position2D Position2D
+        public void LowerToBottom()
         {
-            get
-            {
-                Position2D temp = (Position2D)GetValue(Position2DProperty);
-                return new Position2D(OnPosition2DChanged, temp.X, temp.Y);
-            }
-            set
+            var parentChildren = GetParent()?.Children;
+
+            if (parentChildren != null)
             {
-                SetValue(Position2DProperty, value);
-                NotifyPropertyChanged();
+                parentChildren.Remove(this);
+                parentChildren.Insert(0, this);
+
+                NDalicPINVOKE.LowerToBottom(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending)
+                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
         }
 
-        private void OnPosition2DChanged(int x, int y)
+        /// <summary>
+        /// Queries if all resources required by a view are loaded and ready.
+        /// </summary>
+        /// <remarks>Most resources are only loaded when the control is placed on the stage.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsResourceReady()
         {
-            Position2D = new Position2D(x, y);
+            bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Retrieves the screen postion of the view.<br />
+        /// Gets the parent layer of this view.If a view has no parent, this method does not do anything.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScreenPosition
+        /// <pre>The view has been initialized. </pre>
+        /// <returns>The parent layer of view </returns>
+        /// <since_tizen> 5 </since_tizen>
+        public Layer GetLayer()
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                GetProperty(View.Property.SCREEN_POSITION).Get(temp);
-                return temp;
-            }
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Actor_GetLayer(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Layer ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Layer;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Determines whether the pivot point should be used to determine the position of the view.
-        /// This is true by default.
+        /// Removes a view from its parent view or layer. If a view has no parent, this method does nothing.
         /// </summary>
-        /// <remarks>If false, then the top-left of the view is used for the position.
-        /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the view's position.
-        /// </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public bool PositionUsesPivotPoint
+        /// <pre>The (child) view has been initialized. </pre>
+        /// <since_tizen> 4 </since_tizen>
+        public void Unparent()
         {
-            get
-            {
-                return (bool)GetValue(PositionUsesPivotPointProperty);
-            }
-            set
-            {
-                SetValue(PositionUsesPivotPointProperty, value);
-                NotifyPropertyChanged();
-            }
+            GetParent()?.Remove(this);
         }
 
         /// <summary>
-        /// Please do not use! this will be deprecated.
+        /// Search through this view's hierarchy for a view with the given name.
+        /// The view itself is also considered in the search.
         /// </summary>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use PositionUsesPivotPoint.
+        /// <pre>The view has been initialized.</pre>
+        /// <param name="viewName">The name of the view to find.</param>
+        /// <returns>A handle to the view if found, or an empty handle if not.</returns>
         /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use PositionUsesPivotPoint instead! " +
-            "Like: " +
-            "View view = new View(); " +
-            "view.PivotPoint = PivotPoint.Center; " +
-            "view.PositionUsesPivotPoint = true;")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool PositionUsesAnchorPoint
+        public View FindChildByName(string viewName)
         {
-            get
-            {
-                bool temp = false;
-                GetProperty(View.Property.POSITION_USES_ANCHOR_POINT).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
-            }
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Actor_FindChildByName(swigCPtr, viewName);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal bool FocusState
+        /// <summary>
+        /// Converts screen coordinates into the view's coordinate system using the default camera.
+        /// </summary>
+        /// <pre>The view has been initialized.</pre>
+        /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5).</remarks>
+        /// <param name="localX">On return, the X-coordinate relative to the view.</param>
+        /// <param name="localY">On return, the Y-coordinate relative to the view.</param>
+        /// <param name="screenX">The screen X-coordinate.</param>
+        /// <param name="screenY">The screen Y-coordinate.</param>
+        /// <returns>True if the conversion succeeded.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
         {
-            get
-            {
-                return IsKeyboardFocusable();
-            }
-            set
-            {
-                SetKeyboardFocusable(value);
-            }
+            bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Queries whether the view is connected to the stage.<br />
-        /// When a view is connected, it will be directly or indirectly parented to the root view.<br />
+        /// Sets the relative to parent size factor of the view.<br />
+        /// This factor is only used when ResizePolicy is set to either:
+        /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br />
+        /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br />
         /// </summary>
+        /// <pre>The view has been initialized.</pre>
+        /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsOnWindow
+        public void SetSizeModeFactor(Vector3 factor)
         {
-            get
-            {
-                return OnWindow();
-            }
+            NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
-
         /// <summary>
-        /// Gets the depth in the hierarchy for the view.
+        /// Calculates the height of the view given a width.<br />
+        /// The natural size is used for default calculation.<br />
+        /// Size 0 is treated as aspect ratio 1:1.<br />
         /// </summary>
+        /// <param name="width">The width to use.</param>
+        /// <returns>The height based on the width.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public int HierarchyDepth
+        public float GetHeightForWidth(float width)
         {
-            get
-            {
-                return GetHierarchyDepth();
-            }
+            float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Sets the sibling order of the view so the depth position can be defined within the same parent.
+        /// Calculates the width of the view given a height.<br />
+        /// The natural size is used for default calculation.<br />
+        /// Size 0 is treated as aspect ratio 1:1.<br />
         /// </summary>
-        /// <remarks>
-        /// Note the initial value is 0. SiblingOrder should be bigger than 0 or equal to 0.
-        /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove, and LowerBelow will override the sibling order.
-        /// The values set by this property will likely change.
-        /// </remarks>
+        /// <param name="height">The height to use.</param>
+        /// <returns>The width based on the height.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public int SiblingOrder
+        public float GetWidthForHeight(float height)
         {
-            get
-            {
-                return (int)GetValue(SiblingOrderProperty);
-            }
-            set
-            {
-                SetValue(SiblingOrderProperty, value);
-                NotifyPropertyChanged();
-            }
+            float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Returns the natural size of the view.
+        /// Return the amount of size allocated for relayout.
         /// </summary>
-        /// <remarks>
-        /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
-        /// </remarks>
-        /// <since_tizen> 5 </since_tizen>
-        public Vector3 NaturalSize
+        /// <param name="dimension">The dimension to retrieve.</param>
+        /// <returns>Return the size.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float GetRelayoutSize(DimensionType dimension)
         {
-            get
-            {
-                Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Returns the natural size (Size2D) of the view.
+        /// Set the padding for the view.
         /// </summary>
-        /// <remarks>
-        /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
-        /// </remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public Size2D NaturalSize2D
+        /// <param name="padding">Padding for the view.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetPadding(PaddingType padding)
         {
-            get
-            {
-                Vector3 temp = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-                return new Size2D((int)temp.Width, (int)temp.Height);
-            }
+            NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Set the layout on this control.
+        /// Return the value of padding for the view.
         /// </summary>
-        /// <remarks>
-        /// </remarks>
-        internal LayoutItem Layout
+        /// <param name="paddingOut">the value of padding for the view</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void GetPadding(PaddingType paddingOut)
         {
-            get
-            {
-                IntPtr cPtr = Tizen.NUI.NDalicManualPINVOKE.GetLayout__SWIG_1(View.getCPtr(this));
-
-                HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-                BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle);
-                NDalicPINVOKE.delete_BaseHandle(CPtr);
-                CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-                return basehandle as LayoutItem;
-            }
-            set
-            {
-                Log.Info("NUI", "Set Layout on:" + Name + "\n");
-                layoutingDisabled = false;
-                layoutSet = true;
-                SetLayout( value );
-            }
+            NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void SetLayout( LayoutItem layout )
+        /// <since_tizen> 3 </since_tizen>
+        public uint AddRenderer(Renderer renderer)
         {
-            Tizen.NUI.NDalicManualPINVOKE.SetLayout__SWIG_1(View.getCPtr(this), LayoutItem.getCPtr(layout) );
-            layout.LayoutChildren.Clear();
-            foreach (View view in Children)
-            {
-                layout.LayoutChildren.Add(view.Layout);
-            }
+            uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Set that layouting is required on this View. It will automatically receive a Layout.
-        /// </summary>
-        /// <remarks>
-        /// </remarks>
-        internal bool LayoutingRequired
+        /// <since_tizen> 3 </since_tizen>
+        public Renderer GetRendererAt(uint index)
         {
-            get
-            {
-                bool result = Tizen.NUI.NDalicManualPINVOKE.View_IsLayoutingRequired(View.getCPtr(this));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return result;
-            }
-            set
-            {
-                Tizen.NUI.NDalicManualPINVOKE.View_SetLayoutingRequired(View.getCPtr(this), value);
-            }
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Renderer ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Renderer;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Shows the view.
-        /// </summary>
-        /// <remarks>
-        /// This is an asynchronous method.
-        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public void Show()
+        public void RemoveRenderer(Renderer renderer)
         {
-            SetVisible(true);
+            NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Hides the view.
-        /// </summary>
-        /// <remarks>
-        /// This is an asynchronous method.
-        /// If the view is hidden, then the view and its children will not be rendered.
-        /// This is regardless of the individual visibility of the children, i.e., the view will only be rendered if all of its parents are shown.
-        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public void Hide()
+        public void RemoveRenderer(uint index)
         {
-            SetVisible(false);
+            NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         internal void Raise()
@@ -3546,7 +4245,6 @@ namespace Tizen.NUI.BaseComponents
                         throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 }
             }
-
         }
 
         internal void Lower()
@@ -3572,66 +4270,6 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Raises the view above all other views.
-        /// </summary>
-        /// <remarks>
-        /// Sibling order of views within the parent will be updated automatically.
-        /// Once a raise or lower API is used, that view will then have an exclusive sibling order independent of insertion.
-        /// </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public void RaiseToTop()
-        {
-            var parentChildren = GetParent()?.Children;
-
-            if (parentChildren != null)
-            {
-                parentChildren.Remove(this);
-                parentChildren.Add(this);
-
-                NDalicPINVOKE.RaiseToTop(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-        }
-
-        /// <summary>
-        /// Lowers the view to the bottom of all views.
-        /// </summary>
-        /// <remarks>
-        /// The sibling order of views within the parent will be updated automatically.
-        /// Once a raise or lower API is used that view will then have an exclusive sibling order independent of insertion.
-        /// </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public void LowerToBottom()
-        {
-            var parentChildren = GetParent()?.Children;
-
-            if (parentChildren != null)
-            {
-                parentChildren.Remove(this);
-                parentChildren.Insert(0, this);
-
-                NDalicPINVOKE.LowerToBottom(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-        }
-
-        /// <summary>
-        /// Queries if all resources required by a view are loaded and ready.
-        /// </summary>
-        /// <remarks>Most resources are only loaded when the control is placed on the stage.
-        /// </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsResourceReady()
-        {
-            bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
         /// Raises the view to above the target view.
         /// </summary>
         /// <remarks>The sibling order of views within the parent will be updated automatically.
@@ -3745,58 +4383,6 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <summary>
-        /// Gets the parent layer of this view.If a view has no parent, this method does not do anything.
-        /// </summary>
-        /// <pre>The view has been initialized. </pre>
-        /// <returns>The parent layer of view </returns>
-        /// <since_tizen> 5 </since_tizen>
-        public Layer GetLayer()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Actor_GetLayer(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            Layer ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Layer;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Removes a view from its parent view or layer. If a view has no parent, this method does nothing.
-        /// </summary>
-        /// <pre>The (child) view has been initialized. </pre>
-        /// <since_tizen> 4 </since_tizen>
-        public void Unparent()
-        {
-            GetParent()?.Remove(this);
-        }
-
-        /// <summary>
-        /// Search through this view's hierarchy for a view with the given name.
-        /// The view itself is also considered in the search.
-        /// </summary>
-        /// <pre>The view has been initialized.</pre>
-        /// <param name="viewName">The name of the view to find.</param>
-        /// <returns>A handle to the view if found, or an empty handle if not.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public View FindChildByName(string viewName)
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Actor_FindChildByName(swigCPtr, viewName);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal View FindChildById(uint id)
         {
             //to fix memory leak issue, match the handle count with native side.
@@ -4197,25 +4783,6 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <summary>
-        /// Converts screen coordinates into the view's coordinate system using the default camera.
-        /// </summary>
-        /// <pre>The view has been initialized.</pre>
-        /// <remarks>The view coordinates are relative to the top-left(0.0, 0.0, 0.5).</remarks>
-        /// <param name="localX">On return, the X-coordinate relative to the view.</param>
-        /// <param name="localY">On return, the Y-coordinate relative to the view.</param>
-        /// <param name="screenX">The screen X-coordinate.</param>
-        /// <param name="screenY">The screen Y-coordinate.</param>
-        /// <returns>True if the conversion succeeded.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
-        {
-            bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal void SetKeyboardFocusable(bool focusable)
         {
             NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
@@ -4242,102 +4809,16 @@ namespace Tizen.NUI.BaseComponents
         {
             ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the relative to parent size factor of the view.<br />
-        /// This factor is only used when ResizePolicy is set to either:
-        /// ResizePolicy::SIZE_RELATIVE_TO_PARENT or ResizePolicy::SIZE_FIXED_OFFSET_FROM_PARENT.<br />
-        /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicy.<br />
-        /// </summary>
-        /// <pre>The view has been initialized.</pre>
-        /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetSizeModeFactor(Vector3 factor)
-        {
-            NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Vector3 GetSizeModeFactor()
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Calculates the height of the view given a width.<br />
-        /// The natural size is used for default calculation.<br />
-        /// Size 0 is treated as aspect ratio 1:1.<br />
-        /// </summary>
-        /// <param name="width">The width to use.</param>
-        /// <returns>The height based on the width.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float GetHeightForWidth(float width)
-        {
-            float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Calculates the width of the view given a height.<br />
-        /// The natural size is used for default calculation.<br />
-        /// Size 0 is treated as aspect ratio 1:1.<br />
-        /// </summary>
-        /// <param name="height">The height to use.</param>
-        /// <returns>The width based on the height.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float GetWidthForHeight(float height)
-        {
-            float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Return the amount of size allocated for relayout.
-        /// </summary>
-        /// <param name="dimension">The dimension to retrieve.</param>
-        /// <returns>Return the size.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float GetRelayoutSize(DimensionType dimension)
-        {
-            float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Set the padding for the view.
-        /// </summary>
-        /// <param name="padding">Padding for the view.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetPadding(PaddingType padding)
-        {
-            NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Return the value of padding for the view.
-        /// </summary>
-        /// <param name="paddingOut">the value of padding for the view</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void GetPadding(PaddingType paddingOut)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Vector3 GetSizeModeFactor()
         {
-            NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
+            Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal void SetMinimumSize(Vector2 size)
@@ -4378,15 +4859,6 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <since_tizen> 3 </since_tizen>
-        public uint AddRenderer(Renderer renderer)
-        {
-            uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal uint GetRendererCount()
         {
             uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
@@ -4395,37 +4867,6 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <since_tizen> 3 </since_tizen>
-        public Renderer GetRendererAt(uint index)
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            Renderer ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Renderer;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <since_tizen> 3 </since_tizen>
-        public void RemoveRenderer(Renderer renderer)
-        {
-            NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <since_tizen> 3 </since_tizen>
-        public void RemoveRenderer(uint index)
-        {
-            NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal TouchDataSignal TouchSignal()
         {
             TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
@@ -4470,1176 +4911,722 @@ namespace Tizen.NUI.BaseComponents
         {
             ViewSignal ret = new ViewSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ViewVisibilityChangedSignal VisibilityChangedSignal(View view)
-        {
-            ViewVisibilityChangedSignal ret = new ViewVisibilityChangedSignal(NDalicPINVOKE.VisibilityChangedSignal(View.getCPtr(view)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-
-        internal ViewLayoutDirectionChangedSignal LayoutDirectionChangedSignal(View view)
-        {
-            ViewLayoutDirectionChangedSignal ret = new ViewLayoutDirectionChangedSignal(NDalicManualPINVOKE.LayoutDirectionChangedSignal(View.getCPtr(view)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-
-        internal ViewSignal ResourcesLoadedSignal()
-        {
-            ViewSignal ret = new ViewSignal(NDalicPINVOKE.ResourceReadySignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Gets or sets the origin of a view within its parent's area.<br />
-        /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the parent, and (1.0, 1.0, 0.5) is the bottom-right corner.<br />
-        /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br />
-        /// A view's position is the distance between this origin and the view's anchor-point.<br />
-        /// </summary>
-        /// <pre>The view has been initialized.</pre>
-        /// <since_tizen> 3 </since_tizen>
-        public Position ParentOrigin
-        {
-            get
-            {
-                return (Position)GetValue(ParentOriginProperty);
-            }
-            set
-            {
-                SetValue(ParentOriginProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        internal float ParentOriginX
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.PARENT_ORIGIN_X).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.PARENT_ORIGIN_X, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
-            }
-        }
-
-        internal float ParentOriginY
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.PARENT_ORIGIN_Y).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.PARENT_ORIGIN_Y, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
-            }
-        }
-
-        internal float ParentOriginZ
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.PARENT_ORIGIN_Z).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.PARENT_ORIGIN_Z, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the anchor-point of a view.<br />
-        /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the view, and (1.0, 1.0, 0.5) is the bottom-right corner.<br />
-        /// The default pivot point is PivotPoint.Center (0.5, 0.5, 0.5).<br />
-        /// A view position is the distance between its parent-origin and this anchor-point.<br />
-        /// A view's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br />
-        /// <pre>The view has been initialized.</pre>
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Position PivotPoint
-        {
-            get
-            {
-                return (Position)GetValue(PivotPointProperty);
-            }
-            set
-            {
-                SetValue(PivotPointProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        internal float PivotPointX
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.ANCHOR_POINT_X).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.ANCHOR_POINT_X, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        internal float PivotPointY
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.ANCHOR_POINT_Y).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.ANCHOR_POINT_Y, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        internal float PivotPointZ
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.ANCHOR_POINT_Z).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.ANCHOR_POINT_Z, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the size width of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float SizeWidth
-        {
-            get
-            {
-                return (float)GetValue(SizeWidthProperty);
-            }
-            set
-            {
-                SetValue(SizeWidthProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the size height of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float SizeHeight
-        {
-            get
-            {
-                return (float)GetValue(SizeHeightProperty);
-            }
-            set
-            {
-                SetValue(SizeHeightProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the position of the view.<br />
-        /// By default, sets the position vector between the parent origin and pivot point (default).<br />
-        /// If the position inheritance is disabled, sets the world position.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Position Position
-        {
-            get
-            {
-                return (Position)GetValue(PositionProperty);
-            }
-            set
-            {
-                SetValue(PositionProperty, value);
-                NotifyPropertyChanged();
-            }
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the position X of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float PositionX
+        internal ViewVisibilityChangedSignal VisibilityChangedSignal(View view)
         {
-            get
-            {
-                return (float)GetValue(PositionXProperty);
-            }
-            set
-            {
-                SetValue(PositionXProperty, value);
-                NotifyPropertyChanged();
-            }
+            ViewVisibilityChangedSignal ret = new ViewVisibilityChangedSignal(NDalicPINVOKE.VisibilityChangedSignal(View.getCPtr(view)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the position Y of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float PositionY
+        internal ViewLayoutDirectionChangedSignal LayoutDirectionChangedSignal(View view)
         {
-            get
-            {
-                return (float)GetValue(PositionYProperty);
-            }
-            set
-            {
-                SetValue(PositionYProperty, value);
-                NotifyPropertyChanged();
-            }
+            ViewLayoutDirectionChangedSignal ret = new ViewLayoutDirectionChangedSignal(NDalicManualPINVOKE.LayoutDirectionChangedSignal(View.getCPtr(view)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the position Z of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float PositionZ
+        internal ViewSignal ResourcesLoadedSignal()
         {
-            get
-            {
-                return (float)GetValue(PositionZProperty);
-            }
-            set
-            {
-                SetValue(PositionZProperty, value);
-                NotifyPropertyChanged();
-            }
+            ViewSignal ret = new ViewSignal(NDalicPINVOKE.ResourceReadySignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the world position of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector3 WorldPosition
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj)
         {
-            get
-            {
-                Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
-                GetProperty(View.Property.WORLD_POSITION).Get(temp);
-                return temp;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal float WorldPositionX
+        internal bool IsTopLevelView()
         {
-            get
+            if (GetParent() is Layer)
             {
-                float temp = 0.0f;
-                GetProperty(View.Property.WORLD_POSITION_X).Get(out temp);
-                return temp;
+                return true;
             }
+            return false;
         }
 
-        internal float WorldPositionY
+        internal void SetKeyInputFocus()
         {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.WORLD_POSITION_Y).Get(out temp);
-                return temp;
-            }
+            NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal float WorldPositionZ
+        internal void ClearKeyInputFocus()
         {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.WORLD_POSITION_Z).Get(out temp);
-                return temp;
-            }
+            NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Gets or sets the orientation of the view.<br />
-        /// The view's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br />
-        /// </summary>
-        /// <remarks>This is an asynchronous method.</remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public Rotation Orientation
+        internal PinchGestureDetector GetPinchGestureDetector()
         {
-            get
-            {
-                return (Rotation)GetValue(OrientationProperty);
-            }
-            set
-            {
-                SetValue(OrientationProperty, value);
-                NotifyPropertyChanged();
-            }
+            PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the world orientation of the view.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Rotation WorldOrientation
+        internal PanGestureDetector GetPanGestureDetector()
         {
-            get
-            {
-                Rotation temp = new Rotation();
-                GetProperty(View.Property.WORLD_ORIENTATION).Get(temp);
-                return temp;
-            }
+            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the scale factor applied to the view.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector3 Scale
+        internal TapGestureDetector GetTapGestureDetector()
         {
-            get
-            {
-                return (Vector3)GetValue(ScaleProperty);
-            }
-            set
-            {
-                SetValue(ScaleProperty, value);
-                NotifyPropertyChanged();
-            }
+            TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the scale X factor applied to the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float ScaleX
+        internal LongPressGestureDetector GetLongPressGestureDetector()
         {
-            get
-            {
-                return (float)GetValue(ScaleXProperty);
-            }
-            set
-            {
-                SetValue(ScaleXProperty, value);
-                NotifyPropertyChanged();
-            }
+            LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets or sets the scale Y factor applied to the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float ScaleY
+        internal void SetBackgroundColor(Vector4 color)
         {
-            get
-            {
-                return (float)GetValue(ScaleYProperty);
-            }
-            set
-            {
-                SetValue(ScaleYProperty, value);
-                NotifyPropertyChanged();
-            }
+            NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Gets or sets the scale Z factor applied to the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float ScaleZ
+        internal Vector4 GetBackgroundColor()
         {
-            get
-            {
-                return (float)GetValue(ScaleZProperty);
-            }
-            set
-            {
-                SetValue(ScaleZProperty, value);
-                NotifyPropertyChanged();
-            }
+            Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets the world scale of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector3 WorldScale
+        internal void SetBackgroundImage(Image image)
         {
-            get
-            {
-                Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
-                GetProperty(View.Property.WORLD_SCALE).Get(temp);
-                return temp;
-            }
+            NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Retrieves the visibility flag of the view.
-        /// </summary>
-        /// <remarks>
-        /// If the view is not visible, then the view and its children will not be rendered.
-        /// This is regardless of the individual visibility values of the children, i.e., the view will only be rendered if all of its parents have visibility set to true.
-        /// </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Visibility
+        internal ControlKeySignal KeyEventSignal()
         {
-            get
-            {
-                bool temp = false;
-                GetProperty(View.Property.VISIBLE).Get(out temp);
-                return temp;
-            }
+            ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Gets the view's world color.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector4 WorldColor
+        internal KeyInputFocusSignal KeyInputFocusGainedSignal()
         {
-            get
-            {
-                Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-                GetProperty(View.Property.WORLD_COLOR).Get(temp);
-                return temp;
-            }
+            KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyInputFocusSignal KeyInputFocusLostSignal()
+        {
+            KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal Matrix WorldMatrix
+        internal IntPtr GetPtrfromView()
         {
-            get
-            {
-                Matrix temp = new Matrix();
-                GetProperty(View.Property.WORLD_MATRIX).Get(temp);
-                return temp;
-            }
+            return (IntPtr)swigCPtr;
         }
 
-        /// <summary>
-        /// Gets or sets the view's name.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Name
+        internal void SetLayout(LayoutItem layout)
         {
-            get
-            {
-                return (string)GetValue(NameProperty);
-            }
-            set
+            Tizen.NUI.NDalicManualPINVOKE.SetLayout__SWIG_1(View.getCPtr(this), LayoutItem.getCPtr(layout));
+            layout.LayoutChildren.Clear();
+            foreach (View view in Children)
             {
-                SetValue(NameProperty, value);
-                NotifyPropertyChanged();
+                layout.LayoutChildren.Add(view.Layout);
             }
         }
 
-        /// <summary>
-        /// Get the number of children held by the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public new uint ChildCount
+        internal ResourceLoadingStatusType GetBackgroundResourceStatus()
         {
-            get
-            {
-                return GetChildCount();
-            }
+            return (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.BACKGROUND);
         }
 
         /// <summary>
-        /// Gets the view's ID.
-        /// Readonly
+        /// you can override it to clean-up your own resources.
         /// </summary>
+        /// <param name="type">DisposeTypes</param>
         /// <since_tizen> 3 </since_tizen>
-        public uint ID
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return GetId();
+                return;
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the status of whether the view should emit touch or hover signals.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Sensitive
-        {
-            get
+            if (type == DisposeTypes.Explicit)
             {
-                return (bool)GetValue(SensitiveProperty);
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            set
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
             {
-                SetValue(SensitiveProperty, value);
-                NotifyPropertyChanged();
+                DisConnectFromSignals();
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the status of whether the view should receive a notification when touch or hover motion events leave the boundary of the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool LeaveRequired
-        {
-            get
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                return (bool)GetValue(LeaveRequiredProperty);
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_View(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
-            set
+
+            foreach (View view in Children)
             {
-                SetValue(LeaveRequiredProperty, value);
-                NotifyPropertyChanged();
+                view.InternalParent = null;
             }
+
+            base.Dispose(type);
+
         }
 
-        /// <summary>
-        /// Gets or sets the status of whether a child view inherits it's parent's orientation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool InheritOrientation
+        private void OnSize2DChanged(int width, int height)
         {
-            get
-            {
-                return (bool)GetValue(InheritOrientationProperty);
-            }
-            set
-            {
-                SetValue(InheritOrientationProperty, value);
-                NotifyPropertyChanged();
-            }
+            Size2D = new Size2D(width, height);
         }
 
-        /// <summary>
-        /// Gets or sets the status of whether a child view inherits it's parent's scale.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool InheritScale
+        private void OnPosition2DChanged(int x, int y)
         {
-            get
+            Position2D = new Position2D(x, y);
+        }
+
+        private void DisConnectFromSignals()
+        {
+            // Save current CPtr.
+            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
+
+            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
+            swigCPtr = GetBaseHandleCPtrHandleRef;
+
+            if (_onRelayoutEventCallback != null)
             {
-                return (bool)GetValue(InheritScaleProperty);
+                this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
             }
-            set
+
+            if (_offWindowEventCallback != null)
             {
-                SetValue(InheritScaleProperty, value);
-                NotifyPropertyChanged();
+                this.OffWindowSignal().Disconnect(_offWindowEventCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the status of how the view and its children should be drawn.<br />
-        /// Not all views are renderable, but DrawMode can be inherited from any view.<br />
-        /// If an object is in a 3D layer, it will be depth-tested against other objects in the world, i.e., it may be obscured if other objects are in front.<br />
-        /// If DrawMode.Overlay2D is used, the view and its children will be drawn as a 2D overlay.<br />
-        /// Overlay views are drawn in a separate pass, after all non-overlay views within the layer.<br />
-        /// For overlay views, the drawing order is with respect to tree levels of views, and depth-testing will not be used.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public DrawModeType DrawMode
-        {
-            get
+            if (_onWindowEventCallback != null)
             {
-                return (DrawModeType)GetValue(DrawModeProperty);
+                this.OnWindowSignal().Disconnect(_onWindowEventCallback);
             }
-            set
+
+            if (_wheelEventCallback != null)
             {
-                SetValue(DrawModeProperty, value);
-                NotifyPropertyChanged();
+                this.WheelEventSignal().Disconnect(_wheelEventCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the relative to parent size factor of the view.<br />
-        /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br />
-        /// This view's size is set to the view's size multiplied by or added to this factor, depending on ResizePolicyType.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector3 SizeModeFactor
-        {
-            get
+            if (_hoverEventCallback != null)
             {
-                return (Vector3)GetValue(SizeModeFactorProperty);
+                this.HoveredSignal().Disconnect(_hoverEventCallback);
             }
-            set
+
+            if (_touchDataCallback != null)
             {
-                SetValue(SizeModeFactorProperty, value);
-                NotifyPropertyChanged();
+                this.TouchSignal().Disconnect(_touchDataCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the width resize policy to be used.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ResizePolicyType WidthResizePolicy
-        {
-            get
+            if (_ResourcesLoadedCallback != null)
             {
-                return (ResizePolicyType)GetValue(WidthResizePolicyProperty);
+                this.ResourcesLoadedSignal().Disconnect(_ResourcesLoadedCallback);
             }
-            set
+
+            if (_offWindowEventCallback != null)
             {
-                SetValue(WidthResizePolicyProperty, value);
-                // Match ResizePolicy to new Layouting.
-                // Parent relative policies can not be mapped at this point as parent size unknown.
-                switch( value )
-                {
-                  case ResizePolicyType.UseNaturalSize :
-                  {
-                    SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue( NaturalSize.Width) );
-                    break;
-                  }
-                  case ResizePolicyType.FillToParent :
-                  {
-                    SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue( (int)ChildLayoutData.MatchParent ) );
-                    break;
-                  }
-                  case ResizePolicyType.FitToChildren :
-                  {
-                    SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue( (int)ChildLayoutData.WrapContent ) );
-                    break;
-                  }
-                  default:
-                  break;
-                }
-                NotifyPropertyChanged();
+                this.OffWindowSignal().Disconnect(_offWindowEventCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the height resize policy to be used.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ResizePolicyType HeightResizePolicy
-        {
-            get
+            if (_onWindowEventCallback != null)
             {
-                return (ResizePolicyType)GetValue(HeightResizePolicyProperty);
+                this.OnWindowSignal().Disconnect(_onWindowEventCallback);
             }
-            set
+
+            if (_wheelEventCallback != null)
             {
-                SetValue(HeightResizePolicyProperty, value);
-                // Match ResizePolicy to new Layouting.
-                // Parent relative policies can not be mapped at this point as parent size unknown.
-                switch( value )
-                {
-                  case ResizePolicyType.UseNaturalSize :
-                  {
-                    SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue( NaturalSize.Height) );
-                    break;
-                  }
-                  case ResizePolicyType.FillToParent :
-                  {
-                    SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue( (int)ChildLayoutData.MatchParent ) );
-                    break;
-                  }
-                  case ResizePolicyType.FitToChildren :
-                  {
-                    SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue( (int)ChildLayoutData.WrapContent ) );
-                    break;
-                  }
-                  default:
-                  break;
-                }
-                NotifyPropertyChanged();
+                this.WheelEventSignal().Disconnect(_wheelEventCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the policy to use when setting size with size negotiation.<br />
-        /// Defaults to SizeScalePolicyType.UseSizeSet.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public SizeScalePolicyType SizeScalePolicy
-        {
-            get
+            if (_hoverEventCallback != null)
             {
-                return (SizeScalePolicyType)GetValue(SizeScalePolicyProperty);
+                this.HoveredSignal().Disconnect(_hoverEventCallback);
             }
-            set
+
+            if (_touchDataCallback != null)
             {
-                SetValue(SizeScalePolicyProperty, value);
-                NotifyPropertyChanged();
+                this.TouchSignal().Disconnect(_touchDataCallback);
             }
-        }
 
-        /// <summary>
-        ///  Gets or sets the status of whether the width size is dependent on the height size.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool WidthForHeight
-        {
-            get
+            if (_onRelayoutEventCallback != null)
             {
-                return (bool)GetValue(WidthForHeightProperty);
+                this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
             }
-            set
+
+            if (_keyCallback != null)
+            {
+                this.KeyEventSignal().Disconnect(_keyCallback);
+            }
+
+            if (_keyInputFocusLostCallback != null)
             {
-                SetValue(WidthForHeightProperty, value);
-                NotifyPropertyChanged();
+                this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the status of whether the height size is dependent on the width size.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool HeightForWidth
-        {
-            get
+            if (_keyInputFocusGainedCallback != null)
             {
-                return (bool)GetValue(HeightForWidthProperty);
+                this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
             }
-            set
+
+            if (_backgroundResourceLoadedCallback != null)
             {
-                SetValue(HeightForWidthProperty, value);
-                NotifyPropertyChanged();
+                this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
             }
+
+            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
+            // Restore current CPtr.
+            swigCPtr = currentCPtr;
         }
 
-        /// <summary>
-        /// Gets or sets the padding for use in layout.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public Extents Padding
+        private void OnKeyInputFocusGained(IntPtr view)
         {
-            get
+            if (_keyInputFocusGainedEventHandler != null)
             {
-                return (Extents)GetValue(PaddingProperty);
+                _keyInputFocusGainedEventHandler(this, null);
             }
-            set
+        }
+
+        private void OnKeyInputFocusLost(IntPtr view)
+        {
+            if (_keyInputFocusLostEventHandler != null)
             {
-                SetValue(PaddingProperty, value);
-                NotifyPropertyChanged();
+                _keyInputFocusLostEventHandler(this, null);
             }
         }
 
-        /// <summary>
-        /// Gets or sets the minimum size the view can be assigned in size negotiation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Size2D MinimumSize
+        private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
         {
-            get
+            if (keyEvent == global::System.IntPtr.Zero)
             {
-                return (Size2D)GetValue(MinimumSizeProperty);
+                NUILog.Error("keyEvent should not be null!");
+                return true;
             }
-            set
+
+            KeyEventArgs e = new KeyEventArgs();
+
+            bool result = false;
+
+            e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
+
+            if (_keyEventHandler != null)
             {
-                if (Layout != null)
+                Delegate[] delegateList = _keyEventHandler.GetInvocationList();
+
+                // Oring the result of each callback.
+                foreach (EventHandlerWithReturnType<object, KeyEventArgs, bool> del in delegateList)
                 {
-                    // Note: it only works if minimum size is >= than natural size.
-                    // To force the size it should be done through the width&height spec or Size2D.
-                    Layout.MinimumWidth = new Tizen.NUI.LayoutLength(value.Width);
-                    Layout.MinimumHeight = new Tizen.NUI.LayoutLength(value.Height);
+                    result |= del(this, e);
                 }
-                SetValue(MinimumSizeProperty, value);
-                NotifyPropertyChanged();
             }
+
+            return result;
         }
 
-        /// <summary>
-        /// Gets or sets the maximum size the view can be assigned in size negotiation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Size2D MaximumSize
+        // Callback for View OnRelayout signal
+        private void OnRelayout(IntPtr data)
         {
-            get
-            {
-                return (Size2D)GetValue(MaximumSizeProperty);
-            }
-            set
+            if (_onRelayoutEventHandler != null)
             {
-                // We don't have Layout.Maximum(Width|Height) so we cannot apply it to layout.
-                // MATCH_PARENT spec + parent container size can be used to limit
-                SetValue(MaximumSizeProperty, value);
-                NotifyPropertyChanged();
+                _onRelayoutEventHandler(this, null);
             }
         }
 
-        /// <summary>
-        /// Gets or sets whether a child view inherits it's parent's position.<br />
-        /// Default is to inherit.<br />
-        /// Switching this off means that using position sets the view's world position, i.e., translates from the world origin (0,0,0) to the pivot point of the view.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool InheritPosition
+        // Callback for View TouchSignal
+        private bool OnTouch(IntPtr view, IntPtr touchData)
         {
-            get
+            if (touchData == global::System.IntPtr.Zero)
             {
-                return (bool)GetValue(InheritPositionProperty);
+                NUILog.Error("touchData should not be null!");
+                return true;
             }
-            set
+
+            TouchEventArgs e = new TouchEventArgs();
+
+            e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
+
+            if (_touchDataEventHandler != null)
             {
-                SetValue(InheritPositionProperty, value);
-                NotifyPropertyChanged();
+                return _touchDataEventHandler(this, e);
             }
+            return false;
         }
 
-        /// <summary>
-        /// Gets or sets the clipping behavior (mode) of it's children.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ClippingModeType ClippingMode
+        // Callback for View Hover signal
+        private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
         {
-            get
-            {
-                return (ClippingModeType)GetValue(ClippingModeProperty);
-            }
-            set
+            if (hoverEvent == global::System.IntPtr.Zero)
             {
-                SetValue(ClippingModeProperty, value);
-                NotifyPropertyChanged();
+                NUILog.Error("hoverEvent should not be null!");
+                return true;
             }
-        }
 
-        /// <summary>
-        /// Gets the number of renderers held by the view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public uint RendererCount
-        {
-            get
+            HoverEventArgs e = new HoverEventArgs();
+
+            e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
+
+            if (_hoverEventHandler != null)
             {
-                return GetRendererCount();
+                return _hoverEventHandler(this, e);
             }
+            return false;
         }
 
-        /// <summary>
-        /// [Obsolete("Please do not use! this will be deprecated")]
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use PivotPoint.
-        [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead! " +
-            "Like: " +
-            "View view = new View(); " +
-            "view.PivotPoint = PivotPoint.Center; " +
-            "view.PositionUsesPivotPoint = true;")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Position AnchorPoint
+        // Callback for View Wheel signal
+        private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
         {
-            get
+            if (wheelEvent == global::System.IntPtr.Zero)
             {
-                Position temp = new Position(0.0f, 0.0f, 0.0f);
-                GetProperty(View.Property.ANCHOR_POINT).Get(temp);
-                return temp;
+                NUILog.Error("wheelEvent should not be null!");
+                return true;
             }
-            set
+
+            WheelEventArgs e = new WheelEventArgs();
+
+            e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
+
+            if (_wheelEventHandler != null)
             {
-                SetProperty(View.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
+                return _wheelEventHandler(this, e);
             }
+            return false;
         }
 
-        /// <summary>
-        /// Sets the size of a view for the width, the height and the depth.<br />
-        /// Geometry can be scaled to fit within this area.<br />
-        /// This does not interfere with the view's scale factor.<br />
-        /// The views default depth is the minimum of width and height.<br />
-        /// </summary>
-        /// <remarks>
-        /// Please note that multi-cascade setting is not possible for this NUI object. <br />
-        /// It is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
-        /// For example, this code is working fine : view.Size = new Size( 1.0f, 1.0f, 0.0f); <br />
-        /// but this will not work! : view.Size.Width = 2.0f; view.Size.Height = 2.0f; <br />
-        /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimu size is set. <br />
-        /// </remarks>
-        /// <since_tizen> 5 </since_tizen>
-        public Size Size
+        // Callback for View OnWindow signal
+        private void OnWindow(IntPtr data)
         {
-            get
+            if (_onWindowEventHandler != null)
             {
-                return (Size)GetValue(SizeProperty);
+                _onWindowEventHandler(this, null);
             }
-            set
+        }
+
+        // Callback for View OffWindow signal
+        private void OffWindow(IntPtr data)
+        {
+            if (_offWindowEventHandler != null)
             {
-                SetValue(SizeProperty, value);
-                // Set Specification so when layouts measure this View it matches the value set here.
-                // All Views are currently Layouts.
-                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Width));
-                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value.Height));
-                NotifyPropertyChanged();
+                _offWindowEventHandler(this, null);
             }
         }
 
-        /// <summary>
-        /// "Please DO NOT use! This will be deprecated! Please use 'Container GetParent() for derived class' instead!"
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use 'Container GetParent() for derived class' instead! " +
-            "Like: " +
-            "Container parent =  view.GetParent(); " +
-            "View view = parent as View;")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public new View Parent
+        // Callback for View visibility change signal
+        private void OnVisibilityChanged(IntPtr data, bool visibility, VisibilityChangeType type)
         {
-            get
+            VisibilityChangedEventArgs e = new VisibilityChangedEventArgs();
+            if (data != null)
             {
-                View ret;
-                IntPtr cPtr = NDalicPINVOKE.Actor_GetParent(swigCPtr);
-                HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-                BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle);
-
-                if (basehandle is Layer layer)
-                {
-                    ret = new View(Layer.getCPtr(layer).Handle, false);
-                    NUILog.Error("This Parent property is deprecated, shoud do not be used");
-                }
-                else
-                {
-                    ret = basehandle as View;
-                }
-
-                NDalicPINVOKE.delete_BaseHandle(CPtr);
-                CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
+            }
+            e.Visibility = visibility;
+            e.Type = type;
 
-                if (NDalicPINVOKE.SWIGPendingException.Pending)
-                    throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+            if (_visibilityChangedEventHandler != null)
+            {
+                _visibilityChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets/Sets whether inherit parent's the layout Direction.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public bool InheritLayoutDirection
+        // Callback for View layout direction change signal
+        private void OnLayoutDirectionChanged(IntPtr data, ViewLayoutDirectionType type)
         {
-            get
+            LayoutDirectionChangedEventArgs e = new LayoutDirectionChangedEventArgs();
+            if (data != null)
             {
-                return (bool)GetValue(InheritLayoutDirectionProperty);
+                e.View = Registry.GetManagedBaseHandleFromNativePtr(data) as View;
             }
-            set
+            e.Type = type;
+
+            if (_layoutDirectionChangedEventHandler != null)
             {
-                SetValue(InheritLayoutDirectionProperty, value);
-                NotifyPropertyChanged();
+                _layoutDirectionChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets/Sets the layout Direction.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public ViewLayoutDirectionType LayoutDirection
+        private void OnResourcesLoaded(IntPtr view)
         {
-            get
-            {
-                return (ViewLayoutDirectionType)GetValue(LayoutDirectionProperty);
-            }
-            set
+            if (_resourcesLoadedEventHandler != null)
             {
-                SetValue(LayoutDirectionProperty, value);
-                NotifyPropertyChanged();
+                _resourcesLoadedEventHandler(this, null);
             }
         }
 
-        /// <summary>
-        /// Gets or sets the Margin for use in layout.
-        /// </summary>
-        /// <remarks>
-        /// Margin property is supported by Layout algorithms and containers.
-        /// Please Set Layout if you want to use Margin property.
-        /// </remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public Extents Margin
+        private View ConvertIdToView(uint id)
         {
-            get
+            View view = null;
+            if (GetParent() is View)
             {
-                return (Extents)GetValue(MarginProperty);
+                View parentView = GetParent() as View;
+                view = parentView.FindChildById(id);
             }
-            set
+
+            if (!view)
             {
-                SetValue(MarginProperty, value);
-                NotifyPropertyChanged();
+                view = Window.Instance.GetRootLayer().FindChildById(id);
             }
+
+            return view;
         }
 
-        internal Style Style
+        private void OnBackgroundResourceLoaded(IntPtr view)
         {
-            get
-            {
-                return (Style)GetValue(StyleProperty);
-            }
-            set
+            BackgroundResourceLoadedEventArgs e = new BackgroundResourceLoadedEventArgs();
+            e.Status = (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.BACKGROUND);
+
+            if (_backgroundResourceLoadedEventHandler != null)
             {
-                SetValue(StyleProperty, value);
+                _backgroundResourceLoadedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// Event argument passed through the ChildAdded event.
         /// </summary>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use Padding.
-        /// <since_tizen> 4 </since_tizen>
-        [Obsolete("Please do not use! this will be deprecated, instead please use Padding.")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Extents PaddingEX
+        /// <since_tizen> 5 </since_tizen>
+        public class ChildAddedEventArgs : EventArgs
         {
-            get
-            {
-                Extents temp = new Extents(0, 0, 0, 0);
-                GetProperty(View.Property.PADDING).Get(temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.PADDING, new Tizen.NUI.PropertyValue(value));
-                NotifyPropertyChanged();
-            }
+            /// <summary>
+            /// Added child view at moment.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public View Added { get; set; }
         }
 
         /// <summary>
-        /// Perform an action on a visual registered to this view. <br />
-        /// Visuals will have actions. This API is used to perform one of these actions with the given attributes.
+        /// Event argument passed through the ChildRemoved event.
         /// </summary>
-        /// <param name="propertyIndexOfVisual">The Property index of the visual.</param>
-        /// <param name="propertyIndexOfActionId">The action to perform. See Visual to find the supported actions.</param>
-        /// <param name="attributes">Optional attributes for the action.</param>
         /// <since_tizen> 5 </since_tizen>
-        public void DoAction(int propertyIndexOfVisual, int propertyIndexOfActionId, PropertyValue attributes)
+        public class ChildRemovedEventArgs : EventArgs
         {
-            NDalicManualPINVOKE.View_DoAction(swigCPtr, propertyIndexOfVisual, propertyIndexOfActionId, PropertyValue.getCPtr(attributes));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// Removed child view at moment.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public View Removed { get; set; }
         }
 
-        internal readonly MergedStyle _mergedStyle;
+        /// <summary>
+        /// Event arguments that passed via the KeyEvent signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class KeyEventArgs : EventArgs
+        {
+            private Key _key;
+
+            /// <summary>
+            /// Key - is the key sent to the view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Key Key
+            {
+                get
+                {
+                    return _key;
+                }
+                set
+                {
+                    _key = value;
+                }
+            }
+        }
 
         /// <summary>
-        /// Child property to specify desired width
+        /// Event arguments that passed via the touch signal.
         /// </summary>
-        internal int LayoutWidthSpecificationFixed
+        /// <since_tizen> 3 </since_tizen>
+        public class TouchEventArgs : EventArgs
         {
-            get
+            private Touch _touch;
+
+            /// <summary>
+            /// Touch - contains the information of touch points.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Touch Touch
             {
-                int tmp = 0;
-                if (GetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION).Get(out tmp) == false)
+                get
                 {
-                    NUILog.Error("WidthSpecificationFixed get error!");
+                    return _touch;
+                }
+                set
+                {
+                    _touch = value;
                 }
-                return tmp;
             }
-            set
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the hover signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class HoverEventArgs : EventArgs
+        {
+            private Hover _hover;
+
+            /// <summary>
+            /// Hover - contains touch points that represent the points that are currently being hovered or the points where a hover has stopped.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Hover Hover
             {
-                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue(value));
+                get
+                {
+                    return _hover;
+                }
+                set
+                {
+                    _hover = value;
+                }
             }
         }
 
         /// <summary>
-        /// Child property to specify desired height
+        /// Event arguments that passed via the wheel signal.
         /// </summary>
-        internal int LayoutHeightSpecificationFixed
+        /// <since_tizen> 3 </since_tizen>
+        public class WheelEventArgs : EventArgs
         {
-            get
+            private Wheel _wheel;
+
+            /// <summary>
+            /// WheelEvent - store a wheel rolling type: MOUSE_WHEEL or CUSTOM_WHEEL.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Wheel Wheel
             {
-                int tmp = 0;
-                if (GetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION).Get(out tmp) == false)
+                get
+                {
+                    return _wheel;
+                }
+                set
+                {
+                    _wheel = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// Event arguments of visibility changed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class VisibilityChangedEventArgs : EventArgs
+        {
+            private View _view;
+            private bool _visibility;
+            private VisibilityChangeType _type;
+
+            /// <summary>
+            /// The view, or child of view, whose visibility has changed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View View
+            {
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
+
+            /// <summary>
+            /// Whether the view is now visible or not.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool Visibility
+            {
+                get
+                {
+                    return _visibility;
+                }
+                set
                 {
-                    NUILog.Error("HeightSpecificationFixed get error!");
+                    _visibility = value;
                 }
-                return tmp;
-            }
-            set
-            {
-                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue(value));
             }
-        }
 
-        /// <summary>
-        /// Child property to specify desired width, use MatchParent/WrapContent)
-        /// </summary>
-        internal ChildLayoutData LayoutWidthSpecification
-        {
-            get
+            /// <summary>
+            /// Whether the view's visible property has changed or a parent's.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public VisibilityChangeType Type
             {
-                int tmp = 0;
-                if (GetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION).Get(out tmp) == false)
+                get
                 {
-                    NUILog.Error("WidthSpecificationFixed get error!");
+                    return _type;
+                }
+                set
+                {
+                    _type = value;
                 }
-                return (ChildLayoutData)tmp;
-            }
-            set
-            {
-                SetProperty(LayoutItemWrapper.ChildProperty.WIDTH_SPECIFICATION, new Tizen.NUI.PropertyValue((int)value));
             }
         }
 
         /// <summary>
-        /// Child property to specify desired height, use MatchParent/WrapContent)
+        /// Event arguments of layout direction changed.
         /// </summary>
-        internal ChildLayoutData LayoutHeightSpecification
+        /// <since_tizen> 4 </since_tizen>
+        public class LayoutDirectionChangedEventArgs : EventArgs
         {
-            get
+            private View _view;
+            private ViewLayoutDirectionType _type;
+
+            /// <summary>
+            /// The view, or child of view, whose layout direction has changed.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public View View
             {
-                int tmp = 0;
-                if (GetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION).Get(out tmp) == false)
+                get
                 {
-                    NUILog.Error("HeightSpecificationFixed get error!");
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
                 }
-                return (ChildLayoutData)tmp;
-            }
-            set
-            {
-                SetProperty(LayoutItemWrapper.ChildProperty.HEIGHT_SPECIFICATION, new Tizen.NUI.PropertyValue((int)value));
-            }
-        }
-
-        internal float Weight
-        {
-            get
-            {
-                return (float)GetValue(WeightProperty);
-            }
-            set
-            {
-                SetValue(WeightProperty, value);
-                NotifyPropertyChanged();
             }
-        }
 
-        private bool _backgroundImageSynchronosLoading = false;
-        internal bool BackgroundImageSynchronosLoading
-        {
-            get
-            {
-                return _backgroundImageSynchronosLoading;
-            }
-            set
+            /// <summary>
+            /// Whether the view's layout direction property has changed or a parent's.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ViewLayoutDirectionType Type
             {
-                if (value != _backgroundImageSynchronosLoading)
+                get
                 {
-                    string bgUrl = "";
-                    PropertyMap bgMap = this.Background;
-                    int visualType = 0;
-                    bgMap.Find(Visual.Property.Type)?.Get(out visualType);
-                    if (visualType == (int)Visual.Type.Image)
-                    {
-                        bgMap.Find(ImageVisualProperty.URL)?.Get(out bgUrl);
-                    }
-                    if (bgUrl.Length != 0)
-                    {
-                        _backgroundImageSynchronosLoading = value;
-                        bgMap.Add("synchronousLoading", new PropertyValue(_backgroundImageSynchronosLoading));
-                        this.Background = bgMap;
-                    }
+                    return _type;
+                }
+                set
+                {
+                    _type = value;
                 }
             }
         }
@@ -5660,89 +5647,71 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        private EventHandler<BackgroundResourceLoadedEventArgs> _backgroundResourceLoadedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void _backgroundResourceLoadedCallbackType(IntPtr view);
-        private _backgroundResourceLoadedCallbackType _backgroundResourceLoadedCallback;
-
-        internal event EventHandler<BackgroundResourceLoadedEventArgs> BackgroundResourceLoaded
-        {
-            add
-            {
-                if (_backgroundResourceLoadedEventHandler == null)
-                {
-                    _backgroundResourceLoadedCallback = OnBackgroundResourceLoaded;
-                    this.ResourcesLoadedSignal().Connect(_backgroundResourceLoadedCallback);
-                }
-
-                _backgroundResourceLoadedEventHandler += value;
-            }
-            remove
-            {
-                _backgroundResourceLoadedEventHandler -= value;
-
-                if (_backgroundResourceLoadedEventHandler == null && ResourcesLoadedSignal().Empty() == false)
-                {
-                    this.ResourcesLoadedSignal().Disconnect(_backgroundResourceLoadedCallback);
-                }
-            }
-        }
-
-        private void OnBackgroundResourceLoaded(IntPtr view)
-        {
-            BackgroundResourceLoadedEventArgs e = new BackgroundResourceLoadedEventArgs();
-            e.Status = (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.BACKGROUND);
-
-            if (_backgroundResourceLoadedEventHandler != null)
-            {
-                _backgroundResourceLoadedEventHandler(this, e);
-            }
-        }
-
-        internal ResourceLoadingStatusType GetBackgroundResourceStatus()
+        internal class Property
         {
-            return (ResourceLoadingStatusType)NDalicManualPINVOKE.View_GetVisualResourceStatus(this.swigCPtr, Property.BACKGROUND);
+            internal static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
+            internal static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
+            internal static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
+            internal static readonly int LEFT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
+            internal static readonly int RIGHT_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
+            internal static readonly int UP_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
+            internal static readonly int DOWN_FOCUSABLE_VIEW_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
+            internal static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
+            internal static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
+            internal static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
+            internal static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
+            internal static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
+            internal static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
+            internal static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
+            internal static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
+            internal static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
+            internal static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
+            internal static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
+            internal static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
+            internal static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
+            internal static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
+            internal static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
+            internal static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
+            internal static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
+            internal static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
+            internal static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
+            internal static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
+            internal static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
+            internal static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
+            internal static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
+            internal static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
+            internal static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
+            internal static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
+            internal static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
+            internal static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
+            internal static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
+            internal static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
+            internal static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
+            internal static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
+            internal static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
+            internal static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
+            internal static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
+            internal static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
+            internal static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
+            internal static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
+            internal static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
+            internal static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
+            internal static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
+            internal static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
+            internal static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
+            internal static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
+            internal static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
+            internal static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
+            internal static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
+            internal static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
+            internal static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
+            internal static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
+            internal static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
+            internal static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
+            internal static readonly int INHERIT_LAYOUT_DIRECTION = NDalicManualPINVOKE.Actor_Property_INHERIT_LAYOUT_DIRECTION_get();
+            internal static readonly int LAYOUT_DIRECTION = NDalicManualPINVOKE.Actor_Property_LAYOUT_DIRECTION_get();
+            internal static readonly int MARGIN = NDalicPINVOKE.View_Property_MARGIN_get();
+            internal static readonly int PADDING = NDalicPINVOKE.View_Property_PADDING_get();
         }
-
-
-    }
-
-    /// <summary>
-    /// The View layout Direction type.
-    /// </summary>
-    /// <since_tizen> 4 </since_tizen>
-    public enum ViewLayoutDirectionType
-    {
-        /// <summary>
-        /// Left to right.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        LTR,
-        /// <summary>
-        /// Right to left.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        RTL
-    }
-
-    internal enum ChildLayoutData
-    {
-        /// <summary>
-        /// Constant which indicates child size should match parent size
-        /// </summary>
-        MatchParent = -1,
-        /// <summary>
-        /// Constant which indicates parent should take the smallest size possible to wrap it's children with their desired size
-        /// </summary>
-        WrapContent = -2,
-    }
-
-    internal enum ResourceLoadingStatusType
-    {
-        Invalid = -1,
-        Preparing = 0,
-        Ready,
-        Failed,
     }
-
 }
index 5e85b8b..e27587a 100755 (executable)
 // limitations under the License.
 //
 
+using System;
+using System.Text;
+using System.Runtime.InteropServices;
+using System.Collections.Generic;
+using System.Linq;
+
 namespace Tizen.NUI.BaseComponents
 {
-    using System;
-    using System.Text;
-    using System.Runtime.InteropServices;
-    using System.Collections.Generic;
-    using System.Linq;
-
     /// <summary>
     /// A visual view control if a user adds any visual to it.
     /// </summary>
@@ -46,9 +46,12 @@ namespace Tizen.NUI.BaseComponents
         private Dictionary<int, PropertyMap> _tranformDictionary = null;
         private PropertyArray _animateArray = null;
 
-        static CustomView CreateInstance()
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public VisualView() : base(typeof(VisualView).FullName, CustomViewBehaviour.ViewBehaviourDefault)
         {
-            return new VisualView();
         }
 
         // static constructor registers the control type (for user can add kinds of visuals to it)
@@ -60,11 +63,15 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Constructor.
+        /// Gets the total number of visuals which are added by users.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public VisualView() : base(typeof(VisualView).FullName, CustomViewBehaviour.ViewBehaviourDefault)
+        public int NumberOfVisuals
         {
+            get
+            {
+                return _visualDictionary.Count;
+            }
         }
 
         /// <summary>
@@ -152,18 +159,6 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Gets the total number of visuals which are added by users.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int NumberOfVisuals
-        {
-            get
-            {
-                return _visualDictionary.Count;
-            }
-        }
-
-        /// <summary>
         /// Removes all visuals of the visual view.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -198,23 +193,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        internal void UpdateVisual(int visualIndex, string visualName, VisualMap visualMap)
-        {
-            VisualBase visual = null;
-
-            visual = VisualFactory.Instance.CreateVisual(visualMap.OutputVisualMap);
-            visual.Name = visualName;
-            visual.DepthIndex = visualMap.DepthIndex;
-
-            RegisterVisual(visualIndex, visual);
-
-            _visualDictionary[visualIndex] = visual;
-            _tranformDictionary[visualIndex] = visualMap.OutputTransformMap;
-
-            RelayoutRequest();
-            NUILog.Debug("UpdateVisual() name=" + visualName);
-        }
-
         /// <summary>
         /// Creates a visual animation (transition) with the input parameters.
         /// </summary>
@@ -312,7 +290,7 @@ namespace Tizen.NUI.BaseComponents
                 if (item.Value.Name == target.Name)
                 {
                     PropertyMap _animator = new PropertyMap();
-                    if ( _alphaFunction != null) {_animator.Add("alphaFunction", new PropertyValue(_alphaFunction));}
+                    if (_alphaFunction != null) { _animator.Add("alphaFunction", new PropertyValue(_alphaFunction)); }
 
                     PropertyMap _timePeriod = new PropertyMap();
                     _timePeriod.Add("duration", new PropertyValue((endTime - startTime) / 1000.0f));
@@ -322,7 +300,7 @@ namespace Tizen.NUI.BaseComponents
                     StringBuilder sb = new StringBuilder(property);
                     sb[0] = (char)(sb[0] | 0x20);
                     string _str = sb.ToString();
-                    if (_str == "position") {_str = "offset";}
+                    if (_str == "position") { _str = "offset"; }
 
                     PropertyValue destVal = PropertyValue.CreateFromObject(destinationValue);
 
@@ -440,7 +418,7 @@ namespace Tizen.NUI.BaseComponents
                 if (item.Value.Name == target.Name)
                 {
                     PropertyMap _animator = new PropertyMap();
-                    if ( _alphaFunction != null) {_animator.Add("alphaFunction", new PropertyValue(_alphaFunction));}
+                    if (_alphaFunction != null) { _animator.Add("alphaFunction", new PropertyValue(_alphaFunction)); }
 
                     PropertyMap _timePeriod = new PropertyMap();
                     _timePeriod.Add("duration", new PropertyValue((endTime - startTime) / 1000.0f));
@@ -450,7 +428,7 @@ namespace Tizen.NUI.BaseComponents
                     StringBuilder sb = new StringBuilder(property);
                     sb[0] = (char)(sb[0] | 0x20);
                     string _str = sb.ToString();
-                    if (_str == "position") {_str = "offset";}
+                    if (_str == "position") { _str = "offset"; }
 
                     PropertyValue destVal = PropertyValue.CreateFromObject(destinationValue);
 
@@ -477,7 +455,7 @@ namespace Tizen.NUI.BaseComponents
         /// <since_tizen> 3 </since_tizen>
         public Animation AnimateVisualAddFinish()
         {
-            if ( _animateArray == null || _animateArray.Empty())
+            if (_animateArray == null || _animateArray.Empty())
             {
                 Tizen.Log.Fatal("NUI", "animate visual property array is empty!");
                 return null;
@@ -505,5 +483,26 @@ namespace Tizen.NUI.BaseComponents
         }
         //temporary fix to pass TCT
 
+        internal void UpdateVisual(int visualIndex, string visualName, VisualMap visualMap)
+        {
+            VisualBase visual = null;
+
+            visual = VisualFactory.Instance.CreateVisual(visualMap.OutputVisualMap);
+            visual.Name = visualName;
+            visual.DepthIndex = visualMap.DepthIndex;
+
+            RegisterVisual(visualIndex, visual);
+
+            _visualDictionary[visualIndex] = visual;
+            _tranformDictionary[visualIndex] = visualMap.OutputTransformMap;
+
+            RelayoutRequest();
+            NUILog.Debug("UpdateVisual() name=" + visualName);
+        }
+
+        static CustomView CreateInstance()
+        {
+            return new VisualView();
+        }
     }
 }
\ No newline at end of file
index 5b7355e..012e523 100755 (executable)
@@ -29,30 +29,48 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class BaseHandle : Element, global::System.IDisposable
     {
-        /// <summary>
-        /// Event when a property is set.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event PropertyChangedEventHandler PropertySet;
-
-        internal void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
-        {
-            PropertySet?.Invoke(this, new PropertyChangedEventArgs(propertyName));
-        }
-
         internal static readonly BindablePropertyKey NavigationPropertyKey = BindableProperty.CreateReadOnly("Navigation", typeof(INavigation), typeof(/*VisualElement*/BaseHandle), default(INavigation));
+
         /// <summary>
         /// Backing store for the Navigation property.
         /// </summary>
         internal static readonly BindableProperty NavigationProperty = NavigationPropertyKey.BindableProperty;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
+
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private bool _registerMe;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// Create an instance of BaseHandle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1())
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Create an instance of BaseHandle.
+        /// </summary>
+        /// <param name="handle">The BaseHandle instance.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public BaseHandle(BaseHandle handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_2(BaseHandle.getCPtr(handle)))
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         internal BaseHandle(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -92,20 +110,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BaseHandle obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -120,65 +124,34 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Event when a property is set.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+        /// <since_tizen> 5 </since_tizen>
+        public event PropertyChangedEventHandler PropertySet;
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
+        internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
+        {
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return swigCPtr;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// For internal use.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        internal NavigationProxy NavigationProxy
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            //Unreference this instance from Registry.
-            if (_registerMe)
-            {
-                Registry.Unregister(this);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                swigCMemOwn = false;
-                NDalicPINVOKE.delete_BaseHandle(swigCPtr);
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            get { return Navigation as NavigationProxy; }
+        }
 
-            disposed = true;
+        /// <summary>
+        /// Gets the navigation.
+        /// </summary>
+        internal INavigation Navigation
+        {
+            get { return (INavigation)GetValue(NavigationProperty); }
+            set { SetValue(NavigationPropertyKey, value); }
         }
 
         /// <summary>
@@ -341,25 +314,28 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Create an instance of BaseHandle.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1())
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        /// <summary>
-        /// Create an instance of BaseHandle.
-        /// </summary>
-        /// <param name="handle">The BaseHandle instance.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public BaseHandle(BaseHandle handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_2(BaseHandle.getCPtr(handle)))
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
-
         /// <summary>
         /// Performs an action on this object with the given action name and attributes.
         /// </summary>
@@ -437,14 +413,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal RefObject GetObjectPtr()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.BaseHandle_GetObjectPtr(swigCPtr);
-            RefObject ret = (cPtr == global::System.IntPtr.Zero) ? null : new RefObject(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// To check the BaseHandle instance has body or not.
         /// </summary>
@@ -480,29 +448,61 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BaseHandle obj)
         {
-            get
-            {
-                return swigCPtr;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// For internal use.
-        /// </summary>
-        internal NavigationProxy NavigationProxy
+        internal void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
         {
-            get { return Navigation as NavigationProxy; }
+            PropertySet?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+        }
+
+        internal RefObject GetObjectPtr()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.BaseHandle_GetObjectPtr(swigCPtr);
+            RefObject ret = (cPtr == global::System.IntPtr.Zero) ? null : new RefObject(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Gets the navigation.
+        /// Dispose.
         /// </summary>
-        internal INavigation Navigation
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-            get { return (INavigation)GetValue(NavigationProperty); }
-            set { SetValue(NavigationPropertyKey, value); }
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            //Unreference this instance from Registry.
+            if (_registerMe)
+            {
+                Registry.Unregister(this);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                swigCMemOwn = false;
+                NDalicPINVOKE.delete_BaseHandle(swigCPtr);
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
         /// <summary>
index eb97c04..0bb24ea 100755 (executable)
@@ -27,32 +27,115 @@ namespace Tizen.NUI
     [TypeConverter(typeof(ColorTypeConverter))]
     public class Color : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        /// <summary>
+        /// Gets the black colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Black = new Color(0.0f, 0.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the white colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color White = new Color(1.0f, 1.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the red colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Red = new Color(1.0f, 0.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the green colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Green = new Color(0.0f, 1.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the blue colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Blue = new Color(0.0f, 0.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the yellow colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Yellow = new Color(1.0f, 1.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the magenta colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Magenta = new Color(1.0f, 0.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the cyan colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Cyan = new Color(0.0f, 1.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the  transparent colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Transparent = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Color(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// Default constructor
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Color obj)
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="r">The red component.</param>
+        /// <param name="g">The green component.</param>
+        /// <param name="b">The blue component.</param>
+        /// <param name="a">The alpha component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(r), ValueCheck(g), ValueCheck(b), ValueCheck(a)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The conversion constructor from an array of four floats.
         /// </summary>
+        /// <param name="array">array Array of R,G,B,A.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(ValueCheck(array)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Color(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -60,7 +143,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Color()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -68,60 +151,113 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// To make a color instance be disposed.
+        /// The red component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float R
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                NDalicPINVOKE.Vector4_r_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The green component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float G
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector4_g_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The blue component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float B
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector4_b_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+        /// <summary>
+        /// The alpha component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float A
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_a_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
+        {
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                return ValueOfIndex(index);
             }
-            disposed = true;
+        }
+
+        /// <summary>
+        /// Converts the Color class to Vector4 class implicitly.
+        /// </summary>
+        /// <param name="color">A color to be converted to Vector4</param>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector4(Color color)
+        {
+            return new Vector4(color.R, color.G, color.B, color.A);
+        }
+
+        /// <summary>
+        /// Converts Vector4 class to Color class implicitly.
+        /// </summary>
+        /// <param name="vec">A Vector4 to be converted to color.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Color(Vector4 vec)
+        {
+            return new Color(vec.R, vec.G, vec.B, vec.A);
         }
 
         /// <summary>
@@ -182,7 +318,7 @@ namespace Tizen.NUI
         /// <param name="arg2">The second value.</param>
         /// <returns>The color containing the result of the multiplication.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Color operator*(Color arg1, float arg2)
+        public static Color operator *(Color arg1, float arg2)
         {
             Color result = arg1.Multiply(arg2);
             return ValueCheck(result);
@@ -208,64 +344,186 @@ namespace Tizen.NUI
         /// <param name="arg2">The second value.</param>
         /// <returns>The color containing the result of the division.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Color operator/(Color arg1, float arg2)
+        public static Color operator /(Color arg1, float arg2)
         {
             Color result = arg1.Divide(arg2);
             return ValueCheck(result);
         }
 
         /// <summary>
-        /// The array subscript operator overload.
+        /// To make a color instance be disposed.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                return ValueOfIndex(index);
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        internal static Color GetColorFromPtr(global::System.IntPtr cPtr)
-        {
-            Color ret = new Color(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// Default constructor
+        /// Checks if two color classes are same.
         /// </summary>
+        /// <param name="rhs">A color to be compared.</param>
+        /// <returns>If two colors are are same, then true.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+        public bool EqualTo(Color rhs)
         {
+            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Color.getCPtr(rhs));
+
+            if (rhs == null) return false;
+
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-
         /// <summary>
-        /// The constructor.
+        /// Checks if two color classes are different.
         /// </summary>
-        /// <param name="r">The red component.</param>
-        /// <param name="g">The green component.</param>
-        /// <param name="b">The blue component.</param>
-        /// <param name="a">The alpha component.</param>
+        /// <param name="rhs">A color to be compared.</param>
+        /// <returns>If two colors are are different, then true.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(r), ValueCheck(g), ValueCheck(b), ValueCheck(a)), true)
+        public bool NotEqualTo(Color rhs)
         {
+            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Color.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Color obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static Color GetColorFromPtr(global::System.IntPtr cPtr)
+        {
+            Color ret = new Color(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static Color ValueCheck(Color color)
+        {
+            if (color.R < 0.0f)
+            {
+                color.R = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.R > 1.0f)
+            {
+                color.R = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (color.G < 0.0f)
+            {
+                color.G = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.G > 1.0f)
+            {
+                color.G = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (color.B < 0.0f)
+            {
+                color.B = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.B > 1.0f)
+            {
+                color.B = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (color.A < 0.0f)
+            {
+                color.A = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.A > 1.0f)
+            {
+                color.A = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            return color;
+        }
+
+        internal static float ValueCheck(float value)
+        {
+            if (value < 0.0f)
+            {
+                value = 0.0f;
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+            }
+            else if (value > 1.0f)
+            {
+                value = 1.0f;
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+            }
+            return value;
+        }
+
+        internal static float[] ValueCheck(float[] arr)
+        {
+            for (int i = 0; i < arr.Length; i++)
+            {
+                if (arr[i] < 0.0f)
+                {
+                    arr[i] = 0.0f;
+                    NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                }
+                else if (arr[i] > 1.0f)
+                {
+                    arr[i] = 1.0f;
+                    NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                }
+            }
+            return arr;
         }
 
         /// <summary>
-        /// The conversion constructor from an array of four floats.
+        /// Dispose.
         /// </summary>
-        /// <param name="array">array Array of R,G,B,A.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(ValueCheck(array)), true)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
         private Color Add(Color rhs)
@@ -359,36 +617,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Checks if two color classes are same.
-        /// </summary>
-        /// <param name="rhs">A color to be compared.</param>
-        /// <returns>If two colors are are same, then true.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Color rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Color.getCPtr(rhs));
-
-            if (rhs == null) return false;
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks if two color classes are different.
-        /// </summary>
-        /// <param name="rhs">A color to be compared.</param>
-        /// <returns>If two colors are are different, then true.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Color rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Color.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-
         private float ValueOfIndex(uint index)
         {
             float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
@@ -396,234 +624,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// The red component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float R
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_r_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The green component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float G
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_g_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The blue component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float B
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_b_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The alpha component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float A
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_a_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// Gets the black colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Black = new Color(0.0f, 0.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the white colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color White = new Color(1.0f, 1.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the red colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Red = new Color(1.0f, 0.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the green colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Green = new Color(0.0f, 1.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the blue colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Blue = new Color(0.0f, 0.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the yellow colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Yellow = new Color(1.0f, 1.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the magenta colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Magenta = new Color(1.0f, 0.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the cyan colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Cyan = new Color(0.0f, 1.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the  transparent colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Transparent = new Color(0.0f, 0.0f, 0.0f, 0.0f);
-
-        /// <summary>
-        /// Converts the Color class to Vector4 class implicitly.
-        /// </summary>
-        /// <param name="color">A color to be converted to Vector4</param>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector4(Color color)
-        {
-            return new Vector4(color.R, color.G, color.B, color.A);
-        }
-
-        /// <summary>
-        /// Converts Vector4 class to Color class implicitly.
-        /// </summary>
-        /// <param name="vec">A Vector4 to be converted to color.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Color(Vector4 vec)
-        {
-            return new Color(vec.R, vec.G, vec.B, vec.A);
-        }
-
-        internal static Color ValueCheck(Color color)
-        {
-            if (color.R < 0.0f)
-            {
-                color.R = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.R > 1.0f)
-            {
-                color.R = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (color.G < 0.0f)
-            {
-                color.G = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.G > 1.0f)
-            {
-                color.G = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (color.B < 0.0f)
-            {
-                color.B = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.B > 1.0f)
-            {
-                color.B = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (color.A < 0.0f)
-            {
-                color.A = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.A > 1.0f)
-            {
-                color.A = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            return color;
-        }
-
-        internal static float ValueCheck(float value)
-        {
-            if (value < 0.0f)
-            {
-                value = 0.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
-            }
-            else if (value > 1.0f)
-            {
-                value = 1.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
-            }
-            return value;
-        }
-
-        internal static float[] ValueCheck(float[] arr)
-        {
-            for(int i = 0; i < arr.Length; i++)
-            {
-                if (arr[i] < 0.0f)
-                {
-                    arr[i] = 0.0f;
-                    NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
-                }
-                else if (arr[i] > 1.0f)
-                {
-                    arr[i] = 1.0f;
-                    NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
-                }
-            }
-            return arr;
-        }
-
     }
 
 }
index 648d5bb..2c05dc6 100755 (executable)
@@ -28,9 +28,13 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public abstract class Container : Animatable
     {
-
-        private List<View> _childViews = new List<View>();
         internal BaseHandle InternalParent;
+        private List<View> _childViews = new List<View>();
+
+        internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
+        {
+            // No un-managed data hence no need to store a native ptr
+        }
 
         /// <summary>
         /// List of children of Container.
@@ -44,23 +48,34 @@ namespace Tizen.NUI
             }
         }
 
-        internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
+        /// <summary>
+        /// Gets the parent container.
+        /// Read only
+        /// </summary>
+        /// <pre>The child container has been initialized.</pre>
+        /// <returns>The parent container.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public new Container Parent
         {
-            // No un-managed data hence no need to store a native ptr
+            get
+            {
+                return GetParent();
+            }
         }
 
         /// <summary>
-        /// Dispose.
+        /// Gets the number of children for this container.
+        /// Read only
         /// </summary>
+        /// <pre>The container has been initialized.</pre>
+        /// <returns>The number of children.</returns>
         /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public uint ChildCount
         {
-            if (disposed)
+            get
             {
-                return;
+                return GetChildCount();
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
@@ -71,7 +86,7 @@ namespace Tizen.NUI
         /// <remarks>If the child already has a parent, it will be removed from the old parent and reparented to this view. This may change child's position, color, scale, etc. as it now inherits them from this view.</remarks>
         /// <param name="view">The child view to add.</param>
         /// <since_tizen> 4 </since_tizen>
-        public abstract void Add( View view );
+        public abstract void Add(View view);
 
         /// <summary>
         /// Removes a child view from this view. If the view was not a child of this view, this is a no-op.
@@ -79,7 +94,7 @@ namespace Tizen.NUI
         /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
         /// <param name="view">The view to remove</param>
         /// <since_tizen> 4 </since_tizen>
-        public abstract void Remove( View view );
+        public abstract void Remove(View view);
 
         /// <summary>
         /// Retrieves the child view by the index.
@@ -88,7 +103,7 @@ namespace Tizen.NUI
         /// <param name="index">The index of the child to retrieve.</param>
         /// <returns>The view for the given index or empty handle if children are not initialized.</returns>
         /// <since_tizen> 4 </since_tizen>
-        public abstract View GetChildAt( uint index );
+        public abstract View GetChildAt(uint index);
 
         /// <summary>
         /// Gets the parent of this container.
@@ -107,33 +122,18 @@ namespace Tizen.NUI
         public abstract UInt32 GetChildCount();
 
         /// <summary>
-        /// Gets the parent container.
-        /// Read only
+        /// Dispose.
         /// </summary>
-        /// <pre>The child container has been initialized.</pre>
-        /// <returns>The parent container.</returns>
         /// <since_tizen> 4 </since_tizen>
-        public new Container Parent
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return GetParent();
+                return;
             }
-        }
 
-        /// <summary>
-        /// Gets the number of children for this container.
-        /// Read only
-        /// </summary>
-        /// <pre>The container has been initialized.</pre>
-        /// <returns>The number of children.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public uint ChildCount
-        {
-            get
-            {
-                return GetChildCount();
-            }
+            base.Dispose(type);
         }
+
     }
 } // namespace Tizen.NUI
index ef22f18..a0bb48f 100755 (executable)
@@ -45,12 +45,6 @@ namespace Tizen.NUI
         private Color _textBackgroundColor;
         private int _maxTextLength;
 
-        // Called by DALi Builder if it finds a Spin control in a JSON file
-        static CustomView CreateInstance()
-        {
-            return new Spin();
-        }
-
         // static constructor registers the control type (only runs once)
         static Spin()
         {
@@ -68,136 +62,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Overrides the method of OnInitialize() for the CustomView class.<br />
-        /// This method is called after the control has been initialized.<br />
-        /// Derived classes should do any second phase initialization by overriding this method.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public override void OnInitialize()
-        {
-            // Initialize the propertiesControl
-            _arrowImage = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
-            _textBackgroundColor = new Color(0.6f, 0.6f, 0.6f, 1.0f);
-            _currentValue = 0;
-            _minValue = 0;
-            _maxValue = 0;
-            _singleStep = 1;
-            _maxTextLength = 0;
-
-            // Create image visual for the arrow keys
-            _arrowVisualPropertyIndex = RegisterProperty("ArrowImage", new PropertyValue(_arrowImage), Tizen.NUI.PropertyAccessMode.ReadWrite);
-            _arrowVisual = VisualFactory.Instance.CreateVisual(
-                new PropertyMap().Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image))
-                                 .Add(ImageVisualProperty.URL, new PropertyValue(_arrowImage))
-                                 .Add(ImageVisualProperty.DesiredHeight, new PropertyValue(150))
-                                 .Add(ImageVisualProperty.DesiredWidth, new PropertyValue(150)));
-            RegisterVisual(_arrowVisualPropertyIndex, _arrowVisual);
-
-            // Create a text field
-            _textField = new TextField();
-            _textField.PivotPoint = Tizen.NUI.PivotPoint.Center;
-            _textField.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;
-            _textField.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
-            _textField.SizeModeFactor = new Vector3(1.0f, 0.45f, 1.0f);
-            _textField.PlaceholderText = "----";
-            _textField.BackgroundColor = _textBackgroundColor;
-            _textField.HorizontalAlignment = HorizontalAlignment.Center;
-            _textField.VerticalAlignment = VerticalAlignment.Center;
-            _textField.Focusable = (true);
-            _textField.Name = "_textField";
-            _textField.Position2D = new Position2D(0, 40);
-
-            this.Add(_textField);
-
-            _textField.FocusGained += TextFieldKeyInputFocusGained;
-            _textField.FocusLost += TextFieldKeyInputFocusLost;
-        }
-
-        /// <summary>
-        /// Overrides the method of GetNaturalSize() for the CustomView class.<br />
-        /// Returns the natural size of the actor.<br />
-        /// </summary>
-        /// <returns> Natural size of this spin itself.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public override Size2D GetNaturalSize()
-        {
-            return new Size2D(150, 150);
-        }
-
-        /// <summary>
-        /// An event handler is used when the TextField in the spin gets the key focus.<br />
-        /// Make sure when the current spin that takes input focus, also takes the keyboard focus.<br />
-        /// For example, when you tap the spin directly.<br />
-        /// </summary>
-        /// <param name="source">Sender of this event.</param>
-        /// <param name="e">Event arguments.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void TextFieldKeyInputFocusGained(object source, EventArgs e)
-        {
-            FocusManager.Instance.SetCurrentFocusView(_textField);
-        }
-
-        /// <summary>
-        /// An event handler when the TextField in the spin looses it's key focus.
-        /// </summary>
-        /// <param name="source"></param>
-        /// <param name="e"></param>
-        /// <since_tizen> 3 </since_tizen>
-        public void TextFieldKeyInputFocusLost(object source, EventArgs e)
-        {
-            int previousValue = _currentValue;
-
-            // If the input value is invalid, change it back to the previous valid value
-            if (int.TryParse(_textField.Text, out _currentValue))
-            {
-                if (_currentValue < _minValue || _currentValue > _maxValue)
-                {
-                    _currentValue = previousValue;
-                }
-            }
-            else
-            {
-                _currentValue = previousValue;
-            }
-
-            // Otherwise take the new value
-            this.Value = _currentValue;
-        }
-
-        /// <summary>
-        /// Overrides the method of GetNextKeyboardFocusableView() for the CustomView class.<br />
-        /// Gets the next key focusable view in this view towards the given direction.<br />
-        /// A view needs to override this function in order to support two-dimensional key navigation.<br />
-        /// </summary>
-        /// <param name="currentFocusedView">The current focused view.</param>
-        /// <param name="direction">The direction to move the focus towards.</param>
-        /// <param name="loopEnabled">Whether the focus movement should be looped within the control.</param>
-        /// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public override View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
-        {
-            // Respond to Up/Down keys to change the value while keeping the current spin focused
-            View nextFocusedView = currentFocusedView;
-            if (direction == View.FocusDirection.Up)
-            {
-                this.Value += this.Step;
-                nextFocusedView = _textField;
-            }
-            else if (direction == View.FocusDirection.Down)
-            {
-                this.Value -= this.Step;
-                nextFocusedView = _textField;
-            }
-            else
-            {
-                // Return null
-                return null;
-            }
-
-            return nextFocusedView;
-        }
-
-        /// <summary>
         /// Value to be set in the spin.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -210,7 +74,6 @@ namespace Tizen.NUI
             }
             set
             {
-
                 NUILog.Debug("Value set to " + value);
                 _currentValue = value;
 
@@ -390,5 +253,141 @@ namespace Tizen.NUI
                 RegisterVisual(_arrowVisualPropertyIndex, _arrowVisual);
             }
         }
+
+        // Called by DALi Builder if it finds a Spin control in a JSON file
+        static CustomView CreateInstance()
+        {
+            return new Spin();
+        }
+
+        /// <summary>
+        /// Overrides the method of OnInitialize() for the CustomView class.<br />
+        /// This method is called after the control has been initialized.<br />
+        /// Derived classes should do any second phase initialization by overriding this method.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public override void OnInitialize()
+        {
+            // Initialize the propertiesControl
+            _arrowImage = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
+            _textBackgroundColor = new Color(0.6f, 0.6f, 0.6f, 1.0f);
+            _currentValue = 0;
+            _minValue = 0;
+            _maxValue = 0;
+            _singleStep = 1;
+            _maxTextLength = 0;
+
+            // Create image visual for the arrow keys
+            _arrowVisualPropertyIndex = RegisterProperty("ArrowImage", new PropertyValue(_arrowImage), Tizen.NUI.PropertyAccessMode.ReadWrite);
+            _arrowVisual = VisualFactory.Instance.CreateVisual(
+                new PropertyMap().Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image))
+                                 .Add(ImageVisualProperty.URL, new PropertyValue(_arrowImage))
+                                 .Add(ImageVisualProperty.DesiredHeight, new PropertyValue(150))
+                                 .Add(ImageVisualProperty.DesiredWidth, new PropertyValue(150)));
+            RegisterVisual(_arrowVisualPropertyIndex, _arrowVisual);
+
+            // Create a text field
+            _textField = new TextField();
+            _textField.PivotPoint = Tizen.NUI.PivotPoint.Center;
+            _textField.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;
+            _textField.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
+            _textField.SizeModeFactor = new Vector3(1.0f, 0.45f, 1.0f);
+            _textField.PlaceholderText = "----";
+            _textField.BackgroundColor = _textBackgroundColor;
+            _textField.HorizontalAlignment = HorizontalAlignment.Center;
+            _textField.VerticalAlignment = VerticalAlignment.Center;
+            _textField.Focusable = (true);
+            _textField.Name = "_textField";
+            _textField.Position2D = new Position2D(0, 40);
+
+            this.Add(_textField);
+
+            _textField.FocusGained += TextFieldKeyInputFocusGained;
+            _textField.FocusLost += TextFieldKeyInputFocusLost;
+        }
+
+        /// <summary>
+        /// Overrides the method of GetNaturalSize() for the CustomView class.<br />
+        /// Returns the natural size of the actor.<br />
+        /// </summary>
+        /// <returns> Natural size of this spin itself.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public override Size2D GetNaturalSize()
+        {
+            return new Size2D(150, 150);
+        }
+
+        /// <summary>
+        /// An event handler is used when the TextField in the spin gets the key focus.<br />
+        /// Make sure when the current spin that takes input focus, also takes the keyboard focus.<br />
+        /// For example, when you tap the spin directly.<br />
+        /// </summary>
+        /// <param name="source">Sender of this event.</param>
+        /// <param name="e">Event arguments.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void TextFieldKeyInputFocusGained(object source, EventArgs e)
+        {
+            FocusManager.Instance.SetCurrentFocusView(_textField);
+        }
+
+        /// <summary>
+        /// An event handler when the TextField in the spin looses it's key focus.
+        /// </summary>
+        /// <param name="source"></param>
+        /// <param name="e"></param>
+        /// <since_tizen> 3 </since_tizen>
+        public void TextFieldKeyInputFocusLost(object source, EventArgs e)
+        {
+            int previousValue = _currentValue;
+
+            // If the input value is invalid, change it back to the previous valid value
+            if (int.TryParse(_textField.Text, out _currentValue))
+            {
+                if (_currentValue < _minValue || _currentValue > _maxValue)
+                {
+                    _currentValue = previousValue;
+                }
+            }
+            else
+            {
+                _currentValue = previousValue;
+            }
+
+            // Otherwise take the new value
+            this.Value = _currentValue;
+        }
+
+        /// <summary>
+        /// Overrides the method of GetNextKeyboardFocusableView() for the CustomView class.<br />
+        /// Gets the next key focusable view in this view towards the given direction.<br />
+        /// A view needs to override this function in order to support two-dimensional key navigation.<br />
+        /// </summary>
+        /// <param name="currentFocusedView">The current focused view.</param>
+        /// <param name="direction">The direction to move the focus towards.</param>
+        /// <param name="loopEnabled">Whether the focus movement should be looped within the control.</param>
+        /// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public override View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
+        {
+            // Respond to Up/Down keys to change the value while keeping the current spin focused
+            View nextFocusedView = currentFocusedView;
+            if (direction == View.FocusDirection.Up)
+            {
+                this.Value += this.Step;
+                nextFocusedView = _textField;
+            }
+            else if (direction == View.FocusDirection.Down)
+            {
+                this.Value -= this.Step;
+                nextFocusedView = _textField;
+            }
+            else
+            {
+                // Return null
+                return null;
+            }
+
+            return nextFocusedView;
+        }
     }
 }
\ No newline at end of file
index 58292f7..92b0d2b 100755 (executable)
@@ -74,6 +74,16 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ScriptableProperty : System.Attribute
     {
+
+        /// <since_tizen> 3 </since_tizen>
+        public readonly ScriptableType type;
+
+        /// <since_tizen> 3 </since_tizen>
+        public ScriptableProperty(ScriptableType type = ScriptableType.Default)
+        {
+            this.type = type;
+        }
+
         /// <summary>
         /// Rhe enum of ScriptableType
         /// </summary>
@@ -87,15 +97,6 @@ namespace Tizen.NUI
             Default,    // Read Writable, non-animatable property, event thread only
                         //  Animatable // Animatable property, Currently disabled, UK
         }
-        /// <since_tizen> 3 </since_tizen>
-        public readonly ScriptableType type;
-
-
-        /// <since_tizen> 3 </since_tizen>
-        public ScriptableProperty(ScriptableType type = ScriptableType.Default)
-        {
-            this.type = type;
-        }
     }
 
     /// <summary>
@@ -135,30 +136,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public sealed class CustomViewRegistry
     {
-        /// <summary>
-        /// ViewRegistry is a singleton.
-        /// </summary>
-        private static CustomViewRegistry instance = null;
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate IntPtr CreateControlDelegate(IntPtr cPtrControlName);
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate IntPtr GetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName);
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void SetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue);
-
-        private CreateControlDelegate _createCallback;
-        private SetPropertyDelegate _setPropertyCallback;
-        private GetPropertyDelegate _getPropertyCallback;
-        private PropertyRangeManager _propertyRangeManager;
-
-        ///<summary>
-        /// Maps the name of a custom view to a create instance function
-        /// For example, given a string "Spin", we can get a function used to create the Spin View.
-        ///</summary>
-        private Dictionary<String, Func<CustomView>> _constructorMap;
 
         /// <summary>
         /// Lookup table to match C# types to DALi types, used for the automatic property registration.
@@ -183,6 +160,21 @@ namespace Tizen.NUI
             //  { "Matrix",  PropertyType.MATRIX },
         };
 
+        /// <summary>
+        /// ViewRegistry is a singleton.
+        /// </summary>
+        private static CustomViewRegistry instance = null;
+
+        private CreateControlDelegate _createCallback;
+        private SetPropertyDelegate _setPropertyCallback;
+        private GetPropertyDelegate _getPropertyCallback;
+        private PropertyRangeManager _propertyRangeManager;
+
+        ///<summary>
+        /// Maps the name of a custom view to a create instance function
+        /// For example, given a string "Spin", we can get a function used to create the Spin View.
+        ///</summary>
+        private Dictionary<String, Func<CustomView>> _constructorMap;
 
         private CustomViewRegistry()
         {
@@ -194,70 +186,14 @@ namespace Tizen.NUI
             _propertyRangeManager = new PropertyRangeManager();
         }
 
-        private Tizen.NUI.PropertyType GetDaliPropertyType(string cSharpTypeName)
-        {
-            Tizen.NUI.PropertyType daliType;
-            if (_daliPropertyTypeLookup.TryGetValue(cSharpTypeName, out daliType))
-            {
-                NUILog.Debug("mapped " + cSharpTypeName + " to dAli type " + daliType);
-
-                return daliType;
-            }
-            else
-            {
-                NUILog.Debug("Failed to find a mapping between C# property" + cSharpTypeName + " and DALi type");
-
-                return PropertyType.None;
-            }
-        }
-
-        /// <summary>
-        /// Called directly from DALi C++ type registry to create a control (view) using no marshalling.
-        /// </summary>
-        /// <returns>Pointer to the control (views) handle.</returns>
-        /// <param name="cPtrControlName">C pointer to the control (view) name.</param>
-        private static IntPtr CreateControl(IntPtr cPtrControlName)
-        {
-            string controlName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(cPtrControlName);
-
-            NUILog.Debug("Create controlled called from C++ create a " + controlName);
-
-            Func<CustomView> controlConstructor;
-
-            // find the control constructor
-            if (Instance._constructorMap.TryGetValue(controlName, out controlConstructor))
-            {
-                // Create the control
-                CustomView newControl = controlConstructor();
-                if (newControl != null)
-                {
-                    return newControl.GetPtrfromView();  // return pointer to handle
-                }
-                else
-                {
-                    return IntPtr.Zero;
-                }
-            }
-            else
-            {
-                throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry" + controlName);
-            }
-        }
-
-        private static IntPtr GetProperty(IntPtr controlPtr, IntPtr propertyName)
-        {
-            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
-            return Instance.GetPropertyValue(controlPtr, name);
-        }
-
-        private static void SetProperty(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue)
-        {
-            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate IntPtr CreateControlDelegate(IntPtr cPtrControlName);
 
-            NUILog.Debug("SetControlProperty  called for:" + name);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate IntPtr GetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName);
 
-            Instance.SetPropertyValue(controlPtr, name, propertyValue);
-        }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void SetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue);
 
         /// <since_tizen> 3 </since_tizen>
         public static CustomViewRegistry Instance
@@ -332,6 +268,71 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Called directly from DALi C++ type registry to create a control (view) using no marshalling.
+        /// </summary>
+        /// <returns>Pointer to the control (views) handle.</returns>
+        /// <param name="cPtrControlName">C pointer to the control (view) name.</param>
+        private static IntPtr CreateControl(IntPtr cPtrControlName)
+        {
+            string controlName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(cPtrControlName);
+
+            NUILog.Debug("Create controlled called from C++ create a " + controlName);
+
+            Func<CustomView> controlConstructor;
+
+            // find the control constructor
+            if (Instance._constructorMap.TryGetValue(controlName, out controlConstructor))
+            {
+                // Create the control
+                CustomView newControl = controlConstructor();
+                if (newControl != null)
+                {
+                    return newControl.GetPtrfromView();  // return pointer to handle
+                }
+                else
+                {
+                    return IntPtr.Zero;
+                }
+            }
+            else
+            {
+                throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry" + controlName);
+            }
+        }
+
+        private static IntPtr GetProperty(IntPtr controlPtr, IntPtr propertyName)
+        {
+            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+            return Instance.GetPropertyValue(controlPtr, name);
+        }
+
+        private static void SetProperty(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue)
+        {
+            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+
+            NUILog.Debug("SetControlProperty  called for:" + name);
+
+            Instance.SetPropertyValue(controlPtr, name, propertyValue);
+        }
+
+        private Tizen.NUI.PropertyType GetDaliPropertyType(string cSharpTypeName)
+        {
+            Tizen.NUI.PropertyType daliType;
+            if (_daliPropertyTypeLookup.TryGetValue(cSharpTypeName, out daliType))
+            {
+                NUILog.Debug("mapped " + cSharpTypeName + " to dAli type " + daliType);
+
+                return daliType;
+            }
+            else
+            {
+                NUILog.Debug("Failed to find a mapping between C# property" + cSharpTypeName + " and DALi type");
+
+                return PropertyType.None;
+            }
+        }
+
+        /// <summary>
         /// Gets a property value from a view.
         /// </summary>
         private IntPtr GetPropertyValue(IntPtr refObjectPtr, string propertyName)
index f0d6d9c..6975988 100755 (executable)
@@ -25,31 +25,58 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Degree : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj)
+        /// <summary>
+        /// Creates an angle in degrees.
+        /// </summary>
+        /// <param name="value">The initial value in degrees.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// Creates an angle in degrees from a radian.
         /// </summary>
+        /// <param name="value">The initial value in radians.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -57,7 +84,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Degree()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -65,6 +92,25 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// The value of degree.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Value
+        {
+            set
+            {
+                NDalicPINVOKE.Degree_degree_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Degree_degree_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -87,6 +133,11 @@ namespace Tizen.NUI
             }
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -121,54 +172,6 @@ namespace Tizen.NUI
             disposed = true;
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Creates an angle in degrees.
-        /// </summary>
-        /// <param name="value">The initial value in degrees.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Creates an angle in degrees from a radian.
-        /// </summary>
-        /// <param name="value">The initial value in radians.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The value of degree.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Value
-        {
-            set
-            {
-                NDalicPINVOKE.Degree_degree_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Degree_degree_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
     }
 
 }
\ No newline at end of file
index 3a7ad14..87907fd 100755 (executable)
@@ -26,102 +26,23 @@ namespace Tizen.NUI
     [TypeConverter(typeof(ExtentsTypeConverter))]
     public class Extents : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
         /// <summary>
         /// Extents class
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Extents(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Extents obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool disposed = false;
 
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        ~Extents()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// To make a Extents instance be disposed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// To make a Extents instance be disposed.
-        /// </summary>
-        /// <param name="type">Extents type</param>
-        /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Extents(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// Constructor.
@@ -155,44 +76,23 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Extents Assign(SWIGTYPE_p_uint16_t array)
-        {
-            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_1(swigCPtr, SWIGTYPE_p_uint16_t.getCPtr(array)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal Extents Assign(Extents copy)
+        internal Extents(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_0(swigCPtr, Extents.getCPtr(copy)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Equality operator.
+        /// Destructor.
         /// </summary>
-        /// <param name="rhs">The Extents to test against.</param>
-        /// <returns>True if the extents are not equal.</returns>
         /// <since_tizen> 4 </since_tizen>
-        public bool EqualTo(Extents rhs)
-        {
-            bool ret = NDalicPINVOKE.Extents_EqualTo(swigCPtr, Extents.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Inequality operator.
-        /// </summary>
-        /// <param name="rhs">The Extents to test against.</param>
-        /// <returns>True if the extents are not equal.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool NotEqualTo(Extents rhs)
+        ~Extents()
         {
-            bool ret = NDalicPINVOKE.Extents_NotEqualTo(swigCPtr, Extents.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
@@ -271,6 +171,109 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// To make a Extents instance be disposed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Equality operator.
+        /// </summary>
+        /// <param name="rhs">The Extents to test against.</param>
+        /// <returns>True if the extents are not equal.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool EqualTo(Extents rhs)
+        {
+            bool ret = NDalicPINVOKE.Extents_EqualTo(swigCPtr, Extents.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Inequality operator.
+        /// </summary>
+        /// <param name="rhs">The Extents to test against.</param>
+        /// <returns>True if the extents are not equal.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool NotEqualTo(Extents rhs)
+        {
+            bool ret = NDalicPINVOKE.Extents_NotEqualTo(swigCPtr, Extents.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Extents obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal Extents Assign(SWIGTYPE_p_uint16_t array)
+        {
+            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_1(swigCPtr, SWIGTYPE_p_uint16_t.getCPtr(array)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Extents Assign(Extents copy)
+        {
+            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_0(swigCPtr, Extents.getCPtr(copy)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// To make a Extents instance be disposed.
+        /// </summary>
+        /// <param name="type">Extents type</param>
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Extents(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
     }
 
 }
old mode 100644 (file)
new mode 100755 (executable)
index d00acb3..0c0dd31 100755 (executable)
@@ -30,82 +30,49 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class FocusManager : BaseHandle
     {
+        private static readonly FocusManager instance = FocusManager.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private CustomAlgorithmInterfaceWrapper _customAlgorithmInterfaceWrapper;
 
+        private EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> _preFocusChangeEventHandler;
+        private PreFocusChangeEventCallback _preFocusChangeCallback;
+
+        private EventHandler<FocusChangedEventArgs> _focusChangedEventHandler;
+        private FocusChangedEventCallback _focusChangedEventCallback;
+
+        private EventHandler<FocusGroupChangedEventArgs> _focusGroupChangedEventHandler;
+        private FocusGroupChangedEventCallback _focusGroupChangedEventCallback;
+
+        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler;
+        private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
+
+        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler2;
+        private FocusedViewEnterKeyEventCallback2 _focusedViewEnterKeyEventCallback2;
+
         internal FocusManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.FocusManager_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj)
+        internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        ///<summary>
-        /// Event arguments that passed via the PreFocusChange signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class PreFocusChangeEventArgs : EventArgs
-        {
-            private View _current;
-            private View _proposed;
-            private View.FocusDirection _direction;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
 
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
-            {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
-            }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
 
-            /// <summary>
-            /// The  proposed view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View ProposedView
-            {
-                get
-                {
-                    return _proposed;
-                }
-                set
-                {
-                    _proposed = value;
-                }
-            }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
 
-            /// <summary>
-            /// The focus move direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View.FocusDirection Direction
-            {
-                get
-                {
-                    return _direction;
-                }
-                set
-                {
-                    _direction = value;
-                }
-            }
-        }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
 
-        private EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> _preFocusChangeEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
-        private PreFocusChangeEventCallback _preFocusChangeCallback;
+        private delegate void FocusedViewEnterKeyEventCallback2(IntPtr view);
 
         /// <summary>
         /// PreFocusChange will be triggered before the focus is going to be changed.<br />
@@ -136,83 +103,6 @@ namespace Tizen.NUI
             }
         }
 
-        private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.FocusDirection direction)
-        {
-            View view = null;
-            PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
-
-            if (current != global::System.IntPtr.Zero)
-            {
-                e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            }
-            if (proposed != global::System.IntPtr.Zero)
-            {
-                e.ProposedView = Registry.GetManagedBaseHandleFromNativePtr(proposed) as View;
-            }
-            e.Direction = direction;
-
-            if (_preFocusChangeEventHandler != null)
-            {
-                view = _preFocusChangeEventHandler(this, e);
-            }
-
-            if (view)
-            {
-                return view.GetPtrfromView();
-            }
-            else
-            {
-                if (e.ProposedView) return proposed;
-                else return current;
-            }
-        }
-
-        ///<summary>
-        /// Event arguments that passed via the FocusChanged signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class FocusChangedEventArgs : EventArgs
-        {
-            private View _current;
-            private View _next;
-
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
-            {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
-            }
-            /// <summary>
-            /// The next focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View NextView
-            {
-                get
-                {
-                    return _next;
-                }
-                set
-                {
-                    _next = value;
-                }
-            }
-        }
-
-        private EventHandler<FocusChangedEventArgs> _focusChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
-        private FocusChangedEventCallback _focusChangedEventCallback;
-
         /// <summary>
         /// The FocusGroupChanged will be triggered after the current focused view has been changed.
         /// </summary>
@@ -239,66 +129,6 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnFocusChanged(IntPtr current, IntPtr next)
-        {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            e.NextView = Registry.GetManagedBaseHandleFromNativePtr(next) as View;
-
-            if (_focusChangedEventHandler != null)
-            {
-                _focusChangedEventHandler(this, e);
-            }
-        }
-
-        ///<summary>
-        /// Event arguments that passed via the FocusGroupChanged signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class FocusGroupChangedEventArgs : EventArgs
-        {
-            private View _current;
-            private bool _forwardDirection;
-
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
-            {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
-            }
-
-            /// <summary>
-            /// The forward direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public bool ForwardDirection
-            {
-                get
-                {
-                    return _forwardDirection;
-                }
-                set
-                {
-                    _forwardDirection = value;
-                }
-            }
-        }
-
-        private EventHandler<FocusGroupChangedEventArgs> _focusGroupChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
-        private FocusGroupChangedEventCallback _focusGroupChangedEventCallback;
-
         /// <summary>
         /// The FocusGroupChanged will be triggered when the focus group has been changed.<br />
         /// If the current focus group has a parent layout control, the FocusManager will make the best guess for the next focus group to move the focus to in the given direction (forward or backward).<br />
@@ -327,98 +157,130 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnFocusGroupChanged(IntPtr current, bool forwardDirection)
-        {
-            FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
-
-            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            e.ForwardDirection = forwardDirection;
-
-            if (_focusGroupChangedEventHandler != null)
-            {
-                _focusGroupChangedEventHandler(this, e);
-            }
-        }
-
-        ///<summary>
-        /// Event arguments that passed via the FocusedViewEnterKey signal.
+        /// <summary>
+        /// The FocusedViewActivated will be triggered when the current focused view has the enter key pressed on it.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class FocusedViewActivatedEventArgs : EventArgs
+        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewActivated
         {
-            private View _view;
-
-            /// <summary>
-            /// View.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View View
+            add
             {
-                get
+                if (_focusedViewEnterKeyEventCallback == null)
                 {
-                    return _view;
+                    _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
+                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
                 }
-                set
+                _focusedViewEnterKeyEventHandler += value;
+            }
+            remove
+            {
+                _focusedViewEnterKeyEventHandler -= value;
+
+                if (_focusedViewEnterKeyEventCallback != null && FocusedViewEnterKeySignal().Empty() == false)
                 {
-                    _view = value;
+                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
                 }
             }
         }
 
-        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
-        private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
-
         /// <summary>
-        /// The FocusedViewActivated will be triggered when the current focused view has the enter key pressed on it.
+        /// [Obsolete("Please do not use! this will be deprecated")]
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewActivated
+        /// Please do not use! this will be deprecated!
+        /// Instead please use FocusedViewActivated.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.FocusedViewActivated instead! " +
+            "Like: " +
+            "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
+            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs args) {...}")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewEnterKeyPressed
         {
             add
             {
-                if (_focusedViewEnterKeyEventCallback == null)
+                if (_focusedViewEnterKeyEventCallback2 == null)
                 {
-                    _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
-                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
+                    _focusedViewEnterKeyEventCallback2 = OnFocusedViewEnterKey2;
+                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback2);
                 }
-                _focusedViewEnterKeyEventHandler += value;
+                _focusedViewEnterKeyEventHandler2 += value;
             }
             remove
             {
-                _focusedViewEnterKeyEventHandler -= value;
+                _focusedViewEnterKeyEventHandler2 -= value;
 
-                if (_focusedViewEnterKeyEventCallback != null && FocusedViewEnterKeySignal().Empty() == false)
+                if (_focusedViewEnterKeyEventCallback2 != null && FocusedViewEnterKeySignal().Empty() == false)
                 {
-                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
+                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback2);
                 }
             }
         }
 
-        private void OnFocusedViewEnterKey(IntPtr view)
+        /// <summary>
+        /// ICustomFocusAlgorithm is used to provide the custom keyboard focus algorithm for retrieving the next focusable view.<br />
+        /// The application can implement the interface and override the keyboard focus behavior.<br />
+        /// If the focus is changing within a layout container, then the layout container is queried first to provide the next focusable view.<br />
+        /// If this does not provide a valid view, then the Keyboard FocusManager will check focusable properties to determine the next focusable actor.<br />
+        /// If focusable properties are not set, then the keyboard FocusManager calls the GetNextFocusableView() method of this interface.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public interface ICustomFocusAlgorithm
         {
-            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
-
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+            /// <summary>
+            /// Get the next focus actor.
+            /// </summary>
+            /// <param name="current">The current focus view.</param>
+            /// <param name="proposed">The proposed focus view</param>
+            /// <param name="direction">The focus move direction</param>
+            /// <returns>The next focus actor.</returns>
+            /// <since_tizen> 3 </since_tizen>
+            View GetNextFocusableView(View current, View proposed, View.FocusDirection direction);
+        }
 
-            if (_focusedViewEnterKeyEventHandler != null)
+        /// <summary>
+        /// Gets or sets the status of whether the focus movement should be looped within the same focus group.<br />
+        /// The focus movement is not looped by default.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool FocusGroupLoop
+        {
+            set
             {
-                _focusedViewEnterKeyEventHandler(this, e);
+                SetFocusGroupLoop(value);
+            }
+            get
+            {
+                return GetFocusGroupLoop();
             }
         }
 
-
-        internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
+        /// <summary>
+        /// Gets or sets the focus indicator view.<br />
+        /// This will replace the default focus indicator view in the FocusManager and will be added to the focused view as a highlight.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public View FocusIndicator
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            set
+            {
+                SetFocusIndicatorView(value);
+            }
+            get
+            {
+                return GetFocusIndicatorView();
+            }
         }
 
-        internal static FocusManager Get()
+        /// <summary>
+        /// Gets the singleton of the FocusManager object.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static FocusManager Instance
         {
-            FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return instance;
+            }
         }
 
         /// <summary>
@@ -493,36 +355,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets or sets the status of whether the focus movement should be looped within the same focus group.<br />
-        /// The focus movement is not looped by default.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool FocusGroupLoop
-        {
-            set
-            {
-                SetFocusGroupLoop(value);
-            }
-            get
-            {
-                return GetFocusGroupLoop();
-            }
-        }
-
-        internal void SetFocusGroupLoop(bool enabled)
-        {
-            NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal bool GetFocusGroupLoop()
-        {
-            bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
         /// Sets whether the view is a focus group that can limit the scope of the focus movement to its child views in the focus chain.<br />
         /// Layout controls set themselves as focus groups by default.<br />
         /// </summary>
@@ -567,20 +399,42 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets or sets the focus indicator view.<br />
-        /// This will replace the default focus indicator view in the FocusManager and will be added to the focused view as a highlight.<br />
+        /// Provides the implementation of a custom focus algorithm interface to allow the application to define the focus logic.<br />
         /// </summary>
+        /// <param name="arg0">The user's implementation of ICustomFocusAlgorithm.</param>
         /// <since_tizen> 3 </since_tizen>
-        public View FocusIndicator
+        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0)
         {
-            set
-            {
-                SetFocusIndicatorView(value);
-            }
-            get
-            {
-                return GetFocusIndicatorView();
-            }
+            _customAlgorithmInterfaceWrapper = new CustomAlgorithmInterfaceWrapper();
+            _customAlgorithmInterfaceWrapper.SetFocusAlgorithm(arg0);
+
+            NDalicPINVOKE.SetCustomAlgorithm(swigCPtr, CustomAlgorithmInterface.getCPtr(_customAlgorithmInterfaceWrapper));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static FocusManager Get()
+        {
+            FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal void SetFocusGroupLoop(bool enabled)
+        {
+            NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal bool GetFocusGroupLoop()
+        {
+            bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal void SetFocusIndicatorView(View indicator)
@@ -601,20 +455,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Provides the implementation of a custom focus algorithm interface to allow the application to define the focus logic.<br />
-        /// </summary>
-        /// <param name="arg0">The user's implementation of ICustomFocusAlgorithm.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0)
-        {
-            _customAlgorithmInterfaceWrapper = new CustomAlgorithmInterfaceWrapper();
-            _customAlgorithmInterfaceWrapper.SetFocusAlgorithm(arg0);
-
-            NDalicPINVOKE.SetCustomAlgorithm(swigCPtr, CustomAlgorithmInterface.getCPtr(_customAlgorithmInterfaceWrapper));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal PreFocusChangeSignal PreFocusChangeSignal()
         {
             PreFocusChangeSignal ret = new PreFocusChangeSignal(NDalicManualPINVOKE.FocusManager_PreFocusChangeSignal(swigCPtr), false);
@@ -643,74 +483,241 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private static readonly FocusManager instance = FocusManager.Get();
+        private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.FocusDirection direction)
+        {
+            View view = null;
+            PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
+
+            if (current != global::System.IntPtr.Zero)
+            {
+                e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
+            }
+            if (proposed != global::System.IntPtr.Zero)
+            {
+                e.ProposedView = Registry.GetManagedBaseHandleFromNativePtr(proposed) as View;
+            }
+            e.Direction = direction;
+
+            if (_preFocusChangeEventHandler != null)
+            {
+                view = _preFocusChangeEventHandler(this, e);
+            }
+
+            if (view)
+            {
+                return view.GetPtrfromView();
+            }
+            else
+            {
+                if (e.ProposedView) return proposed;
+                else return current;
+            }
+        }
+
+        private void OnFocusChanged(IntPtr current, IntPtr next)
+        {
+            FocusChangedEventArgs e = new FocusChangedEventArgs();
+
+            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
+            e.NextView = Registry.GetManagedBaseHandleFromNativePtr(next) as View;
+
+            if (_focusChangedEventHandler != null)
+            {
+                _focusChangedEventHandler(this, e);
+            }
+        }
+
+        private void OnFocusGroupChanged(IntPtr current, bool forwardDirection)
+        {
+            FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
+
+            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
+            e.ForwardDirection = forwardDirection;
+
+            if (_focusGroupChangedEventHandler != null)
+            {
+                _focusGroupChangedEventHandler(this, e);
+            }
+        }
+
+        private void OnFocusedViewEnterKey(IntPtr view)
+        {
+            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+
+            if (_focusedViewEnterKeyEventHandler != null)
+            {
+                _focusedViewEnterKeyEventHandler(this, e);
+            }
+        }
 
         /// <summary>
-        /// Gets the singleton of the FocusManager object.
+        /// Please do not use! this will be deprecated!
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static FocusManager Instance
+        /// Please do not use! this will be deprecated!
+        /// Instead please use OnFocusedViewEnterKey.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.OnFocusedViewEnterKey instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private void OnFocusedViewEnterKey2(IntPtr view)
         {
-            get
+            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+
+            if (_focusedViewEnterKeyEventHandler != null)
             {
-                return instance;
+                _focusedViewEnterKeyEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// ICustomFocusAlgorithm is used to provide the custom keyboard focus algorithm for retrieving the next focusable view.<br />
-        /// The application can implement the interface and override the keyboard focus behavior.<br />
-        /// If the focus is changing within a layout container, then the layout container is queried first to provide the next focusable view.<br />
-        /// If this does not provide a valid view, then the Keyboard FocusManager will check focusable properties to determine the next focusable actor.<br />
-        /// If focusable properties are not set, then the keyboard FocusManager calls the GetNextFocusableView() method of this interface.<br />
+        ///<summary>
+        /// Event arguments that passed via the PreFocusChange signal.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public interface ICustomFocusAlgorithm
+        public class PreFocusChangeEventArgs : EventArgs
         {
+            private View _current;
+            private View _proposed;
+            private View.FocusDirection _direction;
+
             /// <summary>
-            /// Get the next focus actor.
+            /// The current focus view.
             /// </summary>
-            /// <param name="current">The current focus view.</param>
-            /// <param name="proposed">The proposed focus view</param>
-            /// <param name="direction">The focus move direction</param>
-            /// <returns>The next focus actor.</returns>
             /// <since_tizen> 3 </since_tizen>
-            View GetNextFocusableView(View current, View proposed, View.FocusDirection direction);
+            public View CurrentView
+            {
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
+            }
+
+            /// <summary>
+            /// The  proposed view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View ProposedView
+            {
+                get
+                {
+                    return _proposed;
+                }
+                set
+                {
+                    _proposed = value;
+                }
+            }
+
+            /// <summary>
+            /// The focus move direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View.FocusDirection Direction
+            {
+                get
+                {
+                    return _direction;
+                }
+                set
+                {
+                    _direction = value;
+                }
+            }
         }
 
-        private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
+        ///<summary>
+        /// Event arguments that passed via the FocusChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class FocusChangedEventArgs : EventArgs
         {
-            private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
+            private View _current;
+            private View _next;
 
-            public CustomAlgorithmInterfaceWrapper()
+            /// <summary>
+            /// The current focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View CurrentView
             {
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
             }
+            /// <summary>
+            /// The next focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View NextView
+            {
+                get
+                {
+                    return _next;
+                }
+                set
+                {
+                    _next = value;
+                }
+            }
+        }
 
-            public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
+        ///<summary>
+        /// Event arguments that passed via the FocusGroupChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class FocusGroupChangedEventArgs : EventArgs
+        {
+            private View _current;
+            private bool _forwardDirection;
+
+            /// <summary>
+            /// The current focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View CurrentView
             {
-                _customFocusAlgorithm = customFocusAlgorithm;
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
             }
 
-            public override View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
+            /// <summary>
+            /// The forward direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool ForwardDirection
             {
-                return _customFocusAlgorithm.GetNextFocusableView(current, proposed, direction);
+                get
+                {
+                    return _forwardDirection;
+                }
+                set
+                {
+                    _forwardDirection = value;
+                }
             }
         }
 
-
-        /// <summary>
-        /// Please do not use! this will be deprecated
+        ///<summary>
+        /// Event arguments that passed via the FocusedViewEnterKey signal.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated.
-        /// Instead please use FocusedViewActivatedEventArgs.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusedViewActivatedEventArgs instead! " +
-            "Like: " +
-            "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
-            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs arg)" +
-            "{...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public class FocusedViewEnterKeyEventArgs : EventArgs
+        public class FocusedViewActivatedEventArgs : EventArgs
         {
             private View _view;
 
@@ -731,61 +738,58 @@ namespace Tizen.NUI
             }
         }
 
-        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler2;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusedViewEnterKeyEventCallback2(IntPtr view);
-        private FocusedViewEnterKeyEventCallback2 _focusedViewEnterKeyEventCallback2;
-
         /// <summary>
-        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// Please do not use! this will be deprecated
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use FocusedViewActivated.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.FocusedViewActivated instead! " +
+        /// Please do not use! this will be deprecated.
+        /// Instead please use FocusedViewActivatedEventArgs.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusedViewActivatedEventArgs instead! " +
             "Like: " +
             "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
-            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs args) {...}")]
+            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs arg)" +
+            "{...}")]
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewEnterKeyPressed
+        public class FocusedViewEnterKeyEventArgs : EventArgs
         {
-            add
+            private View _view;
+
+            /// <summary>
+            /// View.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View View
             {
-                if (_focusedViewEnterKeyEventCallback2 == null)
+                get
                 {
-                    _focusedViewEnterKeyEventCallback2 = OnFocusedViewEnterKey2;
-                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback2);
+                    return _view;
                 }
-                _focusedViewEnterKeyEventHandler2 += value;
-            }
-            remove
-            {
-                _focusedViewEnterKeyEventHandler2 -= value;
-
-                if (_focusedViewEnterKeyEventCallback2 != null && FocusedViewEnterKeySignal().Empty() == false)
+                set
                 {
-                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback2);
+                    _view = value;
                 }
             }
         }
 
-        /// <summary>
-        /// Please do not use! this will be deprecated!
-        /// </summary>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use OnFocusedViewEnterKey.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.OnFocusedViewEnterKey instead!")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        private void OnFocusedViewEnterKey2(IntPtr view)
+        private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
         {
-            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+            private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
 
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+            public CustomAlgorithmInterfaceWrapper()
+            {
+            }
 
-            if (_focusedViewEnterKeyEventHandler != null)
+            public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
             {
-                _focusedViewEnterKeyEventHandler(this, e);
+                _customFocusAlgorithm = customFocusAlgorithm;
+            }
+
+            public override View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
+            {
+                return _customFocusAlgorithm.GetNextFocusableView(current, proposed, direction);
             }
         }
+
+
     }
 }
\ No newline at end of file
index 9744511..9281f14 100755 (executable)
@@ -22,6 +22,8 @@ namespace Tizen.NUI
     /// <since_tizen> 5 </since_tizen>
     public class FontClient : BaseHandle
     {
+
+        private static readonly FontClient instance = FontClient.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         internal FontClient(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.FontClient_SWIGUpcast(cPtr), cMemoryOwn)
@@ -29,9 +31,14 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FontClient obj)
+        internal FontClient() : this(NDalicManualPINVOKE.new_FontClient__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal FontClient(FontClient handle) : this(NDalicManualPINVOKE.new_FontClient__SWIG_1(FontClient.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         internal static uint DefaultPointSize
@@ -44,156 +51,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal class GlyphBufferData : global::System.IDisposable
-        {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            protected bool swigCMemOwn;
-
-            internal GlyphBufferData(global::System.IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GlyphBufferData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-            /// <summary>
-            /// A Flat to check if it is already disposed.
-            /// </summary>
-            protected bool disposed = false;
-
-            ~GlyphBufferData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //Because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_FontClient_GlyphBufferData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-                disposed = true;
-            }
-
-            public GlyphBufferData() : this(NDalicManualPINVOKE.new_FontClient_GlyphBufferData(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /*public byte[] Buffer
-            {
-                set
-                {
-                    NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    global::System.IntPtr cPtr = NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_get(swigCPtr);
-                    SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }*/
-
-            public uint Width
-            {
-                set
-                {
-                    NDalicManualPINVOKE.FontClient_GlyphBufferData_width_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_width_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            public uint Height
-            {
-                set
-                {
-                    NDalicManualPINVOKE.FontClient_GlyphBufferData_height_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_height_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            public PixelFormat Format
-            {
-                set
-                {
-                    NDalicManualPINVOKE.FontClient_GlyphBufferData_format_set(swigCPtr, (int)value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    PixelFormat ret = (PixelFormat)NDalicManualPINVOKE.FontClient_GlyphBufferData_format_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-        }
-        private static readonly FontClient instance = FontClient.Get();
-
         /// <summary>
         /// Gets the singleton pattern of the FontClient object.
         /// </summary>
@@ -206,49 +63,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static FontClient Get()
-        {
-            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Get(), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal FontClient() : this(NDalicManualPINVOKE.new_FontClient__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal FontClient(FontClient handle) : this(NDalicManualPINVOKE.new_FontClient__SWIG_1(FontClient.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal FontClient Assign(FontClient handle)
-        {
-            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Assign(swigCPtr, FontClient.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal void SetDpi(uint horizontalDpi, uint verticalDpi)
-        {
-            NDalicManualPINVOKE.FontClient_SetDpi(swigCPtr, horizontalDpi, verticalDpi);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetDpi(SWIGTYPE_p_unsigned_int horizontalDpi, SWIGTYPE_p_unsigned_int verticalDpi)
-        {
-            NDalicManualPINVOKE.FontClient_GetDpi(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(horizontalDpi), SWIGTYPE_p_unsigned_int.getCPtr(verticalDpi));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal int GetDefaultFontSize()
-        {
-            int ret = NDalicManualPINVOKE.FontClient_GetDefaultFontSize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Called when the user changes the system defaults.
         /// </summary>
@@ -259,30 +73,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void GetDefaultFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t defaultFonts)
-        {
-            NDalicManualPINVOKE.FontClient_GetDefaultFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(defaultFonts));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetDefaultPlatformFontDescription(FontDescription fontDescription)
-        {
-            NDalicManualPINVOKE.FontClient_GetDefaultPlatformFontDescription(swigCPtr, FontDescription.getCPtr(fontDescription));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetSystemFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t systemFonts)
-        {
-            NDalicManualPINVOKE.FontClient_GetSystemFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(systemFonts));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetDescription(uint id, FontDescription fontDescription)
-        {
-            NDalicManualPINVOKE.FontClient_GetDescription(swigCPtr, id, FontDescription.getCPtr(fontDescription));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// Retrieves the font point size of a given font id.
         /// </summary>
@@ -352,27 +142,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize, bool preferColor)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_0(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, preferColor);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_1(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_2(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Retrieve the unique identifier for a font.
         /// </summary>
@@ -415,36 +184,132 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal uint GetFontId(FontDescription preferredFontDescription, uint requestedPointSize, uint faceIndex)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_3(swigCPtr, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, faceIndex);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal uint GetFontId(FontDescription preferredFontDescription, uint requestedPointSize)
+        /// <summary>
+        /// Check to see if a font is scalable.
+        /// </summary>
+        /// <param name="path">The path where the font file is located.</param>
+        /// <returns>True if scalable.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool IsScalable(string path)
         {
-            uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_4(swigCPtr, FontDescription.getCPtr(preferredFontDescription), requestedPointSize);
+            bool ret = NDalicManualPINVOKE.FontClient_IsScalable__SWIG_0(swigCPtr, path);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal uint GetFontId(FontDescription preferredFontDescription)
+        /// <summary>
+        /// Adds custom fonts directory.
+        /// </summary>
+        /// <param name="path">Path to the fonts directory.</param>
+        /// <returns>True if the fonts can be added.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool AddCustomFontDirectory(string path)
         {
-            uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_5(swigCPtr, FontDescription.getCPtr(preferredFontDescription));
+            bool ret = NDalicManualPINVOKE.FontClient_AddCustomFontDirectory(swigCPtr, path);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Check to see if a font is scalable.
-        /// </summary>
-        /// <param name="path">The path where the font file is located.</param>
-        /// <returns>True if scalable.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool IsScalable(string path)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FontClient obj)
         {
-            bool ret = NDalicManualPINVOKE.FontClient_IsScalable__SWIG_0(swigCPtr, path);
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static FontClient Get()
+        {
+            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Get(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal FontClient Assign(FontClient handle)
+        {
+            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Assign(swigCPtr, FontClient.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal void SetDpi(uint horizontalDpi, uint verticalDpi)
+        {
+            NDalicManualPINVOKE.FontClient_SetDpi(swigCPtr, horizontalDpi, verticalDpi);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetDpi(SWIGTYPE_p_unsigned_int horizontalDpi, SWIGTYPE_p_unsigned_int verticalDpi)
+        {
+            NDalicManualPINVOKE.FontClient_GetDpi(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(horizontalDpi), SWIGTYPE_p_unsigned_int.getCPtr(verticalDpi));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal int GetDefaultFontSize()
+        {
+            int ret = NDalicManualPINVOKE.FontClient_GetDefaultFontSize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal void GetDefaultFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t defaultFonts)
+        {
+            NDalicManualPINVOKE.FontClient_GetDefaultFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(defaultFonts));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetDefaultPlatformFontDescription(FontDescription fontDescription)
+        {
+            NDalicManualPINVOKE.FontClient_GetDefaultPlatformFontDescription(swigCPtr, FontDescription.getCPtr(fontDescription));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetSystemFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t systemFonts)
+        {
+            NDalicManualPINVOKE.FontClient_GetSystemFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(systemFonts));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetDescription(uint id, FontDescription fontDescription)
+        {
+            NDalicManualPINVOKE.FontClient_GetDescription(swigCPtr, id, FontDescription.getCPtr(fontDescription));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize, bool preferColor)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_0(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, preferColor);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_1(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_2(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint GetFontId(FontDescription preferredFontDescription, uint requestedPointSize, uint faceIndex)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_3(swigCPtr, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, faceIndex);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint GetFontId(FontDescription preferredFontDescription, uint requestedPointSize)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_4(swigCPtr, FontDescription.getCPtr(preferredFontDescription), requestedPointSize);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint GetFontId(FontDescription preferredFontDescription)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_5(swigCPtr, FontDescription.getCPtr(preferredFontDescription));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -528,17 +393,152 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Adds custom fonts directory.
-        /// </summary>
-        /// <param name="path">Path to the fonts directory.</param>
-        /// <returns>True if the fonts can be added.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool AddCustomFontDirectory(string path)
+        internal class GlyphBufferData : global::System.IDisposable
         {
-            bool ret = NDalicManualPINVOKE.FontClient_AddCustomFontDirectory(swigCPtr, path);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            protected bool swigCMemOwn;
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            protected bool disposed = false;
+
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            public GlyphBufferData() : this(NDalicManualPINVOKE.new_FontClient_GlyphBufferData(), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
+            internal GlyphBufferData(global::System.IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            ~GlyphBufferData()
+            {
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
+            }
+
+            /*public byte[] Buffer
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    global::System.IntPtr cPtr = NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_get(swigCPtr);
+                    SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }*/
+
+            public uint Width
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_width_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_width_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            public uint Height
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_height_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_height_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            public PixelFormat Format
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_format_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    PixelFormat ret = (PixelFormat)NDalicManualPINVOKE.FontClient_GlyphBufferData_format_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            public void Dispose()
+            {
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GlyphBufferData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //Because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_FontClient_GlyphBufferData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                disposed = true;
+            }
         }
     }
 }
index 172d719..65358da 100755 (executable)
@@ -26,60 +26,63 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Create an instance of Geometry.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Geometry() : this(NDalicPINVOKE.Geometry_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Geometry obj)
+        internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Dispose.
+        /// Enumeration for the description of the type of geometry,
+        /// used to determine how the coordinates will be used.
         /// </summary>
+        /// <returns>Type of primitives this geometry contains.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public enum Type
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+            /// <summary>
+            /// Individual points.
+            /// </summary>
+            POINTS,
 
-            }
+            /// <summary>
+            /// Individual lines (made of 2 points each).
+            /// </summary>
+            LINES,
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            /// <summary>
+            /// A strip of lines (made of 1 point each) which also joins the first and last point.
+            /// </summary>
+            LINE_LOOP,
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Geometry(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            /// <summary>
+            /// A strip of lines (made of 1 point each).
+            /// </summary>
+            LINE_STRIP,
 
-            base.Dispose(type);
-        }
+            /// <summary>
+            /// Individual triangles (made of 3 points each).
+            /// </summary>
+            TRIANGLES,
 
-        /// <summary>
-        /// Create an instance of Geometry.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Geometry() : this(NDalicPINVOKE.Geometry_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// A fan of triangles around a centre point (after the first triangle, following triangles need only 1 point).
+            /// </summary>
+            TRIANGLE_FAN,
 
+            /// <summary>
+            /// A strip of triangles (after the first triangle, following triangles need only 1 point).
+            /// </summary>
+            TRIANGLE_STRIP
         }
 
         /// <summary>
@@ -154,50 +157,46 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Geometry obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Enumeration for the description of the type of geometry,
-        /// used to determine how the coordinates will be used.
+        /// Dispose.
         /// </summary>
-        /// <returns>Type of primitives this geometry contains.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public enum Type
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// Individual points.
-            /// </summary>
-            POINTS,
-
-            /// <summary>
-            /// Individual lines (made of 2 points each).
-            /// </summary>
-            LINES,
+            if (disposed)
+            {
+                return;
+            }
 
-            /// <summary>
-            /// A strip of lines (made of 1 point each) which also joins the first and last point.
-            /// </summary>
-            LINE_LOOP,
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
 
-            /// <summary>
-            /// A strip of lines (made of 1 point each).
-            /// </summary>
-            LINE_STRIP,
+            }
 
-            /// <summary>
-            /// Individual triangles (made of 3 points each).
-            /// </summary>
-            TRIANGLES,
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
-            /// <summary>
-            /// A fan of triangles around a centre point (after the first triangle, following triangles need only 1 point).
-            /// </summary>
-            TRIANGLE_FAN,
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Geometry(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
 
-            /// <summary>
-            /// A strip of triangles (after the first triangle, following triangles need only 1 point).
-            /// </summary>
-            TRIANGLE_STRIP
+            base.Dispose(type);
         }
 
     }
-
 }
\ No newline at end of file
index 1f57eed..37de914 100755 (executable)
@@ -26,31 +26,38 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Gesture : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
+
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The Copy constructor.
         /// </summary>
+        /// <param name="rhs">A reference to the copied handle</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -66,63 +73,71 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Enumeration for type of gesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public enum GestureType
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+            /// <summary>
+            /// When two touch points move away or towards each other.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Pinch = 1 << 0,
+            /// <summary>
+            /// When the user drags their finger(s) in a particular direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Pan = 1 << 1,
+            /// <summary>
+            /// When the user taps the screen.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Tap = 1 << 2,
+            /// <summary>
+            ///  When the user continues to touch the same area on the screen for the device configured time.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            LongPress = 1 << 3
         }
 
         /// <summary>
-        /// Dispose.
+        /// Enumeration for state of the gesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public enum StateType
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Gesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
+            /// <summary>
+            /// There is no state associated with this gesture.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Clear,
+            /// <summary>
+            /// The touched points on the screen have moved enough to be considered a gesture.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Started,
+            /// <summary>
+            /// The gesture is continuing.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Continuing,
+            /// <summary>
+            /// The user has lifted a finger or touched an additional point on the screen.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Finished,
+            /// <summary>
+            /// The gesture has been cancelled.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Cancelled,
+            /// <summary>
+            ///  A gesture is possible.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Possible
         }
 
-
         /// <summary>
         /// The gesture type.
         /// </summary>
@@ -159,16 +174,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The Copy constructor.
-        /// </summary>
-        /// <param name="rhs">A reference to the copied handle</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         private Gesture.GestureType type
         {
             set
@@ -215,71 +220,65 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for type of gesture.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum GestureType
+        public void Dispose()
         {
-            /// <summary>
-            /// When two touch points move away or towards each other.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Pinch = 1 << 0,
-            /// <summary>
-            /// When the user drags their finger(s) in a particular direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Pan = 1 << 1,
-            /// <summary>
-            /// When the user taps the screen.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Tap = 1 << 2,
-            /// <summary>
-            ///  When the user continues to touch the same area on the screen for the device configured time.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            LongPress = 1 << 3
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Enumeration for state of the gesture.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum StateType
+        protected virtual void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// There is no state associated with this gesture.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Clear,
-            /// <summary>
-            /// The touched points on the screen have moved enough to be considered a gesture.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Started,
-            /// <summary>
-            /// The gesture is continuing.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Continuing,
-            /// <summary>
-            /// The user has lifted a finger or touched an additional point on the screen.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Finished,
-            /// <summary>
-            /// The gesture has been cancelled.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Cancelled,
-            /// <summary>
-            ///  A gesture is possible.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Possible
-        }
+            if (disposed)
+            {
+                return;
+            }
 
-    }
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Gesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+    }
 }
\ No newline at end of file
index c46e4d7..d598942 100755 (executable)
@@ -31,54 +31,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal GestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_GestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Constructor. Creates an uninitialized GestureDetector.
         /// </summary>
@@ -89,13 +41,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static GestureDetector DownCast(BaseHandle handle)
-        {
-            GestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as GestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -107,11 +52,9 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal GestureDetector Assign(GestureDetector rhs)
+        internal GestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            GestureDetector ret = new GestureDetector(NDalicPINVOKE.GestureDetector_Assign(swigCPtr, GestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -176,6 +119,61 @@ namespace Tizen.NUI
             return ret;
         }
 
-    }
+        internal GestureDetector Assign(GestureDetector rhs)
+        {
+            GestureDetector ret = new GestureDetector(NDalicPINVOKE.GestureDetector_Assign(swigCPtr, GestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static GestureDetector DownCast(BaseHandle handle)
+        {
+            GestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as GestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GestureDetector obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
 
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_GestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+    }
 }
index cd99841..03dec8a 100755 (executable)
  *
  */
 
+using Tizen.NUI.BaseComponents;
+
 namespace Tizen.NUI
 {
-    using Tizen.NUI.BaseComponents;
     /// <summary>
     /// Hover events are a collection of points at a specific moment in time.<br />
     /// When a multi-event occurs, each point represents the points that are currently being
@@ -26,31 +27,46 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Hover : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
+
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="time">The time the event occurred.</param>
+        internal Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -66,79 +82,45 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The time (in ms) that the hover event occurred.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public uint Time
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return time;
             }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        private TouchPointContainer points
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Hover(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                global::System.IntPtr cPtr = NDalicPINVOKE.Hover_points_get(swigCPtr);
+                TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
-
-        internal static Hover GetHoverFromPtr(global::System.IntPtr cPtr)
-        {
-            Hover ret = new Hover(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The time (in ms) that the hover event occurred.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public uint Time
+        private uint time
         {
+            set
+            {
+                NDalicPINVOKE.Hover_time_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                return time;
+                uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
@@ -226,62 +208,48 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The default constructor.
+        /// Returns the total number of points.
         /// </summary>
+        /// <returns>Total number of points.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true)
+        public uint GetPointCount()
         {
+            uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="time">The time the event occurred.</param>
-        internal Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true)
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        private TouchPointContainer points
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Hover_points_get(swigCPtr);
-                TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
-        private uint time
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj)
         {
-            set
-            {
-                NDalicPINVOKE.Hover_time_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// Returns the total number of points.
-        /// </summary>
-        /// <returns>Total number of points.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint GetPointCount()
+        internal static Hover GetHoverFromPtr(global::System.IntPtr cPtr)
         {
-            uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
+            Hover ret = new Hover(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -293,6 +261,38 @@ namespace Tizen.NUI
             return ret;
         }
 
-    }
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Hover(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+    }
 }
\ No newline at end of file
index cc815e6..60d8506 100755 (executable)
@@ -299,31 +299,5 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Set the maximum texture size. Then size can be kwown by GL_MAX_TEXTURE_SIZE.
-        /// </summary>
-        /// <param name="size">The maximum texture size to set.</param>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5. Therefore, currently this would be used as an in-house API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static void SetMaxTextureSize(uint size)
-        {
-            NDalicPINVOKE.SetMaxTextureSize(size);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Get the maximum texture size.
-        /// </summary>
-        /// <returns>The maximum texture size.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5. Therefore, currently this would be used as an in-house API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static uint GetMaxTextureSize()
-        {
-            uint ret = NDalicPINVOKE.GetMaxTextureSize();
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
     }
 }
index a2d3c5e..6aeee67 100755 (executable)
@@ -31,499 +31,330 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ImfManager(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
+        private ActivatedEventCallbackType _activatedEventCallback;
+        private EventReceivedEventCallbackType _eventReceivedEventCallback;
+        private StatusChangedEventCallbackType _statusChangedEventCallback;
+        private ResizedEventCallbackType _resizedEventCallback;
+        private LanguageChangedEventCallbackType _languageChangedEventCallback;
+        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
+
+        /// <summary>
+        /// Constructor.<br/>
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public ImfManager() : this(NDalicManualPINVOKE.InputMethodContext_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfManager obj)
+        internal ImfManager(ImfManager imfManager) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(ImfManager.getCPtr(imfManager)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Gets the singleton of the ImfManager object.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static ImfManager Instance
+        internal ImfManager(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            get
-            {
-                return new ImfManager();
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ActivatedEventCallbackType(IntPtr data);
+        private delegate IntPtr EventReceivedEventCallbackType(IntPtr imfManager, IntPtr imfEventData);
+        private delegate void StatusChangedEventCallbackType(bool statusChanged);
+        private delegate void ResizedEventCallbackType(int resized);
+        private delegate void LanguageChangedEventCallbackType(int languageChanged);
+        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
+
         /// <summary>
-        /// Dispose.
+        /// ImfManager activated.
         /// </summary>
-        /// <param name="type">Dispose Type</param>
-        /// <since_tizen> 3 </since_tizen>
-        /// Please DO NOT use! This will be deprecated!
-        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, ImfManager, TtsPlayer, Window) is not required.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<ActivatedEventArgs> Activated
         {
-            if (disposed)
+            add
             {
-                return;
-            }
+                if (_activatedEventHandler == null)
+                {
+                    _activatedEventCallback = OnActivated;
+                    ActivatedSignal().Connect(_activatedEventCallback);
+                }
 
-            if (type == DisposeTypes.Explicit)
+                _activatedEventHandler += value;
+            }
+            remove
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                _activatedEventHandler -= value;
 
+                if (_activatedEventHandler == null && _activatedEventCallback != null)
+                {
+                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                }
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (_keyboardTypeChangedEventCallback != null)
+        /// <summary>
+        /// ImfManager event received.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
+        {
+            add
             {
-                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-            }
+                if (_eventReceivedEventHandler == null)
+                {
+                    _eventReceivedEventCallback = OnEventReceived;
+                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                _eventReceivedEventHandler += value;
+            }
+            remove
             {
-                if (swigCMemOwn)
+                _eventReceivedEventHandler -= value;
+
+                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
                 {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// This structure is used to pass on data from the IMF regarding predictive text.
+        /// ImfManager status changed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ImfEventData : global::System.IDisposable
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<StatusChangedEventArgs> StatusChanged
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
+            add
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
+                if (_statusChangedEventHandler == null)
+                {
+                    _statusChangedEventCallback = OnStatusChanged;
+                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+                _statusChangedEventHandler += value;
             }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-            /// <summary>
-            /// A Flat to check if it is already disposed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            ~ImfEventData()
+            remove
             {
-                if (!isDisposeQueued)
+                _statusChangedEventHandler -= value;
+
+                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
                 {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
+                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
+        /// <summary>
+        /// ImfManager resized.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<ResizedEventArgs> Resized
+        {
+            add
             {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
+                if (_resizedEventHandler == null)
                 {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                    _resizedEventCallback = OnResized;
+                    ResizedSignal().Connect(_resizedEventCallback);
                 }
 
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+
+                if (_resizedEventHandler == null && _resizedEventCallback != null)
                 {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
+                    ResizedSignal().Disconnect(_resizedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// ImfManager language changed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
             {
-                if (disposed)
+                if (_languageChangedEventHandler == null)
                 {
-                    return;
+                    _languageChangedEventCallback = OnLanguageChanged;
+                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
                 }
 
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
 
+                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                {
+                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
                 }
+            }
+        }
 
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
+        /// <summary>
+        /// ImfManager keyboard type changed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        {
+            add
+            {
+                if (_keyboardTypeChangedEventHandler == null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
+                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
                 }
 
-                disposed = true;
+                _keyboardTypeChangedEventHandler += value;
             }
-
-            internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
+            remove
             {
-                ImfEventData ret = new ImfEventData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _keyboardTypeChangedEventHandler -= value;
+
+                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
+                {
+                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+                }
             }
+        }
 
-            /// <summary>
-            /// The default constructor.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfEventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The constructor.
-            /// </summary>
-            /// <param name="aEventName">The name of the event from the IMF.</param>
-            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
-            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
-            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfEventData(ImfManager.ImfEvent aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The pre-edit or the commit string.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public string PredictiveString
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The name of the event from the IMF.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ImfManager.ImfEvent EventName
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    ImfManager.ImfEvent ret = (ImfManager.ImfEvent)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
+        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
+        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> _eventReceivedEventHandler;
+        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
+        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
+        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
 
+        /// <summary>
+        /// The direction of the text.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum TextDirection
+        {
             /// <summary>
-            /// The start position from the current cursor position to start deleting characters.
+            /// Left to right.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public int CursorOffset
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            LeftToRight,
             /// <summary>
-            /// The number of characters to delete from the cursorOffset.
+            /// Right to left.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public int NumberOfChars
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            RightToLeft
         }
 
         /// <summary>
-        /// Data required by the IMF from the callback.
+        /// Events that are generated by the IMF.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class ImfCallbackData : global::System.IDisposable
+        public enum ImfEvent
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// swigCMemOwn
+            /// No event.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal IntPtr GetImfCallbackDataPtr()
-            {
-                return (IntPtr)swigCPtr;
-            }
-
-            internal ImfCallbackData(IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfCallbackData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
+            /// <since_tizen> 4 </since_tizen>
+            Void,
             /// <summary>
-            /// A Flat to check if it is already disposed.
+            /// Pre-Edit changed.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
-
+            /// <since_tizen> 4 </since_tizen>
+            Preedit,
             /// <summary>
-            /// Dispose.
+            /// Commit received.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            ~ImfCallbackData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            Commit,
             /// <summary>
-            /// The dispose pattern.
+            /// An event to delete a range of characters from the string.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            DeleteSurrounding,
             /// <summary>
-            /// Dispose.
+            /// An event to query string and the cursor position.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
-                }
-
-                disposed = true;
-            }
-
-            internal static ImfCallbackData GetImfCallbackDataFromPtr(IntPtr cPtr)
-            {
-                ImfCallbackData ret = new ImfCallbackData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            GetSurrounding,
             /// <summary>
-            /// The default constructor.
+            /// Private command sent from the input panel.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfCallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
+            /// <since_tizen> 4 </since_tizen>
+            PrivateCommand
+        }
 
+        /// <summary>
+        /// Enumeration for the state of the input panel.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum State
+        {
             /// <summary>
-            /// The constructor.
+            /// Unknown state.
             /// </summary>
-            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
-            /// <param name="aCursorPosition">The new position of the cursor.</param>
-            /// <param name="aCurrentText">The current text string.</param>
-            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfCallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            Default = 0,
             /// <summary>
-            /// The current text string.
+            /// Input panel is shown.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public string CurrentText
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            Show,
             /// <summary>
-            /// The current text string.
+            /// Input panel is hidden.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public int CursorPosition
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            Hide,
             /// <summary>
-            /// If the cursor position needs to be updated.
+            /// Input panel in process of being shown.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public bool Update
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
+            WillShow
+        }
 
+        /// <summary>
+        /// Enumeration for the types of keyboard.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public enum KeyboardType
+        {
             /// <summary>
-            /// Flags if preedit reset is required.
+            /// Software keyboard (virtual keyboard) is default.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public bool PreeditResetRequired
+            SoftwareKeyboard,
+            /// <summary>
+            /// Hardware keyboard.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            HardwareKeyboard
+        }
+
+        /// <summary>
+        /// Gets the singleton of the ImfManager object.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static ImfManager Instance
+        {
+            get
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                return new ImfManager();
             }
+        }
 
+        /// <summary>
+        /// Retrieves a handle to the instance of the ImfManager.
+        /// </summary>
+        /// <returns>A handle to the ImfManager.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static ImfManager Get()
+        {
+            return new ImfManager();
         }
 
         /// <summary>
@@ -541,49 +372,14 @@ namespace Tizen.NUI
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         /// Please do not use! This will be deprecated, instead please USE Tizen.NUI.ImfManager.Instance.DestroyContext()!
-         #pragma warning disable 0465
+#pragma warning disable 0465
         [Obsolete("Please do not use! This will be deprecated! Please use ImfManager.Instance.DestroyContext() instead!")]
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void Finalize()
         {
             DestroyContext();
         }
-        #pragma warning restore 0465
-
-        /// <summary>
-        /// Retrieves a handle to the instance of the ImfManager.
-        /// </summary>
-        /// <returns>A handle to the ImfManager.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static ImfManager Get()
-        {
-            return new ImfManager();
-        }
-
-        /// <summary>
-        /// Constructor.<br/>
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public ImfManager () : this (NDalicManualPINVOKE.InputMethodContext_New(), true) {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal ImfManager(ImfManager imfManager) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(ImfManager.getCPtr(imfManager)), true) {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal ImfManager Assign(ImfManager imfManager) {
-            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, ImfManager.getCPtr(imfManager)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static ImfManager DownCast(BaseHandle handle) {
-            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+#pragma warning restore 0465
 
         /// <summary>
         /// Activates the IMF.<br/>
@@ -737,12 +533,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void ApplyOptions(InputMethodOptions options)
-        {
-            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// Sets up the input-panel specific data.
         /// </summary>
@@ -833,548 +623,760 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Gets the current language locale of the input panel.<br/>
-        /// For example, en_US, en_GB, en_PH, fr_FR, ...
-        /// </summary>
-        /// <returns>The current language locale of the input panel.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public string GetInputPanelLocale()
+        /// <summary>
+        /// Gets the current language locale of the input panel.<br/>
+        /// For example, en_US, en_GB, en_PH, fr_FR, ...
+        /// </summary>
+        /// <returns>The current language locale of the input panel.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public string GetInputPanelLocale()
+        {
+            string ret = NDalicManualPINVOKE.InputMethodContext_GetInputPanelLocale(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ImfManager Assign(ImfManager imfManager)
+        {
+            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, ImfManager.getCPtr(imfManager)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static ImfManager DownCast(BaseHandle handle)
+        {
+            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal void ApplyOptions(InputMethodOptions options)
+        {
+            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfManager obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal ActivatedSignalType ActivatedSignal()
+        {
+            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyboardEventSignalType EventReceivedSignal()
+        {
+            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal StatusSignalType StatusChangedSignal()
+        {
+            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyboardResizedSignalType ResizedSignal()
+        {
+            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal LanguageChangedSignalType LanguageChangedSignal()
+        {
+            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
+        {
+            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">Dispose Type</param>
+        /// <since_tizen> 3 </since_tizen>
+        /// Please DO NOT use! This will be deprecated!
+        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, ImfManager, TtsPlayer, Window) is not required.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (_keyboardTypeChangedEventCallback != null)
+            {
+                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnActivated(IntPtr data)
+        {
+            ActivatedEventArgs e = new ActivatedEventArgs();
+
+            if (data != null)
+            {
+                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
+            }
+
+            if (_activatedEventHandler != null)
+            {
+                _activatedEventHandler(this, e);
+            }
+        }
+
+        private IntPtr OnEventReceived(IntPtr imfManager, IntPtr imfEventData)
+        {
+            ImfCallbackData imfCallbackData = null;
+
+            EventReceivedEventArgs e = new EventReceivedEventArgs();
+
+            if (imfManager != null)
+            {
+                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager;
+            }
+            if (imfEventData != null)
+            {
+                e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData);
+            }
+
+            if (_eventReceivedEventHandler != null)
+            {
+                imfCallbackData = _eventReceivedEventHandler(this, e);
+            }
+            if (imfCallbackData != null)
+            {
+                return imfCallbackData.GetImfCallbackDataPtr();
+            }
+            else
+            {
+                return new ImfCallbackData().GetImfCallbackDataPtr();
+            }
+        }
+
+        private void OnStatusChanged(bool statusChanged)
+        {
+            StatusChangedEventArgs e = new StatusChangedEventArgs();
+
+            e.StatusChanged = statusChanged;
+
+            if (_statusChangedEventHandler != null)
+            {
+                _statusChangedEventHandler(this, e);
+            }
+        }
+
+        private void OnResized(int resized)
+        {
+            ResizedEventArgs e = new ResizedEventArgs();
+            e.Resized = resized;
+
+            if (_resizedEventHandler != null)
+            {
+                _resizedEventHandler(this, e);
+            }
+        }
+
+        private void OnLanguageChanged(int languageChanged)
+        {
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            e.LanguageChanged = languageChanged;
+
+            if (_languageChangedEventHandler != null)
+            {
+                _languageChangedEventHandler(this, e);
+            }
+        }
+
+        private void OnKeyboardTypeChanged(KeyboardType type)
         {
-            string ret = NDalicManualPINVOKE.InputMethodContext_GetInputPanelLocale(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
+
+            e.KeyboardType = type;
+
+            if (_keyboardTypeChangedEventHandler != null)
+            {
+                _keyboardTypeChangedEventHandler(this, e);
+            }
         }
 
         /// <summary>
-        /// ImfManager activated event arguments.
+        /// This structure is used to pass on data from the IMF regarding predictive text.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class ActivatedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public class ImfEventData : global::System.IDisposable
         {
             /// <summary>
-            /// ImfManager
+            /// swigCMemOwn
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ImfManager ImfManager
-            {
-                get;
-                set;
-            }
-        }
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ActivatedEventCallbackType(IntPtr data);
-        private ActivatedEventCallbackType _activatedEventCallback;
-        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
 
-        /// <summary>
-        /// ImfManager activated.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<ActivatedEventArgs> Activated
-        {
-            add
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            /// <summary>
+            /// The default constructor.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfEventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
             {
-                if (_activatedEventHandler == null)
-                {
-                    _activatedEventCallback = OnActivated;
-                    ActivatedSignal().Connect(_activatedEventCallback);
-                }
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
 
-                _activatedEventHandler += value;
+            /// <summary>
+            /// The constructor.
+            /// </summary>
+            /// <param name="aEventName">The name of the event from the IMF.</param>
+            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
+            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
+            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfEventData(ImfManager.ImfEvent aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            remove
+
+            internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
             {
-                _activatedEventHandler -= value;
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
 
-                if (_activatedEventHandler == null && _activatedEventCallback != null)
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~ImfEventData()
+            {
+                if (!isDisposeQueued)
                 {
-                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
             }
-        }
-
-        private void OnActivated(IntPtr data)
-        {
-            ActivatedEventArgs e = new ActivatedEventArgs();
 
-            if (data != null)
+            /// <summary>
+            /// The pre-edit or the commit string.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public string PredictiveString
             {
-                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
 
-            if (_activatedEventHandler != null)
+            /// <summary>
+            /// The name of the event from the IMF.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ImfManager.ImfEvent EventName
             {
-                _activatedEventHandler(this, e);
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    ImfManager.ImfEvent ret = (ImfManager.ImfEvent)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
 
-        internal ActivatedSignalType ActivatedSignal()
-        {
-            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// ImfManager event received event arguments.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class EventReceivedEventArgs : EventArgs
-        {
             /// <summary>
-            /// ImfManager
+            /// The start position from the current cursor position to start deleting characters.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public ImfManager ImfManager
+            public int CursorOffset
             {
-                get;
-                set;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
 
             /// <summary>
-            /// ImfEventData
+            /// The number of characters to delete from the cursorOffset.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public ImfEventData ImfEventData
+            public int NumberOfChars
             {
-                get;
-                set;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
 
-        private delegate IntPtr EventReceivedEventCallbackType(IntPtr imfManager, IntPtr imfEventData);
-        private EventReceivedEventCallbackType _eventReceivedEventCallback;
-        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> _eventReceivedEventHandler;
-
-        /// <summary>
-        /// ImfManager event received.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
-        {
-            add
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
             {
-                if (_eventReceivedEventHandler == null)
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
                 {
-                    _eventReceivedEventCallback = OnEventReceived;
-                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
                 }
 
-                _eventReceivedEventHandler += value;
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
             }
-            remove
+
+            internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
             {
-                _eventReceivedEventHandler -= value;
+                ImfEventData ret = new ImfEventData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
+                }
 
-                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
+
+                disposed = true;
             }
         }
 
-        private IntPtr OnEventReceived(IntPtr imfManager, IntPtr imfEventData)
+        /// <summary>
+        /// Data required by the IMF from the callback.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ImfCallbackData : global::System.IDisposable
         {
-            ImfCallbackData imfCallbackData = null;
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
 
-            EventReceivedEventArgs e = new EventReceivedEventArgs();
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
 
-            if (imfManager != null)
-            {
-                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager;
-            }
-            if (imfEventData != null)
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            /// <summary>
+            /// The default constructor.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfCallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
             {
-                e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
 
-            if (_eventReceivedEventHandler != null)
+            /// <summary>
+            /// The constructor.
+            /// </summary>
+            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
+            /// <param name="aCursorPosition">The new position of the cursor.</param>
+            /// <param name="aCurrentText">The current text string.</param>
+            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfCallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
             {
-                imfCallbackData = _eventReceivedEventHandler(this, e);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            if (imfCallbackData != null)
+
+            internal ImfCallbackData(IntPtr cPtr, bool cMemoryOwn)
             {
-                return imfCallbackData.GetImfCallbackDataPtr();
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             }
-            else
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~ImfCallbackData()
             {
-                return new ImfCallbackData().GetImfCallbackDataPtr();
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
             }
-        }
-
-        internal KeyboardEventSignalType EventReceivedSignal()
-        {
-            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// ImfManager status changed event arguments.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class StatusChangedEventArgs : EventArgs
-        {
             /// <summary>
-            /// ImfManager status
+            /// The current text string.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public bool StatusChanged
+            public string CurrentText
             {
-                get;
-                set;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
-
-        private delegate void StatusChangedEventCallbackType(bool statusChanged);
-        private StatusChangedEventCallbackType _statusChangedEventCallback;
-        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
 
-        /// <summary>
-        /// ImfManager status changed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<StatusChangedEventArgs> StatusChanged
-        {
-            add
+            /// <summary>
+            /// The current text string.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public int CursorPosition
             {
-                if (_statusChangedEventHandler == null)
+                set
                 {
-                    _statusChangedEventCallback = OnStatusChanged;
-                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 }
-
-                _statusChangedEventHandler += value;
-            }
-            remove
-            {
-                _statusChangedEventHandler -= value;
-
-                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
+                get
                 {
-                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
+                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
                 }
             }
-        }
-
-        private void OnStatusChanged(bool statusChanged)
-        {
-            StatusChangedEventArgs e = new StatusChangedEventArgs();
-
-            e.StatusChanged = statusChanged;
 
-            if (_statusChangedEventHandler != null)
+            /// <summary>
+            /// If the cursor position needs to be updated.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public bool Update
             {
-                _statusChangedEventHandler(this, e);
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
-
-        internal StatusSignalType StatusChangedSignal()
-        {
-            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// ImfManager resized event.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class ResizedEventArgs : EventArgs
-        {
             /// <summary>
-            /// resized.
+            /// Flags if preedit reset is required.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public int Resized
+            public bool PreeditResetRequired
             {
-                get;
-                set;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
-
-        private delegate void ResizedEventCallbackType(int resized);
-        private ResizedEventCallbackType _resizedEventCallback;
-        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
 
-        /// <summary>
-        /// ImfManager resized.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
-        {
-            add
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
             {
-                if (_resizedEventHandler == null)
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
                 {
-                    _resizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_resizedEventCallback);
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
                 }
 
-                _resizedEventHandler += value;
-            }
-            remove
-            {
-                _resizedEventHandler -= value;
-
-                if (_resizedEventHandler == null && _resizedEventCallback != null)
+                if (isDisposeQueued)
                 {
-                    ResizedSignal().Disconnect(_resizedEventCallback);
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
                 }
             }
-        }
 
-        private void OnResized(int resized)
-        {
-            ResizedEventArgs e = new ResizedEventArgs();
-            e.Resized = resized;
+            internal IntPtr GetImfCallbackDataPtr()
+            {
+                return (IntPtr)swigCPtr;
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfCallbackData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
 
-            if (_resizedEventHandler != null)
+            internal static ImfCallbackData GetImfCallbackDataFromPtr(IntPtr cPtr)
             {
-                _resizedEventHandler(this, e);
+                ImfCallbackData ret = new ImfCallbackData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-        }
-
-        internal KeyboardResizedSignalType ResizedSignal()
-        {
-            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// ImfManager language changed event args.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class LanguageChangedEventArgs : EventArgs
-        {
             /// <summary>
-            /// language changed.
+            /// Dispose.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public int LanguageChanged
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
             {
-                get;
-                set;
-            }
-        }
-
-        private delegate void LanguageChangedEventCallbackType(int languageChanged);
-        private LanguageChangedEventCallbackType _languageChangedEventCallback;
-        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+                if (disposed)
+                {
+                    return;
+                }
 
-        /// <summary>
-        /// ImfManager language changed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
-            {
-                if (_languageChangedEventHandler == null)
+                if (type == DisposeTypes.Explicit)
                 {
-                    _languageChangedEventCallback = OnLanguageChanged;
-                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
 
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= value;
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
 
-                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
-            }
-        }
-
-        private void OnLanguageChanged(int languageChanged)
-        {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            e.LanguageChanged = languageChanged;
 
-            if (_languageChangedEventHandler != null)
-            {
-                _languageChangedEventHandler(this, e);
+                disposed = true;
             }
         }
 
-        internal LanguageChangedSignalType LanguageChangedSignal()
-        {
-            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// ImfManager keyboard type changed event arguments.
+        /// ImfManager activated event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public class KeyboardTypeChangedEventArgs : EventArgs
+        public class ActivatedEventArgs : EventArgs
         {
             /// <summary>
-            /// ImfManager keyboard type
+            /// ImfManager
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public KeyboardType KeyboardType
+            public ImfManager ImfManager
             {
                 get;
                 set;
             }
         }
 
-        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
-        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
-        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
-
         /// <summary>
-        /// ImfManager keyboard type changed.
+        /// ImfManager event received event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        public class EventReceivedEventArgs : EventArgs
         {
-            add
-            {
-                if (_keyboardTypeChangedEventHandler == null)
-                {
-                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
-                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
-                }
-
-                _keyboardTypeChangedEventHandler += value;
-            }
-            remove
+            /// <summary>
+            /// ImfManager
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ImfManager ImfManager
             {
-                _keyboardTypeChangedEventHandler -= value;
-
-                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
-                {
-                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-                }
+                get;
+                set;
             }
-        }
-
-        private void OnKeyboardTypeChanged(KeyboardType type)
-        {
-            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
-
-            e.KeyboardType = type;
 
-            if (_keyboardTypeChangedEventHandler != null)
+            /// <summary>
+            /// ImfEventData
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ImfEventData ImfEventData
             {
-                _keyboardTypeChangedEventHandler(this, e);
+                get;
+                set;
             }
         }
 
-        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
-        {
-            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// The direction of the text.
+        /// ImfManager status changed event arguments.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TextDirection
+        /// <since_tizen> 4 </since_tizen>
+        public class StatusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Left to right.
-            /// </summary>
-            LeftToRight,
-            /// <summary>
-            /// Right to left.
+            /// ImfManager status
             /// </summary>
-            RightToLeft
+            /// <since_tizen> 4 </since_tizen>
+            public bool StatusChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Events that are generated by the IMF.
+        /// ImfManager resized event.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum ImfEvent
+        /// <since_tizen> 4 </since_tizen>
+        public class ResizedEventArgs : EventArgs
         {
             /// <summary>
-            /// No event.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Void,
-            /// <summary>
-            /// Pre-Edit changed.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Preedit,
-            /// <summary>
-            /// Commit received.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Commit,
-            /// <summary>
-            /// An event to delete a range of characters from the string.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            DeleteSurrounding,
-            /// <summary>
-            /// An event to query string and the cursor position.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            GetSurrounding,
-            /// <summary>
-            /// Private command sent from the input panel.
+            /// resized.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            PrivateCommand
+            public int Resized
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the state of the input panel.
+        /// ImfManager language changed event args.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum State
+        /// <since_tizen> 4 </since_tizen>
+        public class LanguageChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Unknown state.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Default = 0,
-            /// <summary>
-            /// Input panel is shown.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Show,
-            /// <summary>
-            /// Input panel is hidden.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Hide,
-            /// <summary>
-            /// Input panel in process of being shown.
+            /// language changed.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            WillShow
+            public int LanguageChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the types of keyboard.
+        /// ImfManager keyboard type changed event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public enum KeyboardType
+        public class KeyboardTypeChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Software keyboard (virtual keyboard) is default.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            SoftwareKeyboard,
-            /// <summary>
-            /// Hardware keyboard.
+            /// ImfManager keyboard type
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            HardwareKeyboard
+            public KeyboardType KeyboardType
+            {
+                get;
+                set;
+            }
         }
     }
 }
index 499b73c..f376c65 100755 (executable)
@@ -36,140 +36,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets or sets the panel layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PanelLayoutType PanelLayout
-        {
-            get
-            {
-                return _panelLayout ?? PanelLayoutType.Normal;
-            }
-            set
-            {
-                _panelLayout = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the action button.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ActionButtonTitleType ActionButton
-        {
-            get
-            {
-                return _actionButton ?? ActionButtonTitleType.Default;
-            }
-            set
-            {
-                _actionButton = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the auto capital.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public AutoCapitalType AutoCapital
-        {
-            get
-            {
-                return _autoCapital ?? AutoCapitalType.None;
-            }
-            set
-            {
-                _autoCapital = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Variation
-        {
-            get
-            {
-                return _variation ?? 0;
-            }
-            set
-            {
-                _variation = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation for normal layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public NormalLayoutType NormalVariation
-        {
-            get
-            {
-                return (NormalLayoutType) (_variation ?? 0);
-            }
-            set
-            {
-                _variation = (int)value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation for the number only layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public NumberOnlyLayoutType NumberOnlyVariation
-        {
-            get
-            {
-                return (NumberOnlyLayoutType) (_variation ?? 0);
-            }
-            set
-            {
-                _variation = (int)value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation for the password layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PasswordLayoutType PasswordVariation
-        {
-            get
-            {
-                return (PasswordLayoutType) (_variation ?? 0);
-            }
-            set
-            {
-                _variation = (int)value;
-            }
-        }
-
-        private PropertyMap ComposingInputMethodMap()
-        {
-            PropertyMap _outputMap = new PropertyMap();
-            if (_panelLayout != null) { _outputMap.Add("PANEL_LAYOUT", new PropertyValue((int)_panelLayout)); }
-            if (_actionButton != null) { _outputMap.Add("BUTTON_ACTION", new PropertyValue((int)_actionButton)); }
-            if (_autoCapital != null) { _outputMap.Add("AUTO_CAPITALIZE", new PropertyValue((int)_autoCapital)); }
-            if (_variation != null) { _outputMap.Add("VARIATION", new PropertyValue((int)_variation)); }
-            return _outputMap;
-        }
-
-        /// <summary>
-        /// Gets the input method map.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap OutputMap
-        {
-            get
-            {
-                return ComposingInputMethodMap();
-            }
-        }
-
-        /// <summary>
         /// SetType that can be changed in the system input method.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -393,5 +259,138 @@ namespace Tizen.NUI
             WithNumberOnly
         }
 
+        /// <summary>
+        /// Gets or sets the panel layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PanelLayoutType PanelLayout
+        {
+            get
+            {
+                return _panelLayout ?? PanelLayoutType.Normal;
+            }
+            set
+            {
+                _panelLayout = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the action button.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ActionButtonTitleType ActionButton
+        {
+            get
+            {
+                return _actionButton ?? ActionButtonTitleType.Default;
+            }
+            set
+            {
+                _actionButton = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the auto capital.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public AutoCapitalType AutoCapital
+        {
+            get
+            {
+                return _autoCapital ?? AutoCapitalType.None;
+            }
+            set
+            {
+                _autoCapital = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Variation
+        {
+            get
+            {
+                return _variation ?? 0;
+            }
+            set
+            {
+                _variation = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation for normal layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public NormalLayoutType NormalVariation
+        {
+            get
+            {
+                return (NormalLayoutType) (_variation ?? 0);
+            }
+            set
+            {
+                _variation = (int)value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation for the number only layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public NumberOnlyLayoutType NumberOnlyVariation
+        {
+            get
+            {
+                return (NumberOnlyLayoutType) (_variation ?? 0);
+            }
+            set
+            {
+                _variation = (int)value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation for the password layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PasswordLayoutType PasswordVariation
+        {
+            get
+            {
+                return (PasswordLayoutType) (_variation ?? 0);
+            }
+            set
+            {
+                _variation = (int)value;
+            }
+        }
+
+        /// <summary>
+        /// Gets the input method map.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap OutputMap
+        {
+            get
+            {
+                return ComposingInputMethodMap();
+            }
+        }
+
+        private PropertyMap ComposingInputMethodMap()
+        {
+            PropertyMap _outputMap = new PropertyMap();
+            if (_panelLayout != null) { _outputMap.Add("PANEL_LAYOUT", new PropertyValue((int)_panelLayout)); }
+            if (_actionButton != null) { _outputMap.Add("BUTTON_ACTION", new PropertyValue((int)_actionButton)); }
+            if (_autoCapital != null) { _outputMap.Add("AUTO_CAPITALIZE", new PropertyValue((int)_autoCapital)); }
+            if (_variation != null) { _outputMap.Add("VARIATION", new PropertyValue((int)_variation)); }
+            return _outputMap;
+        }
     }
 }
\ No newline at end of file
index 89e6ec0..368231a 100755 (executable)
@@ -29,487 +29,320 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal InputMethodContext(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
+        private ActivatedEventCallbackType _activatedEventCallback;
+        private EventReceivedEventCallbackType _eventReceivedEventCallback;
+        private StatusChangedEventCallbackType _statusChangedEventCallback;
+        private ResizedEventCallbackType _resizedEventCallback;
+        private LanguageChangedEventCallbackType _languageChangedEventCallback;
+        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
+
+        /// <summary>
+        /// Constructor.<br/>
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public InputMethodContext() : this(NDalicManualPINVOKE.InputMethodContext_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputMethodContext obj)
+        internal InputMethodContext(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ActivatedEventCallbackType(IntPtr data);
+        private delegate IntPtr EventReceivedEventCallbackType(IntPtr inputMethodContext, IntPtr eventData);
+        private delegate void StatusChangedEventCallbackType(bool statusChanged);
+        private delegate void ResizedEventCallbackType(int resized);
+        private delegate void LanguageChangedEventCallbackType(int languageChanged);
+        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
+
+        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
+        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> _eventReceivedEventHandler;
+        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
+        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
+        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
 
         /// <summary>
-        /// Dispose
+        /// InputMethodContext activated.
         /// </summary>
-        /// <param name="type">Dispose Type</param>
         /// <since_tizen> 5 </since_tizen>
-        /// Please DO NOT use! This will be deprecated!
-        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, InputMethodContext, TtsPlayer, Window) is not required.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public event EventHandler<ActivatedEventArgs> Activated
         {
-            if (disposed)
+            add
             {
-                return;
-            }
+                if (_activatedEventHandler == null)
+                {
+                    _activatedEventCallback = OnActivated;
+                    ActivatedSignal().Connect(_activatedEventCallback);
+                }
 
-            if (type == DisposeTypes.Explicit)
+                _activatedEventHandler += value;
+            }
+            remove
             {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                _activatedEventHandler -= value;
 
+                if (_activatedEventHandler == null && _activatedEventCallback != null)
+                {
+                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                }
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //Because the execution order of Finalizes is non-deterministic.
-
-            if (_keyboardTypeChangedEventCallback != null)
+        /// <summary>
+        /// InputMethodContext event received.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> EventReceived
+        {
+            add
             {
-                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-            }
+                if (_eventReceivedEventHandler == null)
+                {
+                    _eventReceivedEventCallback = OnEventReceived;
+                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                _eventReceivedEventHandler += value;
+            }
+            remove
             {
-                if (swigCMemOwn)
+                _eventReceivedEventHandler -= value;
+
+                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
                 {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// This structure is used to pass on data from the IMF regarding predictive text.
+        /// InputMethodContext status changed.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class EventData : global::System.IDisposable
+        public event EventHandler<StatusChangedEventArgs> StatusChanged
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal EventData(IntPtr cPtr, bool cMemoryOwn)
+            add
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
+                if (_statusChangedEventHandler == null)
+                {
+                    _statusChangedEventCallback = OnStatusChanged;
+                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EventData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+                _statusChangedEventHandler += value;
             }
-
-            //A flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-            /// <summary>
-            /// A flag to check if it is already disposed.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool disposed = false;
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            ~EventData()
+            remove
             {
-                if (!isDisposeQueued)
+                _statusChangedEventHandler -= value;
+
+                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
                 {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
+                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public void Dispose()
+        /// <summary>
+        /// InputMethodContext resized.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<ResizedEventArgs> Resized
+        {
+            add
             {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
+                if (_resizedEventHandler == null)
                 {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                    _resizedEventCallback = OnResized;
+                    ResizedSignal().Connect(_resizedEventCallback);
                 }
 
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+
+                if (_resizedEventHandler == null && _resizedEventCallback != null)
                 {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
+                    ResizedSignal().Disconnect(_resizedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// InputMethodContext language changed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
             {
-                if (disposed)
+                if (_languageChangedEventHandler == null)
                 {
-                    return;
+                    _languageChangedEventCallback = OnLanguageChanged;
+                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
                 }
 
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
 
+                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                {
+                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
                 }
+            }
+        }
 
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
+        /// <summary>
+        /// InputMethodContext keyboard type changed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        {
+            add
+            {
+                if (_keyboardTypeChangedEventHandler == null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
+                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
                 }
 
-                disposed = true;
+                _keyboardTypeChangedEventHandler += value;
             }
-
-            internal static EventData GetEventDataFromPtr(IntPtr cPtr)
+            remove
             {
-                EventData ret = new EventData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _keyboardTypeChangedEventHandler -= value;
+
+                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
+                {
+                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+                }
             }
+        }
 
+        /// <summary>
+        /// The direction of the text.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public enum TextDirection
+        {
             /// <summary>
-            /// The default constructor.
+            /// Left to right.
             /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public EventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The constructor.
-            /// </summary>
-            /// <param name="aEventName">The name of the event from the IMF.</param>
-            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
-            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
-            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
-            /// <since_tizen> 5 </since_tizen>
-            public EventData(InputMethodContext.EventType aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The pre-edit or the commit string.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public string PredictiveString
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The name of the event from the IMF.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext.EventType EventName
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    InputMethodContext.EventType ret = (InputMethodContext.EventType)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The start position from the current cursor position to start deleting characters.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public int CursorOffset
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            LeftToRight,
             /// <summary>
-            /// The number of characters to delete from the cursorOffset.
+            /// Right to left.
             /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public int NumberOfChars
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
+            RightToLeft
         }
 
         /// <summary>
-        /// Data required by the IMF from the callback.
+        /// Events that are generated by the IMF.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class CallbackData : global::System.IDisposable
+        public enum EventType
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// swigCMemOwn
+            /// No event.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal IntPtr GetCallbackDataPtr()
-            {
-                return (IntPtr)swigCPtr;
-            }
-
-            internal CallbackData(IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CallbackData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
+            Void,
             /// <summary>
-            /// A Flag to check if it is already disposed.
+            /// Pre-edit changed.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            protected bool disposed = false;
-
-
+            Preedit,
             /// <summary>
-            /// Dispose.
+            /// Commit received.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            ~CallbackData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
+            Commit,
             /// <summary>
-            /// The dispose pattern.
+            /// An event to delete a range of characters from the string.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
+            DeleteSurrounding,
             /// <summary>
-            /// Dispose.
+            /// An event to query string and the cursor position.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //Because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
-                }
-
-                disposed = true;
-            }
-
-            internal static CallbackData GetCallbackDataFromPtr(IntPtr cPtr)
-            {
-                CallbackData ret = new CallbackData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-
+            GetSurrounding,
             /// <summary>
-            /// The default constructor.
+            /// Private command sent from the input panel.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public CallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
+            PrivateCommand
+        }
 
+        /// <summary>
+        /// Enumeration for the state of the input panel.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public enum State
+        {
             /// <summary>
-            /// The constructor.
+            /// Unknown state.
             /// </summary>
-            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
-            /// <param name="aCursorPosition">The new position of the cursor.</param>
-            /// <param name="aCurrentText">The current text string.</param>
-            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
             /// <since_tizen> 5 </since_tizen>
-            public CallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
+            Default = 0,
             /// <summary>
-            /// The current text string.
+            /// Input panel is shown.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public string CurrentText
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            Show,
             /// <summary>
-            /// The current cursor position.
+            /// Input panel is hidden.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int CursorPosition
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
+            Hide,
             /// <summary>
-            /// If the cursor position needs to be updated.
+            /// Input panel in process of being shown.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public bool Update
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
+            WillShow
+        }
 
+        /// <summary>
+        /// Enumeration for the types of keyboard.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public enum KeyboardType
+        {
             /// <summary>
-            /// Flags if the pre-edit reset is required.
+            /// Software keyboard (virtual keyboard) is default.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public bool PreeditResetRequired
+            SoftwareKeyboard,
+            /// <summary>
+            /// Hardware keyboard.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            HardwareKeyboard
+        }
+
+        /// <summary>
+        /// Gets or sets whether the IM context allows to use the text prediction.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool TextPrediction
+        {
+            get
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                return IsTextPredictionAllowed();
+            }
+            set
+            {
+                AllowTextPrediction(value);
             }
-
         }
 
         /// <summary>
@@ -523,31 +356,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Constructor.<br/>
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public InputMethodContext () : this (NDalicManualPINVOKE.InputMethodContext_New(), true) {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal InputMethodContext(InputMethodContext inputMethodContext) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(InputMethodContext.getCPtr(inputMethodContext)), true) {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal InputMethodContext Assign(InputMethodContext inputMethodContext) {
-            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, InputMethodContext.getCPtr(inputMethodContext)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static InputMethodContext DownCast(BaseHandle handle) {
-            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
         /// Activates the IMF.<br/>
         /// It means that the text editing has started.<br/>
         /// If the hardware keyboard is not connected, then it shows the virtual keyboard.
@@ -699,12 +507,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void ApplyOptions(InputMethodOptions options)
-        {
-            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// Sets up the input panel specific data.
         /// </summary>
@@ -808,565 +610,765 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputMethodContext obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal InputMethodContext(InputMethodContext inputMethodContext) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(InputMethodContext.getCPtr(inputMethodContext)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal InputMethodContext Assign(InputMethodContext inputMethodContext)
+        {
+            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, InputMethodContext.getCPtr(inputMethodContext)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static InputMethodContext DownCast(BaseHandle handle)
+        {
+            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal void ApplyOptions(InputMethodOptions options)
+        {
+            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal void AllowTextPrediction(bool prediction)
         {
             NDalicManualPINVOKE.InputMethodContext_AllowTextPrediction(swigCPtr, prediction);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal bool IsTextPredictionAllowed()
+        internal bool IsTextPredictionAllowed()
+        {
+            bool ret = NDalicManualPINVOKE.InputMethodContext_IsTextPredictionAllowed(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ActivatedSignalType ActivatedSignal()
+        {
+            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyboardEventSignalType EventReceivedSignal()
+        {
+            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal StatusSignalType StatusChangedSignal()
+        {
+            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyboardResizedSignalType ResizedSignal()
+        {
+            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal LanguageChangedSignalType LanguageChangedSignal()
+        {
+            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
+        {
+            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose
+        /// </summary>
+        /// <param name="type">Dispose Type</param>
+        /// <since_tizen> 5 </since_tizen>
+        /// Please DO NOT use! This will be deprecated!
+        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, InputMethodContext, TtsPlayer, Window) is not required.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User.
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //Because the execution order of Finalizes is non-deterministic.
+
+            if (_keyboardTypeChangedEventCallback != null)
+            {
+                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnActivated(IntPtr data)
+        {
+            ActivatedEventArgs e = new ActivatedEventArgs();
+
+            if (data != null)
+            {
+                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(data) as InputMethodContext;
+            }
+
+            if (_activatedEventHandler != null)
+            {
+                _activatedEventHandler(this, e);
+            }
+        }
+
+        private IntPtr OnEventReceived(IntPtr inputMethodContext, IntPtr eventData)
+        {
+            CallbackData callbackData = null;
+
+            EventReceivedEventArgs e = new EventReceivedEventArgs();
+
+            if (inputMethodContext != null)
+            {
+                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(inputMethodContext) as InputMethodContext;
+            }
+            if (eventData != null)
+            {
+                e.EventData = EventData.GetEventDataFromPtr(eventData);
+            }
+
+            if (_eventReceivedEventHandler != null)
+            {
+                callbackData = _eventReceivedEventHandler(this, e);
+            }
+            if (callbackData != null)
+            {
+                return callbackData.GetCallbackDataPtr();
+            }
+            else
+            {
+                return new CallbackData().GetCallbackDataPtr();
+            }
+        }
+
+        private void OnStatusChanged(bool statusChanged)
+        {
+            StatusChangedEventArgs e = new StatusChangedEventArgs();
+
+            e.StatusChanged = statusChanged;
+
+            if (_statusChangedEventHandler != null)
+            {
+                _statusChangedEventHandler(this, e);
+            }
+        }
+
+        private void OnResized(int resized)
+        {
+            ResizedEventArgs e = new ResizedEventArgs();
+            e.Resized = resized;
+
+            if (_resizedEventHandler != null)
+            {
+                _resizedEventHandler(this, e);
+            }
+        }
+
+        private void OnLanguageChanged(int languageChanged)
         {
-            bool ret = NDalicManualPINVOKE.InputMethodContext_IsTextPredictionAllowed(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            e.LanguageChanged = languageChanged;
 
-        /// <summary>
-        /// Gets or sets whether the IM context allows to use the text prediction.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool TextPrediction
-        {
-            get
+            if (_languageChangedEventHandler != null)
             {
-                return IsTextPredictionAllowed();
+                _languageChangedEventHandler(this, e);
             }
-            set
+        }
+
+        private void OnKeyboardTypeChanged(KeyboardType type)
+        {
+            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
+
+            e.KeyboardType = type;
+
+            if (_keyboardTypeChangedEventHandler != null)
             {
-                AllowTextPrediction(value);
+                _keyboardTypeChangedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// InputMethodContext activated event arguments.
+        /// This structure is used to pass on data from the IMF regarding predictive text.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class ActivatedEventArgs : EventArgs
+        public class EventData : global::System.IDisposable
         {
             /// <summary>
-            /// InputMethodContext
+            /// swigCMemOwn
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext InputMethodContext
+            protected bool swigCMemOwn;
+
+            /// <summary>
+            /// A flag to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool disposed = false;
+
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+            //A flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            /// <summary>
+            /// The default constructor.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public EventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
             {
-                get;
-                set;
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ActivatedEventCallbackType(IntPtr data);
-        private ActivatedEventCallbackType _activatedEventCallback;
-        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
+            /// <summary>
+            /// The constructor.
+            /// </summary>
+            /// <param name="aEventName">The name of the event from the IMF.</param>
+            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
+            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
+            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
+            /// <since_tizen> 5 </since_tizen>
+            public EventData(InputMethodContext.EventType aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
 
-        /// <summary>
-        /// InputMethodContext activated.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<ActivatedEventArgs> Activated
-        {
-            add
+            internal EventData(IntPtr cPtr, bool cMemoryOwn)
             {
-                if (_activatedEventHandler == null)
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            ~EventData()
+            {
+                if (!isDisposeQueued)
                 {
-                    _activatedEventCallback = OnActivated;
-                    ActivatedSignal().Connect(_activatedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
-
-                _activatedEventHandler += value;
             }
-            remove
-            {
-                _activatedEventHandler -= value;
 
-                if (_activatedEventHandler == null && _activatedEventCallback != null)
+            /// <summary>
+            /// The pre-edit or the commit string.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public string PredictiveString
+            {
+                set
                 {
-                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
                 }
             }
-        }
-
-        private void OnActivated(IntPtr data)
-        {
-            ActivatedEventArgs e = new ActivatedEventArgs();
 
-            if (data != null)
+            /// <summary>
+            /// The name of the event from the IMF.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public InputMethodContext.EventType EventName
             {
-                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(data) as InputMethodContext;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    InputMethodContext.EventType ret = (InputMethodContext.EventType)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
 
-            if (_activatedEventHandler != null)
+            /// <summary>
+            /// The start position from the current cursor position to start deleting characters.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public int CursorOffset
             {
-                _activatedEventHandler(this, e);
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
-
-        internal ActivatedSignalType ActivatedSignal()
-        {
-            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// InputMethodContext event receives event arguments.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class EventReceivedEventArgs : EventArgs
-        {
             /// <summary>
-            /// InputMethodContext
+            /// The number of characters to delete from the cursorOffset.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext InputMethodContext
+            public int NumberOfChars
             {
-                get;
-                set;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
 
             /// <summary>
-            /// EventData.
+            /// The dispose pattern.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public EventData EventData
+            public void Dispose()
             {
-                get;
-                set;
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
             }
-        }
 
-        private delegate IntPtr EventReceivedEventCallbackType(IntPtr inputMethodContext, IntPtr eventData);
-        private EventReceivedEventCallbackType _eventReceivedEventCallback;
-        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> _eventReceivedEventHandler;
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EventData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
 
-        /// <summary>
-        /// InputMethodContext event received.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> EventReceived
-        {
-            add
+            internal static EventData GetEventDataFromPtr(IntPtr cPtr)
             {
-                if (_eventReceivedEventHandler == null)
+                EventData ret = new EventData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
                 {
-                    _eventReceivedEventCallback = OnEventReceived;
-                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
 
-                _eventReceivedEventHandler += value;
-            }
-            remove
-            {
-                _eventReceivedEventHandler -= value;
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
 
-                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
+
+                disposed = true;
             }
         }
 
-        private IntPtr OnEventReceived(IntPtr inputMethodContext, IntPtr eventData)
+        /// <summary>
+        /// Data required by the IMF from the callback.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class CallbackData : global::System.IDisposable
         {
-            CallbackData callbackData = null;
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool swigCMemOwn;
 
-            EventReceivedEventArgs e = new EventReceivedEventArgs();
+            /// <summary>
+            /// A Flag to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool disposed = false;
 
-            if (inputMethodContext != null)
-            {
-                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(inputMethodContext) as InputMethodContext;
-            }
-            if (eventData != null)
-            {
-                e.EventData = EventData.GetEventDataFromPtr(eventData);
-            }
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-            if (_eventReceivedEventHandler != null)
-            {
-                callbackData = _eventReceivedEventHandler(this, e);
-            }
-            if (callbackData != null)
-            {
-                return callbackData.GetCallbackDataPtr();
-            }
-            else
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            /// <summary>
+            /// The default constructor.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public CallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
             {
-                return new CallbackData().GetCallbackDataPtr();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
-
-        internal KeyboardEventSignalType EventReceivedSignal()
-        {
-            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// InputMethodContext status changed event arguments.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class StatusChangedEventArgs : EventArgs
-        {
             /// <summary>
-            /// InputMethodContext status.
+            /// The constructor.
             /// </summary>
+            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
+            /// <param name="aCursorPosition">The new position of the cursor.</param>
+            /// <param name="aCurrentText">The current text string.</param>
+            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
             /// <since_tizen> 5 </since_tizen>
-            public bool StatusChanged
+            public CallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
             {
-                get;
-                set;
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
-
-        private delegate void StatusChangedEventCallbackType(bool statusChanged);
-        private StatusChangedEventCallbackType _statusChangedEventCallback;
-        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
 
-        /// <summary>
-        /// InputMethodContext status changed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<StatusChangedEventArgs> StatusChanged
-        {
-            add
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            ~CallbackData()
             {
-                if (_statusChangedEventHandler == null)
+                if (!isDisposeQueued)
                 {
-                    _statusChangedEventCallback = OnStatusChanged;
-                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
-
-                _statusChangedEventHandler += value;
             }
-            remove
-            {
-                _statusChangedEventHandler -= value;
 
-                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
+            /// <summary>
+            /// The current text string.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public string CurrentText
+            {
+                set
                 {
-                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
                 }
             }
-        }
-
-        private void OnStatusChanged(bool statusChanged)
-        {
-            StatusChangedEventArgs e = new StatusChangedEventArgs();
-
-            e.StatusChanged = statusChanged;
 
-            if (_statusChangedEventHandler != null)
+            /// <summary>
+            /// The current cursor position.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public int CursorPosition
             {
-                _statusChangedEventHandler(this, e);
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
-
-        internal StatusSignalType StatusChangedSignal()
-        {
-            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// InputMethodContext resized event arguments.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class ResizedEventArgs : EventArgs
-        {
             /// <summary>
-            /// resized.
+            /// If the cursor position needs to be updated.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int Resized
+            public bool Update
             {
-                get;
-                set;
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
-
-        private delegate void ResizedEventCallbackType(int resized);
-        private ResizedEventCallbackType _resizedEventCallback;
-        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
 
-        /// <summary>
-        /// InputMethodContext resized.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
-        {
-            add
+            /// <summary>
+            /// Flags if the pre-edit reset is required.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public bool PreeditResetRequired
             {
-                if (_resizedEventHandler == null)
+                set
                 {
-                    _resizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_resizedEventCallback);
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
                 }
-
-                _resizedEventHandler += value;
             }
-            remove
+
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public void Dispose()
             {
-                _resizedEventHandler -= value;
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
 
-                if (_resizedEventHandler == null && _resizedEventCallback != null)
+                if (isDisposeQueued)
                 {
-                    ResizedSignal().Disconnect(_resizedEventCallback);
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
                 }
             }
-        }
 
-        private void OnResized(int resized)
-        {
-            ResizedEventArgs e = new ResizedEventArgs();
-            e.Resized = resized;
+            internal IntPtr GetCallbackDataPtr()
+            {
+                return (IntPtr)swigCPtr;
+            }
+
+            internal CallbackData(IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
 
-            if (_resizedEventHandler != null)
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CallbackData obj)
             {
-                _resizedEventHandler(this, e);
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
             }
-        }
 
-        internal KeyboardResizedSignalType ResizedSignal()
-        {
-            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            internal static CallbackData GetCallbackDataFromPtr(IntPtr cPtr)
+            {
+                CallbackData ret = new CallbackData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
 
-        /// <summary>
-        /// InputMethodContext language changed event arguments.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class LanguageChangedEventArgs : EventArgs
-        {
             /// <summary>
-            /// Language changed.
+            /// Dispose.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int LanguageChanged
+            protected virtual void Dispose(DisposeTypes type)
             {
-                get;
-                set;
-            }
-        }
-
-        private delegate void LanguageChangedEventCallbackType(int languageChanged);
-        private LanguageChangedEventCallbackType _languageChangedEventCallback;
-        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+                if (disposed)
+                {
+                    return;
+                }
 
-        /// <summary>
-        /// InputMethodContext language changed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
-            {
-                if (_languageChangedEventHandler == null)
+                if (type == DisposeTypes.Explicit)
                 {
-                    _languageChangedEventCallback = OnLanguageChanged;
-                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
 
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= value;
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //Because the execution order of Finalizes is non-deterministic.
 
-                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
-            }
-        }
-
-        private void OnLanguageChanged(int languageChanged)
-        {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            e.LanguageChanged = languageChanged;
 
-            if (_languageChangedEventHandler != null)
-            {
-                _languageChangedEventHandler(this, e);
+                disposed = true;
             }
         }
 
-        internal LanguageChangedSignalType LanguageChangedSignal()
-        {
-            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// InputMethodContext keyboard type changed event arguments.
+        /// InputMethodContext activated event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class KeyboardTypeChangedEventArgs : EventArgs
+        public class ActivatedEventArgs : EventArgs
         {
             /// <summary>
-            /// InputMethodContext keyboard type.
+            /// InputMethodContext
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public KeyboardType KeyboardType
+            public InputMethodContext InputMethodContext
             {
                 get;
                 set;
             }
         }
 
-        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
-        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
-        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
-
         /// <summary>
-        /// InputMethodContext keyboard type changed.
+        /// InputMethodContext event receives event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        public class EventReceivedEventArgs : EventArgs
         {
-            add
-            {
-                if (_keyboardTypeChangedEventHandler == null)
-                {
-                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
-                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
-                }
-
-                _keyboardTypeChangedEventHandler += value;
-            }
-            remove
+            /// <summary>
+            /// InputMethodContext
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public InputMethodContext InputMethodContext
             {
-                _keyboardTypeChangedEventHandler -= value;
-
-                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
-                {
-                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-                }
+                get;
+                set;
             }
-        }
 
-        private void OnKeyboardTypeChanged(KeyboardType type)
-        {
-            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
-
-            e.KeyboardType = type;
-
-            if (_keyboardTypeChangedEventHandler != null)
+            /// <summary>
+            /// EventData.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public EventData EventData
             {
-                _keyboardTypeChangedEventHandler(this, e);
+                get;
+                set;
             }
         }
 
-        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
-        {
-            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// The direction of the text.
+        /// InputMethodContext status changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum TextDirection
+        public class StatusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Left to right.
-            /// </summary>
-            LeftToRight,
-            /// <summary>
-            /// Right to left.
+            /// InputMethodContext status.
             /// </summary>
-            RightToLeft
+            /// <since_tizen> 5 </since_tizen>
+            public bool StatusChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Events that are generated by the IMF.
+        /// InputMethodContext resized event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum EventType
+        public class ResizedEventArgs : EventArgs
         {
             /// <summary>
-            /// No event.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Void,
-            /// <summary>
-            /// Pre-edit changed.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Preedit,
-            /// <summary>
-            /// Commit received.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Commit,
-            /// <summary>
-            /// An event to delete a range of characters from the string.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            DeleteSurrounding,
-            /// <summary>
-            /// An event to query string and the cursor position.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            GetSurrounding,
-            /// <summary>
-            /// Private command sent from the input panel.
+            /// resized.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            PrivateCommand
+            public int Resized
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the state of the input panel.
+        /// InputMethodContext language changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum State
+        public class LanguageChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Unknown state.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Default = 0,
-            /// <summary>
-            /// Input panel is shown.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Show,
-            /// <summary>
-            /// Input panel is hidden.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            Hide,
-            /// <summary>
-            /// Input panel in process of being shown.
+            /// Language changed.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            WillShow
+            public int LanguageChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the types of keyboard.
+        /// InputMethodContext keyboard type changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum KeyboardType
+        public class KeyboardTypeChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Software keyboard (virtual keyboard) is default.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            SoftwareKeyboard,
-            /// <summary>
-            /// Hardware keyboard.
+            /// InputMethodContext keyboard type.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            HardwareKeyboard
+            public KeyboardType KeyboardType
+            {
+                get;
+                set;
+            }
         }
     }
 }
index de26fd4..b41a662 100755 (executable)
@@ -24,109 +24,86 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Key : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Key(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
-        /// Dispose.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Key()
+        public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        /// <param name="keyName">The name of the key pressed or command from the IMF, if later, then the following parameters will be needed.</param>
+        /// <param name="keyString">A string of input characters or key pressed.</param>
+        /// <param name="keyCode">The unique key code for the key pressed.</param>
+        /// <param name="keyModifier">The key modifier for special keys like Shift and Alt.</param>
+        /// <param name="timeStamp">The time (in ms) that the key event occurred.</param>
+        /// <param name="keyState">The state of the key event.</param>
+        internal Key(string keyName, string keyString, int keyCode, int keyModifier, uint timeStamp, Key.StateType keyState) : this(NDalicPINVOKE.new_Key__SWIG_1(keyName, keyString, keyCode, keyModifier, timeStamp, (int)keyState), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        internal Key(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
-        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~Key()
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            if (!isDisposeQueued)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Key(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            disposed = true;
         }
 
-
-        internal static Key GetKeyFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Enumeration for specifying the state of the key event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum StateType
         {
-            Key ret = new Key(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Key Down.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Down,
+            /// <summary>
+            /// Key Up.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Up,
+            /// <summary>
+            /// Key Last.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Last
         }
 
         /// <summary>
@@ -261,65 +238,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The default constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="keyName">The name of the key pressed or command from the IMF, if later, then the following parameters will be needed.</param>
-        /// <param name="keyString">A string of input characters or key pressed.</param>
-        /// <param name="keyCode">The unique key code for the key pressed.</param>
-        /// <param name="keyModifier">The key modifier for special keys like Shift and Alt.</param>
-        /// <param name="timeStamp">The time (in ms) that the key event occurred.</param>
-        /// <param name="keyState">The state of the key event.</param>
-        internal Key(string keyName, string keyString, int keyCode, int keyModifier, uint timeStamp, Key.StateType keyState) : this(NDalicPINVOKE.new_Key__SWIG_1(keyName, keyString, keyCode, keyModifier, timeStamp, (int)keyState), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Checks to see if the Shift key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Shift modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsShiftModifier()
-        {
-            bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Ctrl (control) key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Ctrl modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsCtrlModifier()
-        {
-            bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Alt key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Alt modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsAltModifier()
-        {
-            bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         private string keyPressedName
         {
             set
@@ -411,27 +329,109 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for specifying the state of the key event.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum StateType
+        public void Dispose()
         {
-            /// <summary>
-            /// Key Down.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Down,
-            /// <summary>
-            /// Key Up.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Up,
-            /// <summary>
-            /// Key Last.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Last
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Checks to see if the Shift key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Shift modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsShiftModifier()
+        {
+            bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Ctrl (control) key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Ctrl modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsCtrlModifier()
+        {
+            bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Alt key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Alt modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsAltModifier()
+        {
+            bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static Key GetKeyFromPtr(global::System.IntPtr cPtr)
+        {
+            Key ret = new Key(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type.</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Key(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
     }
 }
\ No newline at end of file
index de74b50..664e91b 100755 (executable)
@@ -30,52 +30,20 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyFrames obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized KeyFrames handle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public KeyFrames() : this(NDalicPINVOKE.KeyFrames_New(), true)
         {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_KeyFrames(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
-
+        internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Adds a key frame.
@@ -103,16 +71,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates an initialized KeyFrames handle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public KeyFrames() : this(NDalicPINVOKE.KeyFrames_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
         /// Gets the type of the key frame.
         /// </summary>
         /// <returns>The key frame property type</returns>
@@ -149,6 +107,44 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-    }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyFrames obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
 
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_KeyFrames(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+    }
 }
\ No newline at end of file
index 62c0152..df7a7ef 100755 (executable)
@@ -32,6 +32,20 @@ namespace Tizen.NUI
         private global::System.IntPtr rootLayoutIntPtr;
         private global::System.Runtime.InteropServices.HandleRef rootLayoutCPtr;
 
+        /// <summary>
+        /// Creates a Layer object.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Layer() : this(NDalicPINVOKE.Layer_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (Window.Instance != null)
+            {
+                this.SetAnchorPoint(Tizen.NUI.PivotPoint.TopLeft);
+                this.SetResizePolicy(ResizePolicyType.FillToParent, DimensionType.AllDimensions);
+            }
+        }
+
         internal Layer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Layer_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
@@ -44,9 +58,200 @@ namespace Tizen.NUI
             NDalicPINVOKE.Actor_Add( swigCPtr, rootLayoutCPtr );
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
+        /// <summary>
+        /// Enumeration for the behavior of the layer.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum LayerBehavior
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            /// <summary>
+            /// UI control rendering mode.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            [Obsolete("Please do not use! This will be deprecated! Please use LayerUI property instead!")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            Layer2D,
+            /// <summary>
+            /// UI control rendering mode (default mode).
+            /// This mode is designed for UI controls that can overlap. In this
+            /// mode renderer order will be respective to the tree hierarchy of
+            /// Actors.<br />
+            /// The rendering order is depth first, so for the following actor tree,
+            /// A will be drawn first, then B, D, E, then C, F.  This ensures that
+            /// overlapping actors are drawn as expected (whereas, with breadth first
+            /// traversal, the actors would interleave).<br />
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            LayerUI = Layer2D,
+            /// <summary>
+            /// Layer will use depth test.
+            /// This mode is designed for a 3 dimensional scene where actors in front
+            /// of other actors will obscure them, i.e. the actors are sorted by the
+            /// distance from the camera.<br />
+            /// When using this mode, a depth test will be used. A depth clear will
+            /// happen for each layer, which means actors in a layer "above" other
+            /// layers will be rendered in front of actors in those layers regardless
+            /// of their Z positions (see Layer::Raise() and Layer::Lower()).<br />
+            /// Opaque renderers are drawn first and write to the depth buffer.  Then
+            /// transparent renderers are drawn with depth test enabled but depth
+            /// write switched off.  Transparent renderers are drawn based on their
+            /// distance from the camera.  A renderer's DEPTH_INDEX property is used to
+            /// offset the distance to the camera when ordering transparent renderers.
+            /// This is useful if you want to define the draw order of two or more
+            /// transparent renderers that are equal distance from the camera.  Unlike
+            /// LAYER_UI, parent-child relationship does not affect rendering order at
+            /// all.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Layer3D
+        }
+
+        internal enum TreeDepthMultiplier
+        {
+            TREE_DEPTH_MULTIPLIER = 10000
+        }
+
+        /// <summary>
+        /// Layer behavior, type String (Layer.LayerBehavior).
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Layer.LayerBehavior Behavior
+        {
+            get
+            {
+                return GetBehavior();
+            }
+            set
+            {
+                SetBehavior(value);
+            }
+        }
+
+        /// <summary>
+        /// Sets the viewport (in window coordinates), type rectangle.
+        /// The contents of the layer will not be visible outside this box, when ViewportEnabled is true.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public Rectangle Viewport
+        {
+            get
+            {
+                if (ClippingEnabled)
+                {
+                    Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+                else
+                {
+                    // Clipping not enabled so return the window size
+                    Size2D windowSize = Window.Instance.Size;
+                    Rectangle ret = new Rectangle(0, 0, windowSize.Width, windowSize.Height);
+                    return ret;
+                }
+            }
+            set
+            {
+                NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                ClippingEnabled = true;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves and sets the layer's opacity.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Opacity
+        {
+            get
+            {
+                float temp = 0.0f;
+                GetProperty(View.Property.OPACITY).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Retrieves and sets the layer's visibility.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Visibility
+        {
+            get
+            {
+                bool temp = false;
+                GetProperty(View.Property.VISIBLE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Get the number of children held by the layer.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public new uint ChildCount
+        {
+            get
+            {
+                return Convert.ToUInt32(Children.Count);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the layer's name.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string Name
+        {
+            get
+            {
+                return GetName();
+            }
+            set
+            {
+                SetName(value);
+            }
+        }
+
+        /// <summary>
+        /// Queries the depth of the layer.<br />
+        /// 0 is the bottommost layer, higher number is on the top.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public uint Depth
+        {
+            get
+            {
+                return GetDepth();
+            }
+        }
+
+        /// <summary>
+        /// Internal only property to enable or disable clipping, type boolean.
+        /// By default, this is false, i.e., the viewport of the layer is the entire window.
+        /// </summary>
+        internal bool ClippingEnabled
+        {
+            get
+            {
+                bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+            set
+            {
+                NDalicPINVOKE.Layer_SetClipping(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
         }
 
         /// From the Container base class.
@@ -141,97 +346,29 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Downcasts a handle to layer handle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Layer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-
-        }
-
-
-        internal class Property
+        /// Please do not use! this will be deprecated!
+        /// Instead please use as keyword.
+        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static Layer DownCast(BaseHandle handle)
         {
-            internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
+            Layer ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Layer;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Layer object.
+        /// Search through this layer's hierarchy for a view with the given unique ID.
         /// </summary>
+        /// <pre>This layer (the parent) has been initialized.</pre>
+        /// <remarks>The actor itself is also considered in the search.</remarks>
+        /// <param name="id">The id of the child to find</param>
+        /// <returns> A handle to the view if found, or an empty handle if not. </returns>
         /// <since_tizen> 3 </since_tizen>
-        public Layer() : this(NDalicPINVOKE.Layer_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            if(Window.Instance != null)
-            {
-                this.SetAnchorPoint(Tizen.NUI.PivotPoint.TopLeft);
-                this.SetResizePolicy(ResizePolicyType.FillToParent, DimensionType.AllDimensions);
-            }
-        }
-        internal void SetAnchorPoint(Vector3 anchorPoint)
-        {
-            NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-        internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
-        {
-            NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Downcasts a handle to layer handle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use as keyword.
-        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead!")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static Layer DownCast(BaseHandle handle)
-        {
-            Layer ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as Layer;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Search through this layer's hierarchy for a view with the given unique ID.
-        /// </summary>
-        /// <pre>This layer (the parent) has been initialized.</pre>
-        /// <remarks>The actor itself is also considered in the search.</remarks>
-        /// <param name="id">The id of the child to find</param>
-        /// <returns> A handle to the view if found, or an empty handle if not. </returns>
-        /// <since_tizen> 3 </since_tizen>
-        public View FindChildById(uint id)
+        public View FindChildById(uint id)
         {
             //to fix memory leak issue, match the handle count with native side.
             IntPtr cPtr = NDalicPINVOKE.Actor_FindChildById(swigCPtr, id);
@@ -246,33 +383,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Queries the depth of the layer.<br />
-        /// 0 is the bottommost layer, higher number is on the top.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public uint Depth
-        {
-            get
-            {
-                return GetDepth();
-            }
-        }
-
-        internal uint GetDepth()
-        {
-            var parentChildren = Window.Instance.LayersChildren;
-            if(parentChildren != null)
-            {
-                int idx = parentChildren.IndexOf(this);
-                if (idx >= 0)
-                {
-                    return Convert.ToUInt32(idx); ;
-                }
-            }
-            return 0u;
-        }
-
-        /// <summary>
         /// Increments the depth of the layer.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -310,62 +420,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal void RaiseAbove(Layer target)
-        {
-            var parentChildren = Window.Instance.LayersChildren;
-            if (parentChildren != null)
-            {
-                int currentIndex = parentChildren.IndexOf(this);
-                int targetIndex = parentChildren.IndexOf(target);
-
-                if(currentIndex < 0 || targetIndex < 0 ||
-                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
-                {
-                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
-                    return;
-                }
-
-                // If the currentIndex is less than the target index and the target has the same parent.
-                if (currentIndex < targetIndex)
-                {
-                    parentChildren.Remove(this);
-                    parentChildren.Insert(targetIndex, this);
-
-                    NDalicPINVOKE.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-            }
-        }
-
-        internal void LowerBelow(Layer target)
-        {
-            var parentChildren = Window.Instance.LayersChildren;
-
-            if (parentChildren != null)
-            {
-                int currentIndex = parentChildren.IndexOf(this);
-                int targetIndex = parentChildren.IndexOf(target);
-
-                if(currentIndex < 0 || targetIndex < 0 ||
-                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
-                {
-                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
-                    return;
-                }
-
-                // If the currentIndex is not already the 0th index and the target has the same parent.
-                if ((currentIndex != 0) && (targetIndex != -1) &&
-                    (currentIndex > targetIndex))
-                {
-                    parentChildren.Remove(this);
-                    parentChildren.Insert(targetIndex, this);
-
-                    NDalicPINVOKE.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-            }
-        }
-
         /// <summary>
         /// Raises the layer to the top.
         /// </summary>
@@ -427,17 +481,92 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private void SetBehavior(LayerBehavior behavior)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
         {
-            NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        private LayerBehavior GetBehavior()
+        internal void SetAnchorPoint(Vector3 anchorPoint)
         {
-            Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
+        {
+            NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal uint GetDepth()
+        {
+            var parentChildren = Window.Instance.LayersChildren;
+            if (parentChildren != null)
+            {
+                int idx = parentChildren.IndexOf(this);
+                if (idx >= 0)
+                {
+                    return Convert.ToUInt32(idx); ;
+                }
+            }
+            return 0u;
+        }
+        internal void RaiseAbove(Layer target)
+        {
+            var parentChildren = Window.Instance.LayersChildren;
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+                int targetIndex = parentChildren.IndexOf(target);
+
+                if (currentIndex < 0 || targetIndex < 0 ||
+                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
+                {
+                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
+                    return;
+                }
+
+                // If the currentIndex is less than the target index and the target has the same parent.
+                if (currentIndex < targetIndex)
+                {
+                    parentChildren.Remove(this);
+                    parentChildren.Insert(targetIndex, this);
+
+                    NDalicPINVOKE.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+            }
+        }
+
+        internal void LowerBelow(Layer target)
+        {
+            var parentChildren = Window.Instance.LayersChildren;
+
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+                int targetIndex = parentChildren.IndexOf(target);
+
+                if (currentIndex < 0 || targetIndex < 0 ||
+                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
+                {
+                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
+                    return;
+                }
+
+                // If the currentIndex is not already the 0th index and the target has the same parent.
+                if ((currentIndex != 0) && (targetIndex != -1) &&
+                    (currentIndex > targetIndex))
+                {
+                    parentChildren.Remove(this);
+                    parentChildren.Insert(targetIndex, this);
+
+                    NDalicPINVOKE.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+            }
         }
 
         internal void SetSortFunction(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float function)
@@ -472,211 +601,83 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void AddViewToLayerList( View view )
+        internal void AddViewToLayerList(View view)
         {
             Children.Add(view);
         }
 
-        internal void RemoveViewFromLayerList( View view )
+        internal void RemoveViewFromLayerList(View view)
         {
             Children.Remove(view);
         }
 
-        /// <summary>
-        /// Enumeration for the behavior of the layer.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum LayerBehavior
+        internal string GetName()
         {
-            /// <summary>
-            /// UI control rendering mode.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Layer2D,
-            /// <summary>
-            /// UI control rendering mode (default mode).
-            /// This mode is designed for UI controls that can overlap. In this
-            /// mode renderer order will be respective to the tree hierarchy of
-            /// Actors.<br />
-            /// The rendering order is depth first, so for the following actor tree,
-            /// A will be drawn first, then B, D, E, then C, F.  This ensures that
-            /// overlapping actors are drawn as expected (whereas, with breadth first
-            /// traversal, the actors would interleave).<br />
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            LayerUI = Layer2D,
-            /// <summary>
-            /// Layer will use depth test.
-            /// This mode is designed for a 3 dimensional scene where actors in front
-            /// of other actors will obscure them, i.e. the actors are sorted by the
-            /// distance from the camera.<br />
-            /// When using this mode, a depth test will be used. A depth clear will
-            /// happen for each layer, which means actors in a layer "above" other
-            /// layers will be rendered in front of actors in those layers regardless
-            /// of their Z positions (see Layer::Raise() and Layer::Lower()).<br />
-            /// Opaque renderers are drawn first and write to the depth buffer.  Then
-            /// transparent renderers are drawn with depth test enabled but depth
-            /// write switched off.  Transparent renderers are drawn based on their
-            /// distance from the camera.  A renderer's DEPTH_INDEX property is used to
-            /// offset the distance to the camera when ordering transparent renderers.
-            /// This is useful if you want to define the draw order of two or more
-            /// transparent renderers that are equal distance from the camera.  Unlike
-            /// LAYER_UI, parent-child relationship does not affect rendering order at
-            /// all.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Layer3D
+            string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal enum TreeDepthMultiplier
+        internal void SetName(string name)
         {
-            TREE_DEPTH_MULTIPLIER = 10000
+            NDalicPINVOKE.Actor_SetName(swigCPtr, name);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Layer behavior, type String (Layer.LayerBehavior).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Layer.LayerBehavior Behavior
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-                return GetBehavior();
-            }
-            set
+            if (disposed)
             {
-                SetBehavior(value);
+                return;
             }
-        }
 
-        /// <summary>
-        /// Internal only property to enable or disable clipping, type boolean.
-        /// By default, this is false, i.e., the viewport of the layer is the entire window.
-        /// </summary>
-        internal bool ClippingEnabled
-        {
-            get
-            {
-                bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Layer_SetClipping(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        /// <summary>
-        /// Sets the viewport (in window coordinates), type rectangle.
-        /// The contents of the layer will not be visible outside this box, when ViewportEnabled is true.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Rectangle Viewport
-        {
-            get
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                if( ClippingEnabled )
-                {
-                  Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
-                  if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                  return ret;
-                }
-                else
+                if (swigCMemOwn)
                 {
-                  // Clipping not enabled so return the window size
-                  Size2D windowSize = Window.Instance.Size;
-                  Rectangle ret = new Rectangle(0, 0, windowSize.Width, windowSize.Height);
-                  return ret;
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Layer(swigCPtr);
                 }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
-            set
-            {
-                NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                ClippingEnabled = true;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves and sets the layer's opacity.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Opacity
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.OPACITY).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
-            }
-        }
 
-        /// <summary>
-        /// Retrieves and sets the layer's visibility.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Visibility
-        {
-            get
-            {
-                bool temp = false;
-                GetProperty(View.Property.VISIBLE).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
-            }
-        }
+            base.Dispose(type);
 
-        /// <summary>
-        /// Get the number of children held by the layer.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public new uint ChildCount
-        {
-            get
-            {
-                return Convert.ToUInt32(Children.Count);
-            }
         }
 
-        /// <summary>
-        /// Gets or sets the layer's name.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Name
+        private void SetBehavior(LayerBehavior behavior)
         {
-            get
-            {
-                return GetName();
-            }
-            set
-            {
-                SetName(value);
-            }
+            NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal string GetName()
+        private LayerBehavior GetBehavior()
         {
-            string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal void SetName(string name)
+        internal class Property
         {
-            NDalicPINVOKE.Actor_SetName(swigCPtr, name);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
         }
-
     }
 }
\ No newline at end of file
index 0ac3912..0f59c87 100755 (executable)
@@ -27,57 +27,19 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="state">The state of the gesture</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true)
         {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_LongPressGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        internal static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr)
+        internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            LongPressGesture ret = new LongPressGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -119,16 +81,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="state">The state of the gesture</param>
-        /// <since_tizen> 3 </since_tizen>
-        public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
 
         private uint numberOfTouches
         {
@@ -177,6 +129,51 @@ namespace Tizen.NUI
             }
         }
 
-    }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
+        internal static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr)
+        {
+            LongPressGesture ret = new LongPressGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_LongPressGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+    }
 }
\ No newline at end of file
index 255ecca..79d1067 100755 (executable)
@@ -33,106 +33,62 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        private DaliEventHandler<object, DetectedEventArgs> _longPressGestureEventHandler;
+        private DetectedCallbackDelegate _longPressGestureCallbackDelegate;
+
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public LongPressGestureDetector() : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_0(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj)
+        /// <summary>
+        /// Creates an initialized LongPressGestureDetector with the number of touches required.<br />
+        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen is equal to the touches required.<br />
+        /// </summary>
+        /// <param name="touchesRequired">The number of touches required.</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public LongPressGestureDetector(uint touchesRequired) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_1(touchesRequired), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized LongPressGestureDetector with the minimum and maximum number of touches required.<br />
+        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen falls between the minimum and maximum touches set.<br />
         /// </summary>
-        /// <param name="type">The dispose type</param>
+        /// <param name="minTouches">The minimum number of touches required.</param>
+        /// <param name="maxTouches">The maximum number of touches required.</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public LongPressGestureDetector(uint minTouches, uint maxTouches) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_LongPressGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Event arguments that passed via the LongPressGestureEvent signal.
+        /// The copy constructor.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <param name="handle">A reference to the copied handle</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public class DetectedEventArgs : EventArgs
+        public LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true)
         {
-            private View _view;
-            private LongPressGesture _longPressGesture;
-
-            /// <summary>
-            /// View the attached view.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// The LongPressGesture.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public LongPressGesture LongPressGesture
-            {
-                get
-                {
-                    return _longPressGesture;
-                }
-                set
-                {
-                    _longPressGesture = value;
-                }
-            }
+        internal LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr longPressGesture);
-        private DaliEventHandler<object, DetectedEventArgs> _longPressGestureEventHandler;
-        private DetectedCallbackDelegate _longPressGestureCallbackDelegate;
 
         /// <summary>
         /// This signal is emitted when the specified long press is detected on the attached view.
@@ -170,83 +126,70 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
-        {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (LongPressGestureEventArgs) with real data.
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.LongPressGesture = Tizen.NUI.LongPressGesture.GetLongPressGestureFromPtr(longPressGesture);
-
-            if (_longPressGestureEventHandler != null)
-            {
-                //Here we send all data to user event handlers.
-                _longPressGestureEventHandler(this, e);
-            }
-
-        }
-
-        internal static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Sets the number of touches required.<br />
+        /// The number of touches corresponds to the number of fingers a user has on the screen. The default is 1.<br />
+        /// </summary>
+        /// <param name="touches">Touches required</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetTouchesRequired(uint touches)
         {
-            LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
+            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Constructor.
+        /// Sets the minimum and maximum touches required.
         /// </summary>
+        /// <param name="minTouches">Minimum touches required.</param>
+        /// <param name="maxTouches">Maximum touches required.</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector() : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_0(), true)
+        public void SetTouchesRequired(uint minTouches, uint maxTouches)
         {
+            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
         }
 
         /// <summary>
-        /// Creates an initialized LongPressGestureDetector with the number of touches required.<br />
-        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen is equal to the touches required.<br />
+        /// Retrieves the minimum number of touches required.
         /// </summary>
-        /// <param name="touchesRequired">The number of touches required.</param>
+        /// <returns>The minimum number of touches required.</returns>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector(uint touchesRequired) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_1(touchesRequired), true)
+        public uint GetMinimumTouchesRequired()
         {
+            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            return ret;
         }
 
         /// <summary>
-        /// Creates an initialized LongPressGestureDetector with the minimum and maximum number of touches required.<br />
-        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen falls between the minimum and maximum touches set.<br />
+        /// Retrieves the maximum number of touches required.
         /// </summary>
-        /// <param name="minTouches">The minimum number of touches required.</param>
-        /// <param name="maxTouches">The maximum number of touches required.</param>
+        /// <returns>The maximum number of touches required.</returns>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector(uint minTouches, uint maxTouches) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), true)
+        public uint GetMaximumTouchesRequired()
         {
+            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            return ret;
         }
 
-        internal new static LongPressGestureDetector DownCast(BaseHandle handle)
+        internal static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr)
         {
-            LongPressGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as LongPressGestureDetector;
+            LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// The copy constructor.
-        /// </summary>
-        /// <param name="handle">A reference to the copied handle</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true)
+        internal new static LongPressGestureDetector DownCast(BaseHandle handle)
         {
+            LongPressGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as LongPressGestureDetector;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal LongPressGestureDetector Assign(LongPressGestureDetector rhs)
@@ -256,65 +199,117 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Sets the number of touches required.<br />
-        /// The number of touches corresponds to the number of fingers a user has on the screen. The default is 1.<br />
-        /// </summary>
-        /// <param name="touches">Touches required</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public void SetTouchesRequired(uint touches)
+        internal LongPressGestureDetectedSignal DetectedSignal()
         {
-            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
+            LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Sets the minimum and maximum touches required.
-        /// </summary>
-        /// <param name="minTouches">Minimum touches required.</param>
-        /// <param name="maxTouches">Maximum touches required.</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public void SetTouchesRequired(uint minTouches, uint maxTouches)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj)
         {
-            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Retrieves the minimum number of touches required.
+        /// Dispose.
         /// </summary>
-        /// <returns>The minimum number of touches required.</returns>
+        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public uint GetMinimumTouchesRequired()
+        protected override void Dispose(DisposeTypes type)
         {
-            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_LongPressGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
+        {
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (LongPressGestureEventArgs) with real data.
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.LongPressGesture = Tizen.NUI.LongPressGesture.GetLongPressGestureFromPtr(longPressGesture);
+
+            if (_longPressGestureEventHandler != null)
+            {
+                //Here we send all data to user event handlers.
+                _longPressGestureEventHandler(this, e);
+            }
         }
 
         /// <summary>
-        /// Retrieves the maximum number of touches required.
+        /// Event arguments that passed via the LongPressGestureEvent signal.
         /// </summary>
-        /// <returns>The maximum number of touches required.</returns>
+        /// <since_tizen> 5 </since_tizen>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public uint GetMaximumTouchesRequired()
+        public class DetectedEventArgs : EventArgs
         {
-            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            private View _view;
+            private LongPressGesture _longPressGesture;
 
-        internal LongPressGestureDetectedSignal DetectedSignal()
-        {
-            LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            /// <summary>
+            /// View the attached view.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public View View
+            {
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
 
+            /// <summary>
+            /// The LongPressGesture.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public LongPressGesture LongPressGesture
+            {
+                get
+                {
+                    return _longPressGesture;
+                }
+                set
+                {
+                    _longPressGesture = value;
+                }
+            }
+        }
     }
-
 }
index f5a273a..9d4fabd 100755 (executable)
@@ -34,21 +34,11 @@ namespace Tizen.NUI
     public class NUIApplication : CoreApplication
     {
         /// <summary>
-        /// Occurs whenever the application is resumed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler Resumed;
-
-        /// <summary>
-        /// Occurs whenever the application is paused.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler Paused;
-
-        /// <summary>
         /// The instance of ResourceManager.
         /// </summary>
         private static System.Resources.ResourceManager resourceManager = null;
+        private Size2D _windowSize2D = null;
+        private Position2D _windowPosition2D = null;
 
         /// <summary>
         /// The default constructor.
@@ -59,8 +49,6 @@ namespace Tizen.NUI
             Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
         }
 
-        private Size2D _windowSize2D = null;
-        private Position2D _windowPosition2D = null;
         /// <summary>
         /// The constructor with window size and position.
         /// </summary>
@@ -147,6 +135,124 @@ namespace Tizen.NUI
             if (windowSize != null) { _windowSize2D = windowSize; }
             if (windowPosition != null) { _windowPosition2D = windowPosition; }
             Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
+
+            //Workaround for Vulkan. should be removed.
+            if (Graphics.Backend == Graphics.BackendType.Vulkan)
+            {
+                Tizen.Log.Error("NUI", "[NOT ERROR] NUIApplication Constructor! Vulkan backend!");
+                Tizen.NUI.Version.PrintDaliNativeVersion();
+                NDalicPINVOKE.SetAgainExceptionHelperAndStringHelper();
+            }
+        }
+
+        /// <summary>
+        /// Occurs whenever the application is resumed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler Resumed;
+
+        /// <summary>
+        /// Occurs whenever the application is paused.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler Paused;
+
+        /// <summary>
+        /// Enumeration for deciding whether a NUI application window is opaque or transparent.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum WindowMode
+        {
+            /// <summary>
+            /// Opaque
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Opaque = 0,
+            /// <summary>
+            /// Transparent
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Transparent = 1
+        }
+
+        /// <summary>
+        /// ResourceManager to handle multilingual.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static System.Resources.ResourceManager MultilingualResourceManager
+        {
+            get
+            {
+                return resourceManager;
+            }
+            set
+            {
+                resourceManager = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets the window instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Window Window
+        {
+            get
+            {
+                return Window.Instance;
+            }
+        }
+
+        internal Application ApplicationHandle
+        {
+            get
+            {
+                return ((NUICoreBackend)this.Backend).ApplicationHandle;
+            }
+        }
+
+        /// <summary>
+        /// Register the assembly to XAML.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static void RegisterAssembly(Assembly assembly)
+        {
+            XamlParser.s_assemblies.Add(assembly);
+        }
+
+        /// <summary>
+        /// Runs the NUIApplication.
+        /// </summary>
+        /// <param name="args">Arguments from commandline.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Run(string[] args)
+        {
+            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
+            Backend.AddEventHandler(EventType.Resumed, OnResume);
+            Backend.AddEventHandler(EventType.Paused, OnPause);
+            base.Run(args);
+        }
+
+        /// <summary>
+        /// Exits the NUIApplication.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Exit()
+        {
+            base.Exit();
+        }
+
+        /// <summary>
+        /// Ensures that the function passed in is called from the main loop when it is idle.
+        /// </summary>
+        /// <param name="func">The function to call</param>
+        /// <returns>true if added successfully, false otherwise</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool AddIdle(System.Delegate func)
+        {
+            return ((NUICoreBackend)this.Backend).AddIdle(func);
         }
 
         /// <summary>
@@ -251,105 +357,6 @@ namespace Tizen.NUI
             base.OnCreate();
             Device.PlatformServices = new TizenPlatformServices();
         }
-
-        /// <summary>
-        /// Runs the NUIApplication.
-        /// </summary>
-        /// <param name="args">Arguments from commandline.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Run(string[] args)
-        {
-            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
-            Backend.AddEventHandler(EventType.Resumed, OnResume);
-            Backend.AddEventHandler(EventType.Paused, OnPause);
-            base.Run(args);
-        }
-
-        /// <summary>
-        /// Exits the NUIApplication.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Exit()
-        {
-            base.Exit();
-        }
-
-        /// <summary>
-        /// Ensures that the function passed in is called from the main loop when it is idle.
-        /// </summary>
-        /// <param name="func">The function to call</param>
-        /// <returns>true if added successfully, false otherwise</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool AddIdle(System.Delegate func)
-        {
-            return ((NUICoreBackend)this.Backend).AddIdle(func);
-        }
-
-        /// <summary>
-        /// Enumeration for deciding whether a NUI application window is opaque or transparent.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum WindowMode
-        {
-            /// <summary>
-            /// Opaque
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Opaque = 0,
-            /// <summary>
-            /// Transparent
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Transparent = 1
-        }
-
-
-        internal Application ApplicationHandle
-        {
-            get
-            {
-                return ((NUICoreBackend)this.Backend).ApplicationHandle;
-            }
-        }
-
-        /// <summary>
-        /// ResourceManager to handle multilingual.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static System.Resources.ResourceManager MultilingualResourceManager
-        {
-            get
-            {
-                return resourceManager;
-            }
-            set
-            {
-                resourceManager = value;
-            }
-        }
-
-        /// <summary>
-        /// Register the assembly to XAML.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static void RegisterAssembly(Assembly assembly)
-        {
-            XamlParser.s_assemblies.Add(assembly);
-        }
-
-        /// <summary>
-        /// Gets the window instance.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated!")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Window Window
-        {
-            get
-            {
-                return Window.Instance;
-            }
-        }
     }
 
     /// <summary>
@@ -360,6 +367,13 @@ namespace Tizen.NUI
     public class Graphics
     {
         /// <summary>
+        /// Active backend
+        /// </summary>
+        public static BackendType Backend = BackendType.Gles;
+        internal const string GlesCSharpBinder = "libdali-csharp-binder.so";
+        internal const string VulkanCSharpBinder = "libdali-csharp-binder-vk.so";
+
+        /// <summary>
         /// Enumeration for Rendering backend
         /// </summary>
         public enum BackendType
@@ -373,13 +387,5 @@ namespace Tizen.NUI
             /// </summary>
             Vulkan
         }
-
-        /// <summary>
-        /// Active backend
-        /// </summary>
-        public static BackendType Backend = BackendType.Gles;
-        internal const string GlesCSharpBinder = "libdali-csharp-binder.so";
-        internal const string VulkanCSharpBinder = "libdali-csharp-binder-vk.so";
     }
-
 }
index d7d042c..7cbd025 100755 (executable)
@@ -120,6 +120,8 @@ namespace Tizen.NUI
         /// <summary>
         /// Will be replaced by separate ClippingMode enum. Draw the actor and its children into the stencil buffer.
         /// </summary>
+        [Obsolete("Please do not use! This will be deprecated!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         Stencil = 3
     }
 
@@ -688,7 +690,6 @@ namespace Tizen.NUI
        Attached
     }
 
-
     /// <summary>
     /// The type of coordinate system for certain attributes of the points in a gradient.
     /// </summary>
@@ -914,931 +915,1130 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// This specifies visual types.
+    /// The type for HiddenInput mode.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct Visual
+    public enum HiddenInputModeType
     {
         /// <summary>
-        /// The index for the visual type.
+        /// Don't hide text.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Type
-        {
-            /// <summary>
-            /// Renders a solid color as an internal border to the control's quad.
-            /// </summary>
-            Border,
-            /// <summary>
-            /// Renders a solid color to the control's quad.
-            /// </summary>
-            Color,
-            /// <summary>
-            /// Renders a smooth transition of colors to the control's quad.
-            /// </summary>
-            Gradient,
-            /// <summary>
-            /// Renders an image into the control's quad.
-            /// </summary>
-            Image,
-            /// <summary>
-            /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
-            /// </summary>
-            Mesh,
-            /// <summary>
-            /// Renders a simple 3D shape, such as a cube or a sphere.
-            /// </summary>
-            Primitive,
-            /// <summary>
-            /// Renders a simple wire-frame outlining a quad.
-            /// </summary>
-            Wireframe,
-            /// <summary>
-            /// Renders text.
-            /// </summary>
-            Text,
-            /// <summary>
-            /// Renders an NPatch image.
-            /// </summary>
-            NPatch,
-            /// <summary>
-            /// Renders an SVG image.
-            /// </summary>
-            SVG,
-            /// <summary>
-            /// Renders a animated image (animated GIF).
-            /// </summary>
-            AnimatedImage
-        }
-
+        HideNone,
         /// <summary>
-        /// This specifies visual properties.
+        /// Hide all the input text.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public struct Property
-        {
-            /// <summary>
-            /// Type.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
-            /// <summary>
-            /// Shader.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
-            /// <summary>
-            /// Transform.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
-            /// <summary>
-            /// PremultipliedAlpha.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
-            /// <summary>
-            /// MixColor.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
-            /// <summary>
-            /// Opacity.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Opacity = NDalic.VISUAL_PROPERTY_MIX_COLOR + 1;
-            /// <summary>
-            /// The fitting mode of the visual.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public static readonly int VisualFittingMode = NDalic.VISUAL_PROPERTY_MIX_COLOR + 2;
-        }
-
+        HideAll,
         /// <summary>
-        /// This specifies shader properties.
+        /// Hide n characters from start.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public struct ShaderProperty
-        {
-            /// <summary>
-            /// Vertex shader code
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
-            /// <summary>
-            /// Fragment shader code
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
-            /// <summary>
-            /// How to subdivide the grid along X
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
-            /// <summary>
-            /// How to subdivide the grid along Y
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
-            /// <summary>
-            /// Bitmask of hints
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
-        }
-
+        HideCount,
         /// <summary>
-        /// This specifies visaul align types.
+        /// Show n characters from start.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum AlignType
-        {
-            /// <summary>
-            /// TopBegin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TopBegin = 0,
-            /// <summary>
-            /// TopCenter
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TopCenter,
-            /// <summary>
-            /// TopEnd
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TopEnd,
-            /// <summary>
-            /// CenterBegin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CenterBegin,
-            /// <summary>
-            /// Center
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Center,
-            /// <summary>
-            /// CenterEnd
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CenterEnd,
-            /// <summary>
-            /// BottomBegin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            BottomBegin,
-            /// <summary>
-            /// BottomCenter
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            BottomCenter,
-            /// <summary>
-            /// BottomEnd
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            BottomEnd
-        }
+        ShowCount,
+        /// <summary>
+        /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
+        /// </summary>
+        ShowLastCharacter
     }
 
     /// <summary>
-    /// This specifies properties of the BorderVisual.
+    /// Auto scrolling stop behavior.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct BorderVisualProperty
+    public enum AutoScrollStopMode
     {
         /// <summary>
-        /// The color of the border.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
-        /// <summary>
-        /// The width of the border (in pixels).
+        /// Stop animation after current loop finished.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
+        FinishLoop,
         /// <summary>
-        /// Whether anti-aliasing of the border is required.
+        /// Stop animation immediately and reset position.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
+        Immediate
     }
 
     /// <summary>
-    /// This specifies properties of the ColorVisual.
+    /// An enum of screen mode.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct ColorVisualProperty
+    /// <since_tizen> 4 </since_tizen>
+    public enum ScreenOffMode
     {
         /// <summary>
-        /// The solid color required.
+        /// The mode which turns the screen off after a timeout.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
+        Timout,
         /// <summary>
-        /// Whether to render if the MixColor is transparent.
+        /// The mode which keeps the screen turned on.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int RenderIfTransparent = NDalic.COLOR_VISUAL_MIX_COLOR + 1;
+        Never
     }
 
     /// <summary>
-    /// This specifies properties of the GradientVisual.
+    /// An enum of notification window's priority level.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct GradientVisualProperty
+    public enum NotificationLevel
     {
         /// <summary>
-        /// The start position of a linear gradient.
+        /// No notification level.<br />
+        /// Default level.<br />
+        /// This value makes the notification window place in the layer of the normal window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
+        None = -1,
         /// <summary>
-        /// The end position of a linear gradient.
+        /// The base nofitication level.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
+        Base = 10,
         /// <summary>
-        /// The center point of a radial gradient.
+        /// The medium notification level than base.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
+        Medium = 20,
         /// <summary>
-        /// The size of the radius of a radial gradient.
+        /// The higher notification level than medium.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
+        High = 30,
         /// <summary>
-        /// All the stop offsets.
+        /// The highest notification level.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
-        /// <summary>
-        /// The color at the stop offsets.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
-        /// <summary>
-        /// Defines the coordinate system for certain attributes of the points in a gradient.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
-        /// <summary>
-        /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
+        Top = 40
     }
 
     /// <summary>
-    /// This specifies properties of the ImageVisual.
+    /// An enum of window types.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct ImageVisualProperty
+    public enum WindowType
     {
         /// <summary>
-        /// The URL of the image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
-        /// <summary>
-        /// The URL of the alpha mask image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int AlphaMaskURL = NDalic.IMAGE_VISUAL_ALPHA_MASK_URL;
-        /// <summary>
-        /// Fitting options, used when resizing images to fit desired dimensions.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
-        /// <summary>
-        /// Filtering options, used when resizing images to sample original pixels.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
-        /// <summary>
-        /// The desired image width.
+        /// A default window type.<br />
+        /// Indicates a normal or top-level window.
+        /// Almost every window will be created with this type.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        Normal,
         /// <summary>
-        /// The desired image height.
+        /// A notification window, like a warning about battery life or a new email received.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        Notification,
         /// <summary>
-        /// Whether to load the image synchronously.
+        /// A persistent utility window, like a toolbox or a palette.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        Utility,
         /// <summary>
-        /// If true, only draws the borders.
+        /// Used for simple dialog windows.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        Dialog
+    }
+
+    /// <since_tizen> 3 </since_tizen>
+    public enum DisposeTypes
+    {
         /// <summary>
-        /// The image area to be displayed.
+        /// Called By User
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        Explicit,
         /// <summary>
-        /// The wrap mode for u coordinate.
+        /// Called by DisposeQueue
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        Implicit,
+    }
+
+    /// <summary>
+    /// An enum of the scroll state of the text eidtor.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum ScrollState
+    {
         /// <summary>
-        /// The wrap mode for v coordinate.
+        /// Scrolling is started.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        Started,
+
         /// <summary>
-        /// The border of the image.
+        /// Scrolling is finished.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
+        Finished
+    }
+
+    /// <summary>
+    /// An enum of the line wrap mode of text controls.
+    /// </summary>
+    /// <since_tizen> 4 </since_tizen>
+    public enum LineWrapMode
+    {
         /// <summary>
-        /// Whether to use the texture atlas.
+        /// The word mode will move a word to the next line.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Atlasing = NDalic.IMAGE_VISUAL_BORDER + 1;
+        /// <since_tizen> 4 </since_tizen>
+        Word,
+
         /// <summary>
-        /// The scale factor to apply to the content image before masking.
+        /// character will move character by character to the next line.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
+        Character
+    }
+
+    /// <summary>
+    /// An enum of text directions.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum TextDirection
+    {
         /// <summary>
-        /// Whether to crop image to mask or scale mask to fit image
+        /// Text direction is from left to right.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
+        /// <since_tizen> 5 </since_tizen>
+        LeftToRight,
+
         /// <summary>
-        /// Defines the batch size for pre-loading images in the AnimatedImageVisual
+        /// Text direction is from right to left.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
+        /// <since_tizen> 5 </since_tizen>
+        RightToLeft
+    }
+
+    /// <summary>
+    /// An enum of vertical line alignments.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum VerticalLineAlignment
+    {
         /// <summary>
-        /// Defines the cache size for loading images in the AnimatedImageVisual
+        /// vertical line alignment is from top.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
+        /// <since_tizen> 5 </since_tizen>
+        Top,
+
         /// <summary>
-        /// The number of milliseconds between each frame in the AnimatedImageVisual
+        /// vertical line alignment is from center.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
+        /// <since_tizen> 5 </since_tizen>
+        Center,
+
         /// <summary>
-        /// The number of times the AnimatedImageVisual will be looped.
-        /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times.
+        /// vertical line alignment is from bottom.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int LoopCount = NDalic.IMAGE_VISUAL_LOOP_COUNT;
+        Bottom
+    }
+
+    /// <summary>
+    /// Enumeration type for the font's slant.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontSlantType
+    {
         /// <summary>
-        /// The policy to determine when an image should no longer be cached.
+        /// None.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
+        None,
         /// <summary>
-        /// The policy to determine when an image should be loaded.
+        /// Normal.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
+        Normal,
         /// <summary>
-        /// Determines if image orientation should be corrected so that the image displays as it was intended.
+        /// Roman.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
+        Roman = Normal,
         /// <summary>
-        /// Overlays the auxiliary image on top of an NPatch image.
+        /// Italic.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int AuxiliaryImageURL = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL;
+        Italic,
         /// <summary>
-        /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
+        /// Oblique.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int AuxiliaryImageAlpha = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA;
+        Oblique
     }
 
     /// <summary>
-    /// This specifies properties of the MeshVisual.
+    /// Enumeration type for the font's weight.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct MeshVisualProperty
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontWeightType
     {
         /// <summary>
-        /// The location of the ".obj" file.
+        /// None.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
+        /// <since_tizen> 5 </since_tizen>
+        None,
         /// <summary>
-        /// The location of the ".mtl" file.
+        /// Thin.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
+        /// <since_tizen> 5 </since_tizen>
+        Thin,
         /// <summary>
-        /// Path to the directory the textures (including gloss and normal) are stored in.
+        /// UltraLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
+        /// <since_tizen> 5 </since_tizen>
+        UltraLight,
         /// <summary>
-        /// Sets the type of shading mode that the mesh will use.
+        /// ExtraLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
+        /// <since_tizen> 5 </since_tizen>
+        ExtraLight = UltraLight,
         /// <summary>
-        /// Whether to use mipmaps for textures or not.
+        /// Light.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
+        /// <since_tizen> 5 </since_tizen>
+        Light,
         /// <summary>
-        /// Whether to average normals at each point to smooth textures or not.
+        /// DemiLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
+        /// <since_tizen> 5 </since_tizen>
+        DemiLight,
         /// <summary>
-        /// The position, in stage space, of the point light that applies lighting to the model.
+        /// SemiLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
-    }
-
-    /// <summary>
-    /// This specifies properties of the PrimitiveVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct PrimitiveVisualProperty
-    {
+        /// <since_tizen> 5 </since_tizen>
+        SemiLight = DemiLight,
         /// <summary>
-        /// The specific shape to render.
+        /// Book.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
+        /// <since_tizen> 5 </since_tizen>
+        Book,
         /// <summary>
-        /// The color of the shape.
+        /// Normal.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
         /// <summary>
-        /// The number of slices as you go around the shape.
+        /// Regular.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
-        /// <summary>
-        /// The number of stacks as you go down the shape.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
-        /// <summary>
-        /// The scale of the radius of the top circle of a conical frustrum.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
-        /// <summary>
-        /// The scale of the radius of the bottom circle of a conical frustrum.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
-        /// <summary>
-        /// The scale of the height of a conic.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
-        /// <summary>
-        /// The scale of the radius of a cylinder.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
-        /// <summary>
-        /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
-        /// <summary>
-        /// Determines how bevelled the cuboid should be, based off the smallest dimension.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
-        /// <summary>
-        /// Defines how smooth the bevelled edges should be.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
-        /// <summary>
-        /// The position, in stage space, of the point light that applies lighting to the model.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
-    }
-
-    /// <summary>
-    /// This specifies properties of the TextVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct TextVisualProperty
-    {
-        /// <summary>
-        /// The text to display in UTF-8 format.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
-        /// <summary>
-        /// The requested font family to use.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
-        /// <summary>
-        /// The requested font style to use.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
-        /// <summary>
-        /// The size of font in points.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
+        /// <since_tizen> 5 </since_tizen>
+        Regular = Normal,
         /// <summary>
-        /// The single-line or multi-line layout option.
+        /// Medium.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
+        /// <since_tizen> 5 </since_tizen>
+        Medium,
         /// <summary>
-        /// The line horizontal alignment.
+        /// DemiBold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
+        /// <since_tizen> 5 </since_tizen>
+        DemiBold,
         /// <summary>
-        /// The line vertical alignment.
+        /// SemiBold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
+        /// <since_tizen> 5 </since_tizen>
+        SemiBold = DemiBold,
         /// <summary>
-        /// The color of the text.
+        /// Bold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
+        /// <since_tizen> 5 </since_tizen>
+        Bold,
         /// <summary>
-        /// Whether the mark-up processing is enabled.
+        /// UltraBold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+        /// <since_tizen> 5 </since_tizen>
+        UltraBold,
         /// <summary>
-        /// The shadow parameters.
+        /// ExtraBold.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
+        ExtraBold = UltraBold,
         /// <summary>
-        /// The default underline parameters.
+        /// Black.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
+        Black,
         /// <summary>
-        /// The default outline parameters.
+        /// Heavy.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
+        Heavy = Black,
         /// <summary>
-        /// The default text background parameters.
+        /// ExtraBlack.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
+        ExtraBlack = Black
     }
 
     /// <summary>
-    /// This specifies properties of the NpatchImageVisual.
+    /// Enumeration type for the font's width.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct NpatchImageVisualProperty
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontWidthType
     {
         /// <summary>
-        /// The URL of the image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
-        /// <summary>
-        /// Fitting options, used when resizing images to fit desired dimensions.
+        /// None.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+        /// <since_tizen> 5 </since_tizen>
+        None,
         /// <summary>
-        /// Filtering options, used when resizing images to sample original pixels.
+        /// UltraCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        /// <since_tizen> 5 </since_tizen>
+        UltraCondensed,
         /// <summary>
-        /// The desired image width.
+        /// ExtraCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        /// <since_tizen> 5 </since_tizen>
+        ExtraCondensed,
         /// <summary>
-        /// The desired image height.
+        /// Condensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        /// <since_tizen> 5 </since_tizen>
+        Condensed,
         /// <summary>
-        /// Whether to load the image synchronously.
+        /// SemiCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        /// <since_tizen> 5 </since_tizen>
+        SemiCondensed,
         /// <summary>
-        /// If true, only draws the borders.
+        /// Normal.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
         /// <summary>
-        /// The image area to be displayed.
+        /// SemiExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        /// <since_tizen> 5 </since_tizen>
+        SemiExpanded,
         /// <summary>
-        /// The wrap mode for u coordinate.
+        /// Expanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        /// <since_tizen> 5 </since_tizen>
+        Expanded,
         /// <summary>
-        /// The wrap mode for v coordinate.
+        /// ExtraExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        /// <since_tizen> 5 </since_tizen>
+        ExtraExpanded,
         /// <summary>
-        /// The border of the image.
+        /// UltraExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
+        /// <since_tizen> 5 </since_tizen>
+        UltraExpanded
     }
 
     /// <summary>
-    /// The HiddenInput property.
+    /// Enumeration type for the glyph type.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct HiddenInputProperty
+    /// <since_tizen> 5 </since_tizen>
+    public enum GlyphType
     {
         /// <summary>
-        /// The mode for input text display.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
-        /// <summary>
-        /// All input characters are substituted by this character.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
-        /// <summary>
-        /// Length of text to show or hide, available when HIDE_COUNT/SHOW_COUNT mode is used.
+        /// Glyph stored as pixels.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
+        /// <since_tizen> 5 </since_tizen>
+        BitmapGlyph,
         /// <summary>
-        /// Hide last character after this duration, available when SHOW_LAST_CHARACTER mode.
+        /// Glyph stored as vectors (scalable). This feature requires highp shader support and is not available on all platforms.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int ShowLastCharacterDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_LAST_CHARACTER_DURATION_get();
+        /// <since_tizen> 5 </since_tizen>
+        VectorGlyph
     }
 
     /// <summary>
-    /// The type for HiddenInput mode.
+    /// Enumeration for Setting the rendering behavior of a Window.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum HiddenInputModeType
+    /// <since_tizen> 5 </since_tizen>
+    public enum RenderingBehaviorType
     {
         /// <summary>
-        /// Don't hide text.
-        /// </summary>
-        HideNone,
-        /// <summary>
-        /// Hide all the input text.
-        /// </summary>
-        HideAll,
-        /// <summary>
-        /// Hide n characters from start.
-        /// </summary>
-        HideCount,
-        /// <summary>
-        /// Show n characters from start.
+        /// Default. Only renders if required.
         /// </summary>
-        ShowCount,
+        IfRequired,
         /// <summary>
-        /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
+        /// Renders continuously.
         /// </summary>
-        ShowLastCharacter
+        Continuously
     }
 
     /// <summary>
-    /// ParentOrigin constants.
+    /// This specifies visual types.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct ParentOrigin
+    public struct Visual
     {
         /// <summary>
-        /// Top
+        /// The index for the visual type.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Top
+        public enum Type
         {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginTop_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            /// <summary>
+            /// Renders a solid color as an internal border to the control's quad.
+            /// </summary>
+            Border,
+            /// <summary>
+            /// Renders a solid color to the control's quad.
+            /// </summary>
+            Color,
+            /// <summary>
+            /// Renders a smooth transition of colors to the control's quad.
+            /// </summary>
+            Gradient,
+            /// <summary>
+            /// Renders an image into the control's quad.
+            /// </summary>
+            Image,
+            /// <summary>
+            /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
+            /// </summary>
+            Mesh,
+            /// <summary>
+            /// Renders a simple 3D shape, such as a cube or a sphere.
+            /// </summary>
+            Primitive,
+            /// <summary>
+            /// Renders a simple wire-frame outlining a quad.
+            /// </summary>
+            Wireframe,
+            /// <summary>
+            /// Renders text.
+            /// </summary>
+            Text,
+            /// <summary>
+            /// Renders an NPatch image.
+            /// </summary>
+            NPatch,
+            /// <summary>
+            /// Renders an SVG image.
+            /// </summary>
+            SVG,
+            /// <summary>
+            /// Renders a animated image (animated GIF).
+            /// </summary>
+            AnimatedImage
+        }
+
+        /// <summary>
+        /// This specifies visual properties.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public struct Property
+        {
+            /// <summary>
+            /// Type.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
+            /// <summary>
+            /// Shader.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
+            /// <summary>
+            /// Transform.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
+            /// <summary>
+            /// PremultipliedAlpha.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
+            /// <summary>
+            /// MixColor.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
+            /// <summary>
+            /// Opacity.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Opacity = NDalic.VISUAL_PROPERTY_MIX_COLOR + 1;
+            /// <summary>
+            /// The fitting mode of the visual.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public static readonly int VisualFittingMode = NDalic.VISUAL_PROPERTY_MIX_COLOR + 2;
+        }
+
+        /// <summary>
+        /// This specifies shader properties.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public struct ShaderProperty
+        {
+            /// <summary>
+            /// Vertex shader code
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
+            /// <summary>
+            /// Fragment shader code
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
+            /// <summary>
+            /// How to subdivide the grid along X
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
+            /// <summary>
+            /// How to subdivide the grid along Y
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
+            /// <summary>
+            /// Bitmask of hints
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
+        }
+
+        /// <summary>
+        /// This specifies visaul align types.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum AlignType
+        {
+            /// <summary>
+            /// TopBegin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TopBegin = 0,
+            /// <summary>
+            /// TopCenter
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TopCenter,
+            /// <summary>
+            /// TopEnd
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TopEnd,
+            /// <summary>
+            /// CenterBegin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CenterBegin,
+            /// <summary>
+            /// Center
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Center,
+            /// <summary>
+            /// CenterEnd
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CenterEnd,
+            /// <summary>
+            /// BottomBegin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            BottomBegin,
+            /// <summary>
+            /// BottomCenter
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            BottomCenter,
+            /// <summary>
+            /// BottomEnd
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            BottomEnd
         }
+    }
+
+    /// <summary>
+    /// This specifies properties of the BorderVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct BorderVisualProperty
+    {
+        /// <summary>
+        /// The color of the border.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
+        /// <summary>
+        /// The width of the border (in pixels).
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
+        /// <summary>
+        /// Whether anti-aliasing of the border is required.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
+    }
+
+    /// <summary>
+    /// This specifies properties of the ColorVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct ColorVisualProperty
+    {
+        /// <summary>
+        /// The solid color required.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
+        /// <summary>
+        /// Whether to render if the MixColor is transparent.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int RenderIfTransparent = NDalic.COLOR_VISUAL_MIX_COLOR + 1;
+    }
+
+    /// <summary>
+    /// This specifies properties of the GradientVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct GradientVisualProperty
+    {
+        /// <summary>
+        /// The start position of a linear gradient.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
+        /// <summary>
+        /// The end position of a linear gradient.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
+        /// <summary>
+        /// The center point of a radial gradient.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
+        /// <summary>
+        /// The size of the radius of a radial gradient.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
+        /// <summary>
+        /// All the stop offsets.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
+        /// <summary>
+        /// The color at the stop offsets.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
+        /// <summary>
+        /// Defines the coordinate system for certain attributes of the points in a gradient.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
+        /// <summary>
+        /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
+    }
+
+    /// <summary>
+    /// This specifies properties of the ImageVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct ImageVisualProperty
+    {
+        /// <summary>
+        /// The URL of the image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
+        /// <summary>
+        /// The URL of the alpha mask image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int AlphaMaskURL = NDalic.IMAGE_VISUAL_ALPHA_MASK_URL;
+        /// <summary>
+        /// Fitting options, used when resizing images to fit desired dimensions.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+        /// <summary>
+        /// Filtering options, used when resizing images to sample original pixels.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        /// <summary>
+        /// The desired image width.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        /// <summary>
+        /// The desired image height.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        /// <summary>
+        /// Whether to load the image synchronously.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        /// <summary>
+        /// If true, only draws the borders.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        /// <summary>
+        /// The image area to be displayed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        /// <summary>
+        /// The wrap mode for u coordinate.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        /// <summary>
+        /// The wrap mode for v coordinate.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        /// <summary>
+        /// The border of the image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
+        /// <summary>
+        /// Whether to use the texture atlas.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Atlasing = NDalic.IMAGE_VISUAL_BORDER + 1;
+        /// <summary>
+        /// The scale factor to apply to the content image before masking.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
+        /// <summary>
+        /// Whether to crop image to mask or scale mask to fit image
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
+        /// <summary>
+        /// Defines the batch size for pre-loading images in the AnimatedImageVisual
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
+        /// <summary>
+        /// Defines the cache size for loading images in the AnimatedImageVisual
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
+        /// <summary>
+        /// The number of milliseconds between each frame in the AnimatedImageVisual
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
+        /// <summary>
+        /// The number of times the AnimatedImageVisual will be looped.
+        /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int LoopCount = NDalic.IMAGE_VISUAL_LOOP_COUNT;
+        /// <summary>
+        /// The policy to determine when an image should no longer be cached.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
+        /// <summary>
+        /// The policy to determine when an image should be loaded.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
+        /// <summary>
+        /// Determines if image orientation should be corrected so that the image displays as it was intended.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
+        /// <summary>
+        /// Overlays the auxiliary image on top of an NPatch image.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int AuxiliaryImageURL = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL;
+        /// <summary>
+        /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int AuxiliaryImageAlpha = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA;
+    }
+
+    /// <summary>
+    /// This specifies properties of the MeshVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct MeshVisualProperty
+    {
+        /// <summary>
+        /// The location of the ".obj" file.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
+        /// <summary>
+        /// The location of the ".mtl" file.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
+        /// <summary>
+        /// Path to the directory the textures (including gloss and normal) are stored in.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
+        /// <summary>
+        /// Sets the type of shading mode that the mesh will use.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
+        /// <summary>
+        /// Whether to use mipmaps for textures or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
+        /// <summary>
+        /// Whether to average normals at each point to smooth textures or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
+        /// <summary>
+        /// The position, in stage space, of the point light that applies lighting to the model.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
+    }
+
+    /// <summary>
+    /// This specifies properties of the PrimitiveVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct PrimitiveVisualProperty
+    {
+        /// <summary>
+        /// The specific shape to render.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
+        /// <summary>
+        /// The color of the shape.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
+        /// <summary>
+        /// The number of slices as you go around the shape.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
+        /// <summary>
+        /// The number of stacks as you go down the shape.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
+        /// <summary>
+        /// The scale of the radius of the top circle of a conical frustrum.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
+        /// <summary>
+        /// The scale of the radius of the bottom circle of a conical frustrum.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
+        /// <summary>
+        /// The scale of the height of a conic.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
+        /// <summary>
+        /// The scale of the radius of a cylinder.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
+        /// <summary>
+        /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
+        /// <summary>
+        /// Determines how bevelled the cuboid should be, based off the smallest dimension.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
+        /// <summary>
+        /// Defines how smooth the bevelled edges should be.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
+        /// <summary>
+        /// The position, in stage space, of the point light that applies lighting to the model.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
+    }
 
+    /// <summary>
+    /// This specifies properties of the TextVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct TextVisualProperty
+    {
         /// <summary>
-        /// Bottom
+        /// The text to display in UTF-8 format.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Bottom
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginBottom_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
         /// <summary>
-        /// Left
+        /// The requested font family to use.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Left
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginLeft_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
         /// <summary>
-        /// Right
+        /// The requested font style to use.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Right
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginRight_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
         /// <summary>
-        /// Middle
+        /// The size of font in points.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Middle
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
         /// <summary>
-        /// TopLeft
+        /// The single-line or multi-line layout option.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position TopLeft
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
         /// <summary>
-        /// TopCenter
+        /// The line horizontal alignment.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position TopCenter
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
         /// <summary>
-        /// TopRight
+        /// The line vertical alignment.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position TopRight
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
         /// <summary>
-        /// CenterLeft
+        /// The color of the text.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position CenterLeft
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
         /// <summary>
-        /// Center
+        /// Whether the mark-up processing is enabled.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position Center
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+        /// <summary>
+        /// The shadow parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
+        /// <summary>
+        /// The default underline parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
+        /// <summary>
+        /// The default outline parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
+        /// <summary>
+        /// The default text background parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
+    }
 
+    /// <summary>
+    /// This specifies properties of the NpatchImageVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct NpatchImageVisualProperty
+    {
         /// <summary>
-        /// CenterRight
+        /// The URL of the image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position CenterRight
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
         /// <summary>
-        /// BottomLeft
+        /// Fitting options, used when resizing images to fit desired dimensions.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position BottomLeft
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
         /// <summary>
-        /// BottomCenter
+        /// Filtering options, used when resizing images to sample original pixels.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position BottomCenter
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        /// <summary>
+        /// The desired image width.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        /// <summary>
+        /// The desired image height.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        /// <summary>
+        /// Whether to load the image synchronously.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        /// <summary>
+        /// If true, only draws the borders.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        /// <summary>
+        /// The image area to be displayed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        /// <summary>
+        /// The wrap mode for u coordinate.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        /// <summary>
+        /// The wrap mode for v coordinate.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        /// <summary>
+        /// The border of the image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
+    }
 
+    /// <summary>
+    /// The HiddenInput property.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct HiddenInputProperty
+    {
+        /// <summary>
+        /// The mode for input text display.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
+        /// <summary>
+        /// All input characters are substituted by this character.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
         /// <summary>
-        /// BottomRight
+        /// Length of text to show or hide, available when HIDE_COUNT/SHOW_COUNT mode is used.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position BottomRight
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
+        /// <summary>
+        /// Hide last character after this duration, available when SHOW_LAST_CHARACTER mode.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int ShowLastCharacterDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_LAST_CHARACTER_DURATION_get();
     }
 
     /// <summary>
-    /// PivotPoint constants.
+    /// ParentOrigin constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct PivotPoint
+    public struct ParentOrigin
     {
         /// <summary>
         /// Top
@@ -1848,11 +2048,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointTop_get();
+                float ret = NDalicPINVOKE.ParentOriginTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Bottom
         /// </summary>
@@ -1861,11 +2062,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointBottom_get();
+                float ret = NDalicPINVOKE.ParentOriginBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Left
         /// </summary>
@@ -1874,11 +2076,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointLeft_get();
+                float ret = NDalicPINVOKE.ParentOriginLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Right
         /// </summary>
@@ -1887,11 +2090,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointRight_get();
+                float ret = NDalicPINVOKE.ParentOriginRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Middle
         /// </summary>
@@ -1900,11 +2104,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// TopLeft
         /// </summary>
@@ -1913,12 +2118,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// TopCenter
         /// </summary>
@@ -1927,12 +2133,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// TopRight
         /// </summary>
@@ -1941,12 +2148,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// CenterLeft
         /// </summary>
@@ -1955,12 +2163,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Center
         /// </summary>
@@ -1969,12 +2178,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// CenterRight
         /// </summary>
@@ -1983,12 +2193,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// BottomLeft
         /// </summary>
@@ -1997,12 +2208,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// BottomCenter
         /// </summary>
@@ -2011,12 +2223,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// BottomRight
         /// </summary>
@@ -2025,214 +2238,19 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-    }
-    /// <summary>
-    /// PositionAxis constants.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct PositionAxis
-    {
-        /// <summary>
-        /// The X axis
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position X
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-        /// <summary>
-        /// The Y axis
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position Y
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-        /// <summary>
-        /// The Z axis
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position Z
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-        /// <summary>
-        /// The Negative X axis
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position NegativeX
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-        /// <summary>
-        /// The Negative Y axis
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position NegativeY
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-        /// <summary>
-        /// The Negative Z axis
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position NegativeZ
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-    }
-
-    /// <summary>
-    /// Auto scrolling stop behavior.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum AutoScrollStopMode
-    {
-        /// <summary>
-        /// Stop animation after current loop finished.
-        /// </summary>
-        FinishLoop,
-        /// <summary>
-        /// Stop animation immediately and reset position.
-        /// </summary>
-        Immediate
-    }
-
-    /// <summary>
-    /// An enum of screen mode.
-    /// </summary>
-    /// <since_tizen> 4 </since_tizen>
-    public enum ScreenOffMode {
-        /// <summary>
-        /// The mode which turns the screen off after a timeout.
-        /// </summary>
-        Timout,
-        /// <summary>
-        /// The mode which keeps the screen turned on.
-        /// </summary>
-        Never
-    }
-
-    /// <summary>
-    /// An enum of notification window's priority level.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum NotificationLevel {
-        /// <summary>
-        /// No notification level.<br />
-        /// Default level.<br />
-        /// This value makes the notification window place in the layer of the normal window.
-        /// </summary>
-        None = -1,
-        /// <summary>
-        /// The base nofitication level.
-        /// </summary>
-        Base = 10,
-        /// <summary>
-        /// The medium notification level than base.
-        /// </summary>
-        Medium = 20,
-        /// <summary>
-        /// The higher notification level than medium.
-        /// </summary>
-        High = 30,
-        /// <summary>
-        /// The highest notification level.
-        /// </summary>
-        Top = 40
-    }
-
-    /// <summary>
-    /// An enum of window types.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum WindowType {
-        /// <summary>
-        /// A default window type.<br />
-        /// Indicates a normal or top-level window.
-        /// Almost every window will be created with this type.
-        /// </summary>
-        Normal,
-        /// <summary>
-        /// A notification window, like a warning about battery life or a new email received.
-        /// </summary>
-        Notification,
-        /// <summary>
-        /// A persistent utility window, like a toolbox or a palette.
-        /// </summary>
-        Utility,
-        /// <summary>
-        /// Used for simple dialog windows.
-        /// </summary>
-        Dialog
-    }
-
-    /// <since_tizen> 3 </since_tizen>
-    public enum DisposeTypes
-    {
-        /// <summary>
-        /// Called By User
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        Explicit,
-        /// <summary>
-        /// Called by DisposeQueue
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        Implicit,
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
     }
 
-
-
     /// <summary>
-    /// [Obsolete("Please do not use! this will be deprecated")]
+    /// PivotPoint constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead!")]
-    [EditorBrowsable(EditorBrowsableState.Never)]
-    public struct AnchorPoint
+    public struct PivotPoint
     {
         /// <summary>
         /// Top
@@ -2426,313 +2444,296 @@ namespace Tizen.NUI
             }
         }
     }
-
     /// <summary>
-    /// An enum of the scroll state of the text eidtor.
+    /// PositionAxis constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public enum ScrollState
-    {
-        /// <summary>
-        /// Scrolling is started.
-        /// </summary>
-        Started,
-
-        /// <summary>
-        /// Scrolling is finished.
-        /// </summary>
-        Finished
-    }
-
-    /// <summary>
-    /// An enum of the line wrap mode of text controls.
-    /// </summary>
-    /// <since_tizen> 4 </since_tizen>
-    public enum LineWrapMode
-    {
-        /// <summary>
-        /// The word mode will move a word to the next line.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        Word,
-
-        /// <summary>
-        /// character will move character by character to the next line.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        Character
-    }
-
-    /// <summary>
-    /// An enum of text directions.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum TextDirection
-    {
-        /// <summary>
-        /// Text direction is from left to right.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        LeftToRight,
-
-        /// <summary>
-        /// Text direction is from right to left.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        RightToLeft
-    }
-
-    /// <summary>
-    /// An enum of vertical line alignments.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum VerticalLineAlignment
-    {    
-        /// <summary>
-        /// vertical line alignment is from top. 
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Top,
-
-        /// <summary>
-        /// vertical line alignment is from center.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Center,
-
-        /// <summary>
-        /// vertical line alignment is from bottom.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Bottom
-    }
-
-    /// <summary>
-    /// Enumeration type for the font's slant.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontSlantType
-    {
-        /// <summary>
-        /// None.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
-        /// <summary>
-        /// Normal.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Normal,
-        /// <summary>
-        /// Roman.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Roman = Normal,
-        /// <summary>
-        /// Italic.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Italic,
-        /// <summary>
-        /// Oblique.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Oblique
-    }
-
-    /// <summary>
-    /// Enumeration type for the font's weight.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontWeightType
+    public struct PositionAxis
     {
         /// <summary>
-        /// None.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
-        /// <summary>
-        /// Thin.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Thin,
-        /// <summary>
-        /// UltraLight.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraLight,
-        /// <summary>
-        /// ExtraLight.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraLight = UltraLight,
-        /// <summary>
-        /// Light.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Light,
-        /// <summary>
-        /// DemiLight.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        DemiLight,
-        /// <summary>
-        /// SemiLight.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiLight = DemiLight,
-        /// <summary>
-        /// Book.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Book,
-        /// <summary>
-        /// Normal.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Normal,
-        /// <summary>
-        /// Regular.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Regular = Normal,
-        /// <summary>
-        /// Medium.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Medium,
-        /// <summary>
-        /// DemiBold.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        DemiBold,
-        /// <summary>
-        /// SemiBold.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiBold = DemiBold,
-        /// <summary>
-        /// Bold.
+        /// The X axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Bold,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position X
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// UltraBold.
+        /// The Y axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraBold,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position Y
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// ExtraBold.
+        /// The Z axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraBold = UltraBold,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position Z
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Black.
+        /// The Negative X axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Black,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position NegativeX
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Heavy.
+        /// The Negative Y axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Heavy = Black,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position NegativeY
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// ExtraBlack.
+        /// The Negative Z axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraBlack = Black
+        /// <since_tizen> 3 </since_tizen>
+        public static Position NegativeZ
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
     }
 
     /// <summary>
-    /// Enumeration type for the font's width.
+    /// [Obsolete("Please do not use! this will be deprecated")]
     /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontWidthType
+    /// <since_tizen> 3 </since_tizen>
+    [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead!")]
+    [EditorBrowsable(EditorBrowsableState.Never)]
+    public struct AnchorPoint
     {
         /// <summary>
-        /// None.
+        /// Top
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
+        /// <since_tizen> 3 </since_tizen>
+        public static float Top
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.AnchorPointTop_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// UltraCondensed.
+        /// Bottom
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraCondensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static float Bottom
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.AnchorPointBottom_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// ExtraCondensed.
+        /// Left
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraCondensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static float Left
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.AnchorPointLeft_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Condensed.
+        /// Right
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Condensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static float Right
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.AnchorPointRight_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// SemiCondensed.
+        /// Middle
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiCondensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static float Middle
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Normal.
+        /// TopLeft
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Normal,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position TopLeft
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// SemiExpanded.
+        /// TopCenter
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiExpanded,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position TopCenter
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Expanded.
+        /// TopRight
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Expanded,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position TopRight
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// ExtraExpanded.
+        /// CenterLeft
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraExpanded,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position CenterLeft
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// UltraExpanded.
+        /// Center
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraExpanded
-    }
-
-    /// <summary>
-    /// Enumeration type for the glyph type.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum GlyphType
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static Position Center
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Glyph stored as pixels.
+        /// CenterRight
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        BitmapGlyph,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position CenterRight
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Glyph stored as vectors (scalable). This feature requires highp shader support and is not available on all platforms.
+        /// BottomLeft
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        VectorGlyph
-    }
-
-    /// <summary>
-    /// Enumeration for Setting the rendering behavior of a Window.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum RenderingBehaviorType
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static Position BottomLeft
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Default. Only renders if required.
+        /// BottomCenter
         /// </summary>
-        IfRequired,
+        /// <since_tizen> 3 </since_tizen>
+        public static Position BottomCenter
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
         /// <summary>
-        /// Renders continuously.
+        /// BottomRight
         /// </summary>
-        Continuously
+        /// <since_tizen> 3 </since_tizen>
+        public static Position BottomRight
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
     }
-
 }
index 70c52fd..87e1d8b 100755 (executable)
@@ -20,7 +20,6 @@ using System.Collections.Generic;
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// Represents an application that have UI screen. The NUIWidgetApplication class has a default stage.
     /// </summary>
@@ -51,6 +50,35 @@ namespace Tizen.NUI
             core?.RegisterWidgetInfo(new Dictionary<System.Type, string> { { widgetType, ApplicationInfo.ApplicationId } });
         }
 
+        internal WidgetApplication ApplicationHandle
+        {
+            get
+            {
+                return ((NUIWidgetCoreBackend)this.Backend).WidgetApplicationHandle;
+            }
+        }
+
+        /// <summary>
+        /// Run NUIWidgetApplication.
+        /// </summary>
+        /// <param name="args">Arguments from commandline.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Run(string[] args)
+        {
+            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
+            base.Run(args);
+        }
+
+        /// <summary>
+        /// Exit NUIWidgetApplication.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Exit()
+        {
+            Tizen.Log.Fatal("NUI", "### NUIWidgetApplication Exit called");
+            base.Exit();
+        }
+
         /// <summary>
         /// Overrides this method if want to handle OnLocaleChanged behavior.
         /// </summary>
@@ -122,34 +150,5 @@ namespace Tizen.NUI
             Log.Fatal("NUI","OnCreate() is called!");
             base.OnCreate();
         }
-
-        /// <summary>
-        /// Run NUIWidgetApplication.
-        /// </summary>
-        /// <param name="args">Arguments from commandline.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Run(string[] args)
-        {
-            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
-            base.Run(args);
-        }
-
-        /// <summary>
-        /// Exit NUIWidgetApplication.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Exit()
-        {
-            Tizen.Log.Fatal("NUI", "### NUIWidgetApplication Exit called");
-            base.Exit();
-        }
-
-        internal WidgetApplication ApplicationHandle
-        {
-            get
-            {
-                return ((NUIWidgetCoreBackend)this.Backend).WidgetApplicationHandle;
-            }
-        }
     }
 }
\ No newline at end of file
index 5e21aa7..cd038e3 100755 (executable)
@@ -26,178 +26,61 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class PaddingType : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal PaddingType(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PaddingType obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~PaddingType()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an uninitialized PaddingType.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// PaddingType Constructor.
         /// </summary>
+        /// <param name="start">Start padding or X coordinate</param>
+        /// <param name="end">End padding or Y coordinate</param>
+        /// <param name="top">Top padding or Height</param>
+        /// <param name="bottom">Bottom padding or Width</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public PaddingType(float start, float end, float top, float bottom) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(start, end, top, bottom), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PaddingType(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Equality operator.
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>True if the values are identical</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static bool operator ==(PaddingType a, PaddingType b)
+        internal PaddingType(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            // If both are null, or both are same instance, return true.
-            if (System.Object.ReferenceEquals(a, b))
-            {
-                return true;
-            }
-
-            // If one is null, but not both, return false.
-            if (((object)a == null) || ((object)b == null))
-            {
-                return false;
-            }
-
-            // Return true if the fields match:
-            return (System.Math.Abs(a.Start- b.Start) < NDalic.GetRangedEpsilon(a.Start, b.Start)) &&
-                   (System.Math.Abs(a.End - b.End) < NDalic.GetRangedEpsilon(a.End, b.End)) &&
-                   (System.Math.Abs(a.Bottom - b.Bottom) < NDalic.GetRangedEpsilon(a.Bottom, b.Bottom)) &&
-                   (System.Math.Abs(a.Top - b.Top) < NDalic.GetRangedEpsilon(a.Top, b.Top));
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Inequality operator.
+        /// Dispose.
         /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>True if the values are not identical</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static bool operator !=(PaddingType a, PaddingType b)
-        {
-            return !(a == b);
-        }
-
-
-        /// <summary>
-        /// Equals
-        /// </summary>
-        /// <param name="o">The object should be compared.</param>
-        /// <returns>True if equal.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override bool Equals(object o)
+        ~PaddingType()
         {
-            if(o == null)
-            {
-                return false;
-            }
-            if(!(o is PaddingType))
+            if (!isDisposeQueued)
             {
-                return false;
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            PaddingType p = (PaddingType)o;
-
-            // Return true if the fields match:
-            return (System.Math.Abs(Start- p.Start) < NDalic.GetRangedEpsilon(Start, p.Start)) &&
-                   (System.Math.Abs(End - p.End) < NDalic.GetRangedEpsilon(End, p.End)) &&
-                   (System.Math.Abs(Bottom - p.Bottom) < NDalic.GetRangedEpsilon(Bottom, p.Bottom)) &&
-                   (System.Math.Abs(Top - p.Top) < NDalic.GetRangedEpsilon(Top, p.Top));
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this baseHandle.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
         }
 
         /// <summary>
@@ -264,42 +147,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Creates an uninitialized PaddingType.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// PaddingType Constructor.
-        /// </summary>
-        /// <param name="start">Start padding or X coordinate</param>
-        /// <param name="end">End padding or Y coordinate</param>
-        /// <param name="top">Top padding or Height</param>
-        /// <param name="bottom">Bottom padding or Width</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PaddingType(float start, float end, float top, float bottom) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(start, end, top, bottom), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Assignment from individual values.
-        /// </summary>
-        /// <param name="newStart">Start padding or X coordinate</param>
-        /// <param name="newEnd">End padding or Y coordinate</param>
-        /// <param name="newTop">Top padding or Height</param>
-        /// <param name="newBottom">Bottom padding or Width</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Set(float newStart, float newEnd, float newTop, float newBottom)
-        {
-            NDalicPINVOKE.PaddingType_Set(swigCPtr, newStart, newEnd, newTop, newBottom);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         private float left
         {
             set
@@ -389,6 +236,160 @@ namespace Tizen.NUI
                 return ret;
             }
         }
+
+        /// <summary>
+        /// Equality operator.
+        /// </summary>
+        /// <param name="a">First operand</param>
+        /// <param name="b">Second operand</param>
+        /// <returns>True if the values are identical</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static bool operator ==(PaddingType a, PaddingType b)
+        {
+            // If both are null, or both are same instance, return true.
+            if (System.Object.ReferenceEquals(a, b))
+            {
+                return true;
+            }
+
+            // If one is null, but not both, return false.
+            if (((object)a == null) || ((object)b == null))
+            {
+                return false;
+            }
+
+            // Return true if the fields match:
+            return (System.Math.Abs(a.Start - b.Start) < NDalic.GetRangedEpsilon(a.Start, b.Start)) &&
+                   (System.Math.Abs(a.End - b.End) < NDalic.GetRangedEpsilon(a.End, b.End)) &&
+                   (System.Math.Abs(a.Bottom - b.Bottom) < NDalic.GetRangedEpsilon(a.Bottom, b.Bottom)) &&
+                   (System.Math.Abs(a.Top - b.Top) < NDalic.GetRangedEpsilon(a.Top, b.Top));
+        }
+
+        /// <summary>
+        /// Inequality operator.
+        /// </summary>
+        /// <param name="a">First operand</param>
+        /// <param name="b">Second operand</param>
+        /// <returns>True if the values are not identical</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static bool operator !=(PaddingType a, PaddingType b)
+        {
+            return !(a == b);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+
+        /// <summary>
+        /// Equals
+        /// </summary>
+        /// <param name="o">The object should be compared.</param>
+        /// <returns>True if equal.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override bool Equals(object o)
+        {
+            if(o == null)
+            {
+                return false;
+            }
+            if(!(o is PaddingType))
+            {
+                return false;
+            }
+            PaddingType p = (PaddingType)o;
+
+            // Return true if the fields match:
+            return (System.Math.Abs(Start- p.Start) < NDalic.GetRangedEpsilon(Start, p.Start)) &&
+                   (System.Math.Abs(End - p.End) < NDalic.GetRangedEpsilon(End, p.End)) &&
+                   (System.Math.Abs(Bottom - p.Bottom) < NDalic.GetRangedEpsilon(Bottom, p.Bottom)) &&
+                   (System.Math.Abs(Top - p.Top) < NDalic.GetRangedEpsilon(Top, p.Top));
+        }
+
+        /// <summary>
+        /// Gets the the hash code of this baseHandle.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override int GetHashCode()
+        {
+            return base.GetHashCode();
+        }
+
+        /// <summary>
+        /// Assignment from individual values.
+        /// </summary>
+        /// <param name="newStart">Start padding or X coordinate</param>
+        /// <param name="newEnd">End padding or Y coordinate</param>
+        /// <param name="newTop">Top padding or Height</param>
+        /// <param name="newBottom">Bottom padding or Width</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Set(float newStart, float newEnd, float newTop, float newBottom)
+        {
+            NDalicPINVOKE.PaddingType_Set(swigCPtr, newStart, newEnd, newTop, newBottom);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PaddingType obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PaddingType(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
+        }
     }
 
 }
\ No newline at end of file
index f590dec..206efbe 100755 (executable)
@@ -32,57 +32,27 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj)
+        /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        /// <param name="state">The state of the gesture</param>
+        internal PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true)
         {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PanGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        internal static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr)
+        internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            PanGesture ret = new PanGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -183,24 +153,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The default constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="state">The state of the gesture</param>
-        internal PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
 
         private Vector2 velocity
         {
@@ -313,6 +265,7 @@ namespace Tizen.NUI
             }
         }
 
+
         /// <summary>
         /// Returns the speed at which the user is moving their fingers.<br />
         /// This is the pixel movement per millisecond.<br />
@@ -368,6 +321,53 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr)
+        {
+            PanGesture ret = new PanGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PanGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
\ No newline at end of file
index ffb8d77..b80f885 100755 (executable)
@@ -31,107 +31,39 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PanGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private DaliEventHandler<object, DetectedEventArgs> _panGestureEventHandler;
+        private DetectedCallbackDelegate _panGestureCallbackDelegate;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized PanGestureDetector.
         /// </summary>
-        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public PanGestureDetector() : this(NDalicPINVOKE.PanGestureDetector_New(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PanGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
-
         /// <summary>
-        /// Event arguments that are passed via the PanGestureEvent signal.
+        /// The copy constructor.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <param name="handle">A reference to the copied handle</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public class DetectedEventArgs : EventArgs
+        public PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true)
         {
-            private View _view;
-            private PanGesture _panGesture;
-
-            /// <summary>
-            /// The attached view.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// The PanGesture.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public PanGesture PanGesture
-            {
-                get
-                {
-                    return _panGesture;
-                }
-                set
-                {
-                    _panGesture = value;
-                }
-            }
+        internal PanGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr panGesture);
-        private DaliEventHandler<object, DetectedEventArgs> _panGestureEventHandler;
-        private DetectedCallbackDelegate _panGestureCallbackDelegate;
 
         /// <summary>
         /// This signal is emitted when the specified pan is detected on the attached view.
@@ -169,138 +101,6 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnPanGestureDetected(IntPtr actor, IntPtr panGesture)
-        {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (PanGestureEventArgs) with real data
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.PanGesture = Tizen.NUI.PanGesture.GetPanGestureFromPtr(panGesture);
-
-            if (_panGestureEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _panGestureEventHandler(this, e);
-            }
-
-        }
-
-        internal static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr)
-        {
-            PanGestureDetector ret = new PanGestureDetector(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal class Property : global::System.IDisposable
-        {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-            protected bool swigCMemOwn;
-
-            internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-            //A Flat to check if it is already disposed.
-
-            protected bool disposed = false;
-
-
-            ~Property()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
-
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
-
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicPINVOKE.delete_PanGestureDetector_Property(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-
-                disposed = true;
-            }
-
-
-            public Property() : this(NDalicPINVOKE.new_PanGestureDetector_Property(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-
-            public static readonly int SCREEN_POSITION = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_POSITION_get();
-
-            public static readonly int SCREEN_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_DISPLACEMENT_get();
-
-            public static readonly int SCREEN_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_VELOCITY_get();
-
-            public static readonly int LOCAL_POSITION = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_POSITION_get();
-
-            public static readonly int LOCAL_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_DISPLACEMENT_get();
-
-            public static readonly int LOCAL_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_VELOCITY_get();
-
-            public static readonly int PANNING = NDalicPINVOKE.PanGestureDetector_Property_PANNING_get();
-
-        }
-
         /// <summary>
         /// For a left pan (-PI Radians).
         /// </summary>
@@ -414,39 +214,108 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates an initialized PanGestureDetector.
+        /// Retrieves the screen position.
         /// </summary>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public PanGestureDetector() : this(NDalicPINVOKE.PanGestureDetector_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal new static PanGestureDetector DownCast(BaseHandle handle)
+        public Vector2 ScreenPosition
         {
-            PanGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PanGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_POSITION).Get(temp);
+                return temp;
+            }
         }
 
         /// <summary>
-        /// The copy constructor.
+        /// Retrieves the screen displacement.
         /// </summary>
-        /// <param name="handle">A reference to the copied handle</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PanGestureDetector Assign(PanGestureDetector rhs)
+        public Vector2 ScreenDisplacement
         {
-            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.PanGestureDetector_Assign(swigCPtr, PanGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_DISPLACEMENT).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves the screen velocity.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 ScreenVelocity
+        {
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_VELOCITY).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves the local position.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 LocalPosition
+        {
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_POSITION).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves the local displacement
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 LocalDisplacement
+        {
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_DISPLACEMENT).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves the local velocity.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 LocalVelocity
+        {
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_VELOCITY).Get(temp);
+                return temp;
+            }
+        }
+
+        /// <summary>
+        /// Retrieves the panning flag.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool Panning
+        {
+            get
+            {
+                bool temp = false;
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.PANNING).Get(out temp);
+                return temp;
+            }
         }
 
         /// <summary>
@@ -570,13 +439,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal AngleThresholdPair GetAngle(uint index)
-        {
-            AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Clears any directional angles that are used by the gesture detector.
         /// </summary>
@@ -612,13 +474,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal PanGestureDetectedSignal DetectedSignal()
-        {
-            PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Allows setting of the pan properties that are returned in constraints.
         /// </summary>
@@ -631,109 +486,250 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Retrieves the screen position.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 ScreenPosition
+        internal static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_POSITION).Get(temp);
-                return temp;
-            }
+            PanGestureDetector ret = new PanGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Retrieves the screen displacement.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 ScreenDisplacement
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGestureDetector obj)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_DISPLACEMENT).Get(temp);
-                return temp;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// Retrieves the screen velocity.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 ScreenVelocity
+        internal new static PanGestureDetector DownCast(BaseHandle handle)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_VELOCITY).Get(temp);
-                return temp;
-            }
+            PanGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as PanGestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal AngleThresholdPair GetAngle(uint index)
+        {
+            AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal PanGestureDetector Assign(PanGestureDetector rhs)
+        {
+            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.PanGestureDetector_Assign(swigCPtr, PanGestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal PanGestureDetectedSignal DetectedSignal()
+        {
+            PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Retrieves the local position.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 LocalPosition
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_POSITION).Get(temp);
-                return temp;
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PanGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// Retrieves the local displacement
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 LocalDisplacement
+        private void OnPanGestureDetected(IntPtr actor, IntPtr panGesture)
         {
-            get
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (PanGestureEventArgs) with real data
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.PanGesture = Tizen.NUI.PanGesture.GetPanGestureFromPtr(panGesture);
+
+            if (_panGestureEventHandler != null)
             {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_DISPLACEMENT).Get(temp);
-                return temp;
+                //here we send all data to user event handlers
+                _panGestureEventHandler(this, e);
             }
+
         }
 
         /// <summary>
-        /// Retrieves the local velocity.
+        /// Event arguments that are passed via the PanGestureEvent signal.
         /// </summary>
+        /// <since_tizen> 5 </since_tizen>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 LocalVelocity
+        public class DetectedEventArgs : EventArgs
         {
-            get
+            private View _view;
+            private PanGesture _panGesture;
+
+            /// <summary>
+            /// The attached view.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public View View
             {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_VELOCITY).Get(temp);
-                return temp;
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
+
+            /// <summary>
+            /// The PanGesture.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public PanGesture PanGesture
+            {
+                get
+                {
+                    return _panGesture;
+                }
+                set
+                {
+                    _panGesture = value;
+                }
             }
         }
 
-        /// <summary>
-        /// Retrieves the panning flag.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool Panning
+        internal class Property : global::System.IDisposable
         {
-            get
+            public static readonly int SCREEN_POSITION = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_POSITION_get();
+
+            public static readonly int SCREEN_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_DISPLACEMENT_get();
+
+            public static readonly int SCREEN_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_VELOCITY_get();
+
+            public static readonly int LOCAL_POSITION = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_POSITION_get();
+
+            public static readonly int LOCAL_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_DISPLACEMENT_get();
+
+            public static readonly int LOCAL_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_VELOCITY_get();
+
+            public static readonly int PANNING = NDalicPINVOKE.PanGestureDetector_Property_PANNING_get();
+
+            protected bool swigCMemOwn;
+            //A Flat to check if it is already disposed.
+            protected bool disposed = false;
+
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+
+            public Property() : this(NDalicPINVOKE.new_PanGestureDetector_Property(), true)
             {
-                bool temp = false;
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.PANNING).Get(out temp);
-                return temp;
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+
+            internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            ~Property()
+            {
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
+            }
+
+
+            public void Dispose()
+            {
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicPINVOKE.delete_PanGestureDetector_Property(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+
+                disposed = true;
+            }
+
+
         }
     }
 
index 6dd06d7..b72cc51 100755 (executable)
@@ -30,67 +30,56 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Creates an initialized path handle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Path() : this(NDalicPINVOKE.Path_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
+        internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+
         /// <summary>
-        /// Dispose
+        /// Enumeration for the Points.
         /// </summary>
-        /// <param name="type">The dispoase type</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public PropertyArray Points
         {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.POINTS).Get(temp);
+                return temp;
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Path(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.POINTS, new Tizen.NUI.PropertyValue(value));
             }
-
-            base.Dispose(type);
-        }
-
-
-        internal class Property
-        {
-            internal static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
-            internal static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
         }
 
         /// <summary>
-        /// Creates an initialized path handle.
+        /// Enumeration for the ControlPoints.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Path() : this(NDalicPINVOKE.Path_New(), true)
+        public PropertyArray ControlPoints
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            get
+            {
+                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.CONTROL_POINTS).Get(temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.CONTROL_POINTS, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         /// <summary>
@@ -180,40 +169,51 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Enumeration for the Points.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyArray Points
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
         {
-            get
-            {
-                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.POINTS).Get(temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.POINTS, new Tizen.NUI.PropertyValue(value));
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Enumeration for the ControlPoints.
+        /// Dispose
         /// </summary>
+        /// <param name="type">The dispoase type</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyArray ControlPoints
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.CONTROL_POINTS).Get(temp);
-                return temp;
+                return;
             }
-            set
+
+            if (type == DisposeTypes.Explicit)
             {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.CONTROL_POINTS, new Tizen.NUI.PropertyValue(value));
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Path(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        internal class Property
+        {
+            internal static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
+            internal static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
         }
 
     }
index f1b122a..f1a7f4f 100755 (executable)
@@ -33,53 +33,6 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PinchGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-
-        internal static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr)
-        {
-            PinchGesture ret = new PinchGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
         /// <summary>
         /// The scale factor from the start of the pinch gesture till the latest pinch gesture.<br />
@@ -206,6 +159,53 @@ namespace Tizen.NUI
             }
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr)
+        {
+            PinchGesture ret = new PinchGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PinchGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
\ No newline at end of file
index 133164f..2566212 100755 (executable)
@@ -30,16 +30,110 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        private DaliEventHandler<object, DetectedEventArgs> _pinchGestureEventHandler;
+        private DetectedCallbackDelegate _pinchGestureCallbackDelegate;
+
+
+        /// <summary>
+        /// Creates an initialized PinchGestureDetector.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public PinchGestureDetector() : this(NDalicPINVOKE.PinchGestureDetector_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        /// <summary>
+        /// The copy constructor.
+        /// </summary>
+        /// <param name="handle">A reference to the copied handle</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public PinchGestureDetector(PinchGestureDetector handle) : this(NDalicPINVOKE.new_PinchGestureDetector__SWIG_1(PinchGestureDetector.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal PinchGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PinchGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr pinchGesture);
+
+        /// <summary>
+        /// This signal is emitted when the specified pinch is detected on the attached view.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event DaliEventHandler<object, DetectedEventArgs> Detected
+        {
+            add
+            {
+                lock (this)
+                {
+                    // Restricted to only one listener
+                    if (_pinchGestureEventHandler == null)
+                    {
+                        _pinchGestureEventHandler += value;
+
+                        _pinchGestureCallbackDelegate = new DetectedCallbackDelegate(OnPinchGestureDetected);
+                        this.DetectedSignal().Connect(_pinchGestureCallbackDelegate);
+                    }
+                }
+            }
+
+            remove
+            {
+                lock (this)
+                {
+                    if (_pinchGestureEventHandler != null)
+                    {
+                        this.DetectedSignal().Disconnect(_pinchGestureCallbackDelegate);
+                    }
+
+                    _pinchGestureEventHandler -= value;
+                }
+            }
+        }
+
+
+        internal static PinchGestureDetector GetPinchGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        {
+            PinchGestureDetector ret = new PinchGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal new static PinchGestureDetector DownCast(BaseHandle handle)
+        {
+            PinchGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PinchGestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGestureDetector obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        internal PinchGestureDetector Assign(PinchGestureDetector rhs)
+        {
+            PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.PinchGestureDetector_Assign(swigCPtr, PinchGestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal PinchGestureDetectedSignal DetectedSignal()
+        {
+            PinchGestureDetectedSignal ret = new PinchGestureDetectedSignal(NDalicPINVOKE.PinchGestureDetector_DetectedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -79,6 +173,22 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
+        private void OnPinchGestureDetected(IntPtr actor, IntPtr pinchGesture)
+        {
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (DetectedEventArgs) with real data.
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.PinchGesture = Tizen.NUI.PinchGesture.GetPinchGestureFromPtr(pinchGesture);
+
+            if (_pinchGestureEventHandler != null)
+            {
+                //Here we send all data to user event handlers.
+                _pinchGestureEventHandler(this, e);
+            }
+
+        }
+
         /// <summary>
         /// Event arguments that passed via the PinchGestureEvent signal.
         /// </summary>
@@ -127,114 +237,6 @@ namespace Tizen.NUI
             }
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr pinchGesture);
-        private DaliEventHandler<object, DetectedEventArgs> _pinchGestureEventHandler;
-        private DetectedCallbackDelegate _pinchGestureCallbackDelegate;
-
-        /// <summary>
-        /// This signal is emitted when the specified pinch is detected on the attached view.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public event DaliEventHandler<object, DetectedEventArgs> Detected
-        {
-            add
-            {
-                lock (this)
-                {
-                    // Restricted to only one listener
-                    if (_pinchGestureEventHandler == null)
-                    {
-                        _pinchGestureEventHandler += value;
-
-                        _pinchGestureCallbackDelegate = new DetectedCallbackDelegate(OnPinchGestureDetected);
-                        this.DetectedSignal().Connect(_pinchGestureCallbackDelegate);
-                    }
-                }
-            }
-
-            remove
-            {
-                lock (this)
-                {
-                    if (_pinchGestureEventHandler != null)
-                    {
-                        this.DetectedSignal().Disconnect(_pinchGestureCallbackDelegate);
-                    }
-
-                    _pinchGestureEventHandler -= value;
-                }
-            }
-        }
-
-        private void OnPinchGestureDetected(IntPtr actor, IntPtr pinchGesture)
-        {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (DetectedEventArgs) with real data.
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.PinchGesture = Tizen.NUI.PinchGesture.GetPinchGestureFromPtr(pinchGesture);
-
-            if (_pinchGestureEventHandler != null)
-            {
-                //Here we send all data to user event handlers.
-                _pinchGestureEventHandler(this, e);
-            }
-
-        }
-
-
-        internal static PinchGestureDetector GetPinchGestureDetectorFromPtr(global::System.IntPtr cPtr)
-        {
-            PinchGestureDetector ret = new PinchGestureDetector(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Creates an initialized PinchGestureDetector.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public PinchGestureDetector() : this(NDalicPINVOKE.PinchGestureDetector_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal new static PinchGestureDetector DownCast(BaseHandle handle)
-        {
-            PinchGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PinchGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The copy constructor.
-        /// </summary>
-        /// <param name="handle">A reference to the copied handle</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public PinchGestureDetector(PinchGestureDetector handle) : this(NDalicPINVOKE.new_PinchGestureDetector__SWIG_1(PinchGestureDetector.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PinchGestureDetector Assign(PinchGestureDetector rhs)
-        {
-            PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.PinchGestureDetector_Assign(swigCPtr, PinchGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal PinchGestureDetectedSignal DetectedSignal()
-        {
-            PinchGestureDetectedSignal ret = new PinchGestureDetectedSignal(NDalicPINVOKE.PinchGestureDetector_DetectedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
     }
 
 }
index 79d977a..6392333 100755 (executable)
@@ -38,51 +38,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PixelBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelBuffer_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelBuffer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //Because the execution order of Finalizes is non-deterministic.
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PixelBuffer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Create a PixelBuffer with its own data buffer.
         /// </summary>
@@ -102,11 +57,9 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal PixelBuffer Assign(PixelBuffer rhs)
+        internal PixelBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelBuffer_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            PixelBuffer ret = new PixelBuffer(NDalicPINVOKE.PixelBuffer_Assign(swigCPtr, PixelBuffer.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -142,14 +95,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal SWIGTYPE_p_unsigned_char GetBuffer()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.PixelBuffer_GetBuffer(swigCPtr);
-            SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Gets the width of the buffer in pixels.
         /// </summary>
@@ -302,6 +247,61 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelBuffer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal PixelBuffer Assign(PixelBuffer rhs)
+        {
+            PixelBuffer ret = new PixelBuffer(NDalicPINVOKE.PixelBuffer_Assign(swigCPtr, PixelBuffer.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_unsigned_char GetBuffer()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.PixelBuffer_GetBuffer(swigCPtr);
+            SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User.
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //Because the execution order of Finalizes is non-deterministic.
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PixelBuffer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
index b5c776e..386907e 100755 (executable)
@@ -36,53 +36,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PixelData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelData_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelData obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //Because the execution order of Finalizes is non-deterministic.
-
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PixelData(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Creates a PixelData object.
         /// </summary>
@@ -101,6 +54,30 @@ namespace Tizen.NUI
 
         }
 
+        internal PixelData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelData_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Enumeration for function to release the pixel buffer.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public enum ReleaseFunction
+        {
+            /// <summary>
+            /// Use free function to release the pixel buffer.
+            /// </summary>
+            Free,
+
+            /// <summary>
+            /// Use delete[] operator to release the pixel buffer.
+            /// </summary>
+            DeleteArray
+        }
+
         /// <summary>
         /// Gets the width of the buffer in pixels.
         /// </summary>
@@ -143,23 +120,46 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelData obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Enumeration for function to release the pixel buffer.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public enum ReleaseFunction
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// Use free function to release the pixel buffer.
-            /// </summary>
-            Free,
+            if (disposed)
+            {
+                return;
+            }
 
-            /// <summary>
-            /// Use delete[] operator to release the pixel buffer.
-            /// </summary>
-            DeleteArray
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User.
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //Because the execution order of Finalizes is non-deterministic.
+
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PixelData(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
     }
 }
\ No newline at end of file
index 28d80f5..acd93a7 100755 (executable)
@@ -29,31 +29,58 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(PositionTypeConverter))]
     public class Position : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <param name="z">The z component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
+        /// <param name="position2d">Position2D to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
 
         /// <summary>
         /// Dispose.
@@ -69,447 +96,319 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// ParentOrigin constants. It's 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public static float ParentOriginTop
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.ParentOriginTop_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// ParentOrigin constants. It's 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public static float ParentOriginBottom
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                float ret = NDalicPINVOKE.ParentOriginBottom_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
-
         /// <summary>
-        /// An addition operator.
+        /// ParentOrigin constants. It's 0.0.
         /// </summary>
-        /// <param name="arg1">The vector to add.</param>
-        /// <param name="arg2">The vector to add.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator +(Position arg1, Position arg2)
+        public static float ParentOriginLeft
         {
-            return arg1.Add(arg2);
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginLeft_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The subtraction operator.
+        /// ParentOrigin constants. It's 1.0.
         /// </summary>
-        /// <param name="arg1">The vector to subtract.</param>
-        /// <param name="arg2">The vector to subtract.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator -(Position arg1, Position arg2)
+        public static float ParentOriginRight
         {
-            return arg1.Subtract(arg2);
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginRight_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The unary negation operator.
+        /// ParentOrigin constants. It's 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to negate.</param>
-        /// <returns>The vector containg the negation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator -(Position arg1)
+        public static float ParentOriginMiddle
         {
-            return arg1.Subtract();
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The multiplication operator.
+        /// ParentOrigin constants: 0.0, 0.0, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to multiply.</param>
-        /// <param name="arg2">The vector to multiply.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator *(Position arg1, Position arg2)
+        public static Position ParentOriginTopLeft
         {
-            return arg1.Multiply(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The multiplication operator.
+        /// ParentOrigin constants: 0.5, 0.0, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to multiply</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator *(Position arg1, float arg2)
+        public static Position ParentOriginTopCenter
         {
-            return arg1.Multiply(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The division operator.
+        /// ParentOrigin constants: 1.0, 0.0, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to divide.</param>
-        /// <param name="arg2">The vector to divide.</param>
-        /// <returns>The vector containing the result of the division.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator /(Position arg1, Position arg2)
+        public static Position ParentOriginTopRight
         {
-            return arg1.Divide(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The division operator.
+        /// ParentOrigin constants: 0.0, 0.5, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to divide.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator /(Position arg1, float arg2)
+        public static Position ParentOriginCenterLeft
         {
-            return arg1.Divide(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1, or 2.
+        /// ParentOrigin constants: 0.0, 0.5, 0.5
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public static Position ParentOriginCenter
         {
             get
             {
-                return ValueOfIndex(index);
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
-        {
-            Position ret = new Position(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-
         /// <summary>
-        /// The constructor.
+        /// ParentOrigin constants: 1.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        public static Position ParentOriginCenterRight
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
         /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <param name="z">The z component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+        public static Position ParentOriginBottomLeft
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// ParentOrigin constants: 0.5, 1.0, 0.5.
         /// </summary>
-        /// <param name="position2d">Position2D to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
+        public static Position ParentOriginBottomCenter
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-
-
-        private Position Add(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Subtract(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Multiply(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Multiply(float rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Divide(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Divide(float rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Subtract()
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Position position = obj as Position;
-            bool equal = false;
-            if (X == position?.X && Y == position?.Y && Z == position?.Z)
+            get
             {
-                equal = true;
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Position.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode();
-        }
-
-        /// <summary>
-        /// Compares if rhs is equal to.
-        /// </summary>
-        /// <param name="rhs">The vector to compare.</param>
-        /// <returns>Returns true if the two vectors are equal, otherwise false.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Position rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Compares if rhs is not equal to.
-        /// </summary>
-        /// <param name="rhs">The vector to compare.</param>
-        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Position rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-
         /// <summary>
-        /// The x component.
+        /// ParentOrigin constants: 1.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public static Position ParentOriginBottomRight
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The y component.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Y
+        public static float PivotPointTop
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+                float ret = NDalicPINVOKE.AnchorPointTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The z component.
+        /// PivotPoint constants: 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Z
+        public static float PivotPointBottom
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                float ret = NDalicPINVOKE.AnchorPointBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.0.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginTop
+        public static float PivotPointLeft
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginTop_get();
+                float ret = NDalicPINVOKE.AnchorPointLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 1.0.
+        /// PivotPoint constants: 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginBottom
+        public static float PivotPointRight
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginBottom_get();
+                float ret = NDalicPINVOKE.AnchorPointRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.0.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginLeft
+        public static float PivotPointMiddle
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginLeft_get();
+                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 1.0.
+        /// PivotPoint constants: 0.0, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginRight
+        public static Position PivotPointTopLeft
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.5.
+        /// PivotPoint constants: 0.5, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginMiddle
+        public static Position PivotPointTopCenter
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.0, 0.5.
+        /// PivotPoint constants: 1.0, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopLeft
+        public static Position PivotPointTopRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -517,14 +416,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.5, 0.0, 0.5.
+        /// PivotPoint constants: 0.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopCenter
+        public static Position PivotPointCenterLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -532,14 +431,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 0.0, 0.5.
+        /// PivotPoint constants: 0.5, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopRight
+        public static Position PivotPointCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -547,14 +446,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.5, 0.5.
+        /// PivotPoint constants: 1.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenterLeft
+        public static Position PivotPointCenterRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -562,14 +461,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.5, 0.5
+        /// PivotPoint constants: 0.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenter
+        public static Position PivotPointBottomLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -577,14 +476,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 0.5, 0.5.
+        /// PivotPoint constants: 0.5, 1.0, 0.5
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenterRight
+        public static Position PivotPointBottomCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -592,14 +491,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
+        /// PivotPoint constants: 1.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomLeft
+        public static Position PivotPointBottomRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -607,14 +506,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.5, 1.0, 0.5.
+        /// Constant ( 1.0f, 1.0f, 1.0f ).
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomCenter
+        public static Position One
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -622,14 +521,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 1.0, 0.5.
+        /// Constant ( 0.0f, 0.0f, 0.0f ).
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomRight
+        public static Position Zero
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -637,129 +536,122 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointTop
+        public float X
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointTop_get();
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointBottom
+        public float Y
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointBottom_get();
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// The z component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointLeft
+        public float Z
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointLeft_get();
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 1.0.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointRight
+        internal static Position XAxis
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 0.0.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointMiddle
+        internal static Position YAxis
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 0.0, 0.0, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopLeft
+        internal static Position ZAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 0.5, 0.0, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopCenter
+        internal static Position NegativeXAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 1.0, 0.0, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopRight
+        internal static Position NegativeYAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 0.0, 0.5, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenterLeft
+        internal static Position NegativeZAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -767,192 +659,297 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 0.5, 0.5.
+        /// The const array subscript operator overload. Should be 0, 1, or 2.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenter
+        public float this[uint index]
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return ValueOfIndex(index);
             }
         }
 
+
         /// <summary>
-        /// PivotPoint constants: 1.0, 0.5, 0.5.
+        /// An addition operator.
         /// </summary>
+        /// <param name="arg1">The vector to add.</param>
+        /// <param name="arg2">The vector to add.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenterRight
+        public static Position operator +(Position arg1, Position arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Add(arg2);
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0, 1.0, 0.5.
+        /// The subtraction operator.
         /// </summary>
+        /// <param name="arg1">The vector to subtract.</param>
+        /// <param name="arg2">The vector to subtract.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointBottomLeft
+        public static Position operator -(Position arg1, Position arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Subtract(arg2);
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 1.0, 0.5
+        /// The unary negation operator.
         /// </summary>
+        /// <param name="arg1">The vector to negate.</param>
+        /// <returns>The vector containg the negation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointBottomCenter
+        public static Position operator -(Position arg1)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Subtract();
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0, 1.0, 0.5.
+        /// The multiplication operator.
         /// </summary>
+        /// <param name="arg1">The vector to multiply.</param>
+        /// <param name="arg2">The vector to multiply.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointBottomRight
+        public static Position operator *(Position arg1, Position arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Multiply(arg2);
         }
 
         /// <summary>
-        /// Constant ( 1.0f, 1.0f, 1.0f ).
+        /// The multiplication operator.
         /// </summary>
+        /// <param name="arg1">The vector to multiply</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position One
+        public static Position operator *(Position arg1, float arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Multiply(arg2);
         }
 
-        internal static Position XAxis
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The vector to divide.</param>
+        /// <param name="arg2">The vector to divide.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position operator /(Position arg1, Position arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Divide(arg2);
         }
 
-        internal static Position YAxis
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The vector to divide.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position operator /(Position arg1, float arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Divide(arg2);
         }
 
-        internal static Position ZAxis
+        /// <summary>
+        /// Converts a position instance to a Vector3 instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector3(Position Position)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return new Vector3(Position.X, Position.Y, Position.Z);
         }
 
-        internal static Position NegativeXAxis
+        /// <summary>
+        /// Converts a Vector3 instance to a position instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Position(Vector3 vec)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return new Position(vec.X, vec.Y, vec.Z);
         }
 
-        internal static Position NegativeYAxis
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
         {
-            get
+            Position position = obj as Position;
+            bool equal = false;
+            if (X == position?.X && Y == position?.Y && Z == position?.Z)
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                equal = true;
             }
+            return equal;
         }
 
-        internal static Position NegativeZAxis
+        /// <summary>
+        /// Gets the the hash code of this Position.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public override int GetHashCode()
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return X.GetHashCode();
         }
 
         /// <summary>
-        /// Constant ( 0.0f, 0.0f, 0.0f ).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position Zero
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// Converts a position instance to a Vector3 instance.
+        /// Compares if rhs is equal to.
         /// </summary>
+        /// <param name="rhs">The vector to compare.</param>
+        /// <returns>Returns true if the two vectors are equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector3(Position Position)
+        public bool EqualTo(Position rhs)
         {
-            return new Vector3(Position.X, Position.Y, Position.Z);
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Converts a Vector3 instance to a position instance.
+        /// Compares if rhs is not equal to.
         /// </summary>
+        /// <param name="rhs">The vector to compare.</param>
+        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Position(Vector3 vec)
+        public bool NotEqualTo(Position rhs)
         {
-            return new Position(vec.X, vec.Y, vec.Z);
+            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
+        {
+            Position ret = new Position(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+
+        private Position Add(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Subtract(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Multiply(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Multiply(float rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Divide(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Divide(float rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Subtract()
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
     }
index bfd7b3e..e45b84a 100755 (executable)
@@ -29,38 +29,51 @@ namespace Tizen.NUI
     public class Position2D : global::System.IDisposable
     {
         /// <summary>
-        /// Convert a string to Position2D.
+        /// swigCMemOwn
         /// </summary>
-        /// <param name="value">The string to convert.</param>
-        /// <returns>The converted value.</returns>
-        static public Position2D ConvertFromString(System.String value)
-        {
-            if (value != null)
-            {
-                string[] parts = value.Split(',');
-                if (parts.Length == 2)
-                {
-                    return new Position2D(int.Parse(parts[0].Trim(), CultureInfo.InvariantCulture), int.Parse(parts[1].Trim(), CultureInfo.InvariantCulture));
-                }
-            }
+        /// <since_tizen> 3 </since_tizen>
+        protected bool swigCMemOwn;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position2D)}");
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        private Position2DChangedCallback callback = null;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Constructor a Position2D from a stirng.
+        /// The constructor.
         /// </summary>
-        public static implicit operator Position2D(System.String value)
+        /// <param name="position">Position to create this vector from</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true)
         {
-            return ConvertFromString(value);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
-        /// swigCMemOwn
+        /// The constructor.
         /// </summary>
+        /// <param name="x">x component</param>
+        /// <param name="y">y component</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
+        public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         internal Position2D(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -68,19 +81,12 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position2D obj)
+        internal Position2D(Position2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            callback = cb;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -94,62 +100,112 @@ namespace Tizen.NUI
             }
         }
 
+        internal delegate void Position2DChangedCallback(int x, int y);
+
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(X, Y);
             }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
+            }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Y
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(X, Y);
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The const array subscript operator overload. Should be 0, or 1.
         /// </summary>
-        /// <param name="type">The dispose type.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float this[uint index]
         {
-            if (disposed)
+            get
             {
-                return;
+                return ValueOfIndex(index);
             }
+        }
 
-            if (type == DisposeTypes.Explicit)
+        /// <summary>
+        /// Convert a string to Position2D.
+        /// </summary>
+        /// <param name="value">The string to convert.</param>
+        /// <returns>The converted value.</returns>
+        static public Position2D ConvertFromString(System.String value)
+        {
+            if (value != null)
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                string[] parts = value.Split(',');
+                if (parts.Length == 2)
+                {
+                    return new Position2D(int.Parse(parts[0].Trim()), int.Parse(parts[1].Trim()));
+                }
             }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position2D)}");
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// Constructor a Position2D from a stirng.
+        /// </summary>
+        public static implicit operator Position2D(System.String value)
+        {
+            return ConvertFromString(value);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -236,62 +292,124 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, or 1.
+        /// Determines whether the specified object is equal to the current object.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
         {
-            get
+            Position2D position2D = obj as Position2D;
+            bool equal = false;
+            if (X == position2D?.X && Y == position2D?.Y)
             {
-                return ValueOfIndex(index);
+                equal = true;
             }
+            return equal;
         }
 
-        internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Gets the the hash code of this Position2D.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public override int GetHashCode()
         {
-            Position2D ret = new Position2D(cPtr, false);
+            return X.GetHashCode();
+        }
+
+        /// <summary>
+        /// Compares if the rhs is equal to.
+        /// </summary>
+        /// <param name="rhs">The vector to compare</param>
+        /// <returns>Returns true if the two vectors are equal, otherwise false</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool EqualTo(Position2D rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Compares if the rhs is not equal to.
         /// </summary>
+        /// <param name="rhs">The vector to compare.</param>
+        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        public bool NotEqualTo(Position2D rhs)
         {
+            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Converts a Position2D instance to a Vector2 instance.
         /// </summary>
-        /// <param name="x">x component</param>
-        /// <param name="y">y component</param>
+        /// <param name="position2d">An object of the Position2D type.</param>
+        /// <returns>return an object of the Vector2 type</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        public static implicit operator Vector2(Position2D position2d)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new Vector2((float)position2d.X, (float)position2d.Y);
         }
 
-        internal delegate void Position2DChangedCallback(int x, int y);
-        private Position2DChangedCallback callback = null;
-        internal Position2D(Position2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        /// <summary>
+        /// Converts a Vector2 instance to a Position2D instance.
+        /// </summary>
+        /// <param name="vec">An object of the Vector2 type.</param>
+        /// <returns>return an object of the Position2D type</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Position2D(Vector2 vec)
         {
-            callback = cb;
+            return new Position2D((int)vec.X, (int)vec.Y);
+        }
+
+        internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr)
+        {
+            Position2D ret = new Position2D(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position2D obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="position">Position to create this vector from</param>
+        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
         private Position2D Add(Position2D rhs)
@@ -345,58 +463,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Position2D position2D = obj as Position2D;
-            bool equal = false;
-            if (X == position2D?.X && Y == position2D?.Y)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Position2D.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode();
-        }
-
-        /// <summary>
-        /// Compares if the rhs is equal to.
-        /// </summary>
-        /// <param name="rhs">The vector to compare</param>
-        /// <returns>Returns true if the two vectors are equal, otherwise false</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Position2D rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Compares if the rhs is not equal to.
-        /// </summary>
-        /// <param name="rhs">The vector to compare.</param>
-        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Position2D rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         private int ValueOfIndex(uint index)
         {
             int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
@@ -404,70 +470,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int X
-        {
-            set
-            {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-                callback?.Invoke(X, Y);
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
-            }
-        }
-
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Y
-        {
-            set
-            {
-                NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-                callback?.Invoke(X, Y);
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
-            }
-        }
-
-        /// <summary>
-        /// Converts a Position2D instance to a Vector2 instance.
-        /// </summary>
-        /// <param name="position2d">An object of the Position2D type.</param>
-        /// <returns>return an object of the Vector2 type</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector2(Position2D position2d)
-        {
-            return new Vector2((float)position2d.X, (float)position2d.Y);
-        }
-
-        /// <summary>
-        /// Converts a Vector2 instance to a Position2D instance.
-        /// </summary>
-        /// <param name="vec">An object of the Vector2 type.</param>
-        /// <returns>return an object of the Position2D type</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Position2D(Vector2 vec)
-        {
-            return new Position2D((int)vec.X, (int)vec.Y);
-        }
-
     }
 
 }
index dd9c2de..69cb8cb 100755 (executable)
@@ -22,259 +22,48 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
-
-    internal class Property : global::System.IDisposable
+    /// <summary>
+    /// An array of property values.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyArray : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-
-        internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// <since_tizen> 3 </since_tizen>
         /// A Flat to check if it is already disposed.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        ~Property()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-
-        internal static int INVALID_INDEX
-        {
-            get
-            {
-                int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        internal static int INVALID_KEY
-        {
-            get
-            {
-                int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        internal static int INVALID_COMPONENT_INDEX
-        {
-            get
-            {
-                int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// This constructor creates a property instance.
-        /// </summary>
-        /// <param name="arg0">A valid handle to the target object.</param>
-        /// <param name="propertyIndex">The index of a property.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Property(Animatable arg0, int propertyIndex) : this(NDalicPINVOKE.new_Property__SWIG_0(Animatable.getCPtr(arg0), propertyIndex), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// This constructor creates a property instance.
-        /// </summary>
-        /// <param name="arg0">A valid handle to the target object.</param>
-        /// <param name="propertyIndex">The index of a property.</param>
-        /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for the main property (default is -1).</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Property(Animatable arg0, int propertyIndex, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_1(Animatable.getCPtr(arg0), propertyIndex, componentIndex), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
-        /// This constructor creates a property instance.<br />
-        /// This performs a property index query and is therefore slower than constructing a property directly with the index.<br />
+        /// The constructor.
         /// </summary>
-        /// <param name="arg0">A valid handle to the target object.</param>
-        /// <param name="propertyName">The property name.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Property(Animatable arg0, string propertyName) : this(NDalicPINVOKE.new_Property__SWIG_2(Animatable.getCPtr(arg0), propertyName), true)
+        public PropertyArray() : this(NDalicPINVOKE.new_Property_Array__SWIG_0(), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// This constructor creates a property instance.<br />
-        /// This performs a property index query and is therefore slower than constructing a property directly with the index.<br />
-        /// </summary>
-        /// <param name="arg0">A valid handle to the target object.</param>
-        /// <param name="propertyName">The property name.</param>
-        /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1).</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Property(Animatable arg0, string propertyName, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_3(Animatable.getCPtr(arg0), propertyName, componentIndex), true)
+        internal PropertyArray(PropertyArray other) : this(NDalicPINVOKE.new_Property_Array__SWIG_1(PropertyArray.getCPtr(other)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Animatable _object
-        {
-            set
-            {
-                NDalicPINVOKE.Property__object_set(swigCPtr, Animatable.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                Animatable ret = new Animatable(NDalicPINVOKE.Property__object_get(swigCPtr), false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the index of the property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int propertyIndex
-        {
-            set
-            {
-                NDalicPINVOKE.Property_propertyIndex_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Property_propertyIndex_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the component index of the property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int componentIndex
-        {
-            set
-            {
-                NDalicPINVOKE.Property_componentIndex_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Property_componentIndex_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-    }
-
-    /// <summary>
-    /// An array of property values.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyArray : global::System.IDisposable
-    {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-
         internal PropertyArray(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
             swigCMemOwn = cMemoryOwn;
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -289,63 +78,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Array(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        /// <summary>
         /// The operator to access an element.
         /// </summary>
         /// <param name="index">The element index to access. No bounds checking is performed.</param>
@@ -360,20 +92,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyArray() : this(NDalicPINVOKE.new_Property_Array__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PropertyArray(PropertyArray other) : this(NDalicPINVOKE.new_Property_Array__SWIG_1(PropertyArray.getCPtr(other)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
         /// Retrieves the number of elements in the array.
         /// </summary>
         /// <returns>The number of elements in the array.</returns>
@@ -502,64 +220,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the value of elements in the array.
-        /// </summary>
-        /// <param name="index">The element index to retrieve.</param>
-        /// <returns>The reference to the element.</returns>
-        private PropertyValue ValueOfIndex(uint index)
-        {
-            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-    }
-
-    /// <summary>
-    /// A key type which can be either a std::string or a Property::Index.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyKey : global::System.IDisposable
-    {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-
-        internal PropertyKey(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~PropertyKey()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -582,6 +242,11 @@ namespace Tizen.NUI
             }
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -593,7 +258,7 @@ namespace Tizen.NUI
                 return;
             }
 
-            if(type == DisposeTypes.Explicit)
+            if (type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -609,7 +274,7 @@ namespace Tizen.NUI
                 if (swigCMemOwn)
                 {
                     swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Key(swigCPtr);
+                    NDalicPINVOKE.delete_Property_Array(swigCPtr);
                 }
                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
@@ -617,6 +282,98 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Retrieves the value of elements in the array.
+        /// </summary>
+        /// <param name="index">The element index to retrieve.</param>
+        /// <returns>The reference to the element.</returns>
+        private PropertyValue ValueOfIndex(uint index)
+        {
+            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
+
+    /// <summary>
+    /// A key type which can be either a std::string or a Property::Index.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyKey : global::System.IDisposable
+    {
+        /// <summary>
+        /// swigCMemOwn
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool swigCMemOwn;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="key">The string key.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyKey(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="key">The index key.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyKey(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal PropertyKey(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~PropertyKey()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
+        /// <summary>
+        /// The type of key.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum KeyType
+        {
+            /// <summary>
+            /// The type of key is index.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Index,
+            /// <summary>
+            /// The type of key is string.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            String
+        }
+
+        /// <summary>
         /// The type of the key.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -674,23 +431,26 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="key">The string key.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyKey(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="key">The index key.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyKey(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
@@ -771,24 +531,44 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// The type of key.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum KeyType
+        protected virtual void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// The type of key is index.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Index,
-            /// <summary>
-            /// The type of key is string.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            String
-        }
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Property_Key(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
     }
 
     /// <summary>
@@ -797,100 +577,58 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class PropertyMap : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-
-        internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyMap obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~PropertyMap()
+        public PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The copy constructor.
         /// </summary>
+        /// <param name="other">The map to copy from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public PropertyMap(PropertyMap other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~PropertyMap()
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            if(!isDisposeQueued)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Map(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -924,22 +662,26 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        /// <summary>
-        /// The copy constructor.
-        /// </summary>
-        /// <param name="other">The map to copy from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap(PropertyMap other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
@@ -1134,84 +876,20 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the element with the specified index key.
-        /// </summary>
-        /// <param name="key">The key whose value to retrieve.</param>
-        /// <returns>The value for the element with the specified key.</returns>
-        internal PropertyValue ValueOfIndex(int key)
-        {
-            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-    }
-
-    /// <summary>
-    /// A value-type representing a property value.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyValue : global::System.IDisposable
-    {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-
-        internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~PropertyValue()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
+        /// Retrieves the element with the specified index key.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        /// <param name="key">The key whose value to retrieve.</param>
+        /// <returns>The value for the element with the specified key.</returns>
+        internal PropertyValue ValueOfIndex(int key)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyMap obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
@@ -1225,7 +903,7 @@ namespace Tizen.NUI
                 return;
             }
 
-            if(type == DisposeTypes.Explicit)
+            if (type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -1241,109 +919,35 @@ namespace Tizen.NUI
                 if (swigCMemOwn)
                 {
                     swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Value(swigCPtr);
+                    NDalicPINVOKE.delete_Property_Map(swigCPtr);
                 }
                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
             disposed = true;
         }
+    }
 
-
+    /// <summary>
+    /// A value-type representing a property value.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyValue : global::System.IDisposable
+    {
         /// <summary>
-        /// An extension to the property value class that allows us to create a
-        /// Property value from a C# object, for example, integer, float, or string.<br />
+        /// swigCMemOwn
         /// </summary>
-        /// <param name="obj">An object to create.</param>
-        /// <returns>The created value.</returns>
         /// <since_tizen> 3 </since_tizen>
-        static public PropertyValue CreateFromObject(System.Object obj)
-        {
-            System.Type type = obj.GetType();
+        protected bool swigCMemOwn;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-            PropertyValue value;
-            if (type.IsEnum)
-            {
-                value = new PropertyValue((int)obj);//Enum.Parse(type, str);
-            }
-            else if (type.Equals(typeof(int)))
-            {
-                value = new PropertyValue((int)obj);
-            }
-            else if (type.Equals(typeof(System.Int32)))
-            {
-                value = new PropertyValue((int)obj);
-            }
-            else if (type.Equals(typeof(bool)))
-            {
-                value = new PropertyValue((bool)obj);
-            }
-            else if (type.Equals(typeof(float)))
-            {
-                value = new PropertyValue((float)obj);
-            }
-            else if (type.Equals(typeof(string)))
-            {
-                value = new PropertyValue((string)obj);
-            }
-            else if (type.Equals(typeof(Vector2)))
-            {
-                value = new PropertyValue((Vector2)obj);
-            }
-            else if (type.Equals(typeof(Vector3)))
-            {
-                value = new PropertyValue((Vector3)obj);
-            }
-            else if (type.Equals(typeof(Vector4)))
-            {
-                value = new PropertyValue((Vector4)obj);
-            }
-            else if (type.Equals(typeof(Position)))
-            {
-                value = new PropertyValue((Position)obj);
-            }
-            else if (type.Equals(typeof(Position2D)))
-            {
-                value = new PropertyValue((Position2D)obj);
-            }
-            else if (type.Equals(typeof(Size)))
-            {
-                value = new PropertyValue((Size)obj);
-            }
-            else if (type.Equals(typeof(Size2D)))
-            {
-                value = new PropertyValue((Size2D)obj);
-            }
-            else if (type.Equals(typeof(Color)))
-            {
-                value = new PropertyValue((Color)obj);
-            }
-            else if (type.Equals(typeof(Rotation)))
-            {
-                value = new PropertyValue((Rotation)obj);
-            }
-            else if (type.Equals(typeof(RelativeVector2)))
-            {
-                value = new PropertyValue((RelativeVector2)obj);
-            }
-            else if (type.Equals(typeof(RelativeVector3)))
-            {
-                value = new PropertyValue((RelativeVector3)obj);
-            }
-            else if (type.Equals(typeof(RelativeVector4)))
-            {
-                value = new PropertyValue((RelativeVector4)obj);
-            }
-            else if(type.Equals(typeof(Extents)))
-            {
-                value = new PropertyValue((Extents)obj);
-            }
-            else
-            {
-                throw new global::System.InvalidOperationException("Unimplemented type for Property Value :" + type.Name);
-            }
-            //NUILog.Debug(" got an property value of =" + type.Name);
-            return value;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// Creates a Size2D property value.
@@ -1366,15 +970,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates a Size property value.
-        /// </summary>
-        /// <param name="vectorValue">Size values.</param>
-        internal PropertyValue(Size vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
         /// Creates a Position property value.
         /// </summary>
         /// <param name="vectorValue">Position values.</param>
@@ -1393,140 +988,170 @@ namespace Tizen.NUI
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
-
+        /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
-        /// Retrieves a Size2D value.
+        /// Creates a boolean property value.
         /// </summary>
-        /// <param name="vectorValue"> On return, a Size2D value.</param>
+        /// <param name="boolValue">A boolean value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool Get(Size2D vectorValue)
+        public PropertyValue(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true)
         {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Size2D.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Retrieves a Position2D value.
+        /// Creates an integer property value.
         /// </summary>
-        /// <param name="vectorValue"> On return, a Position2D value.</param>
+        /// <param name="integerValue">An integer value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool Get(Position2D vectorValue)
+        public PropertyValue(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true)
         {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Position2D.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Retrieves a Size value.
+        /// Creates a float property value.
         /// </summary>
-        /// <param name="vectorValue"> On return, a size value.</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool Get(Size vectorValue)
+        /// <param name="floatValue">A floating-point value.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true)
         {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Size.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Retrieves a Position value.
+        /// Creates a Vector2 property value.
         /// </summary>
-        /// <param name="vectorValue"> On return, a position value.</param>
+        /// <param name="vectorValue">A vector of 2 floating-point values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool Get(Position vectorValue)
+        public PropertyValue(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
         {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Position.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Retrieves a Color value.
+        /// Creates a Vector3 property value.
         /// </summary>
-        /// <param name="vectorValue"> On return, a color value.</param>
+        /// <param name="vectorValue">A vector of 3 floating-point values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool Get(Color vectorValue)
+        public PropertyValue(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
         {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Color.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
+        /// <summary>
+        /// Creates a Vector4 property value.
+        /// </summary>
+        /// <param name="vectorValue">A vector of 4 floating-point values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
+        /// <summary>
+        /// Creates a Rectangle property value.
+        /// </summary>
+        /// <param name="vectorValue">Rectangle values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
-        /// The default constructor.
+        /// Creates a Rotation property value.
         /// </summary>
+        /// <param name="quaternion">Rotation values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true)
+        public PropertyValue(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a boolean property value.
+        /// Creates a string property value.
         /// </summary>
-        /// <param name="boolValue">A boolean value.</param>
+        /// <param name="stringValue">A string.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true)
+        public PropertyValue(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates an integer property value.
+        /// Creates an array property value.
         /// </summary>
-        /// <param name="integerValue">An integer value.</param>
+        /// <param name="arrayValue">An array.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true)
+        public PropertyValue(PropertyArray arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a float property value.
+        /// Creates a map property value.
         /// </summary>
-        /// <param name="floatValue">A floating-point value.</param>
+        /// <param name="mapValue">An array.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true)
+        public PropertyValue(PropertyMap mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a Vector2 property value.
+        /// Creates a Extents value.
         /// </summary>
-        /// <param name="vectorValue">A vector of 2 floating-point values.</param>
+        /// <param name="extentsValue">A Extents value.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyValue(Extents extentsValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_16(Extents.getCPtr(extentsValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a PropertyType value.
+        /// </summary>
+        /// <param name="type">A PropertyType value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
+        public PropertyValue(PropertyType type) : this(NDalicPINVOKE.new_Property_Value__SWIG_17((int)type), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a Vector3 property value.
+        /// Creates a PropertyValue value.
         /// </summary>
-        /// <param name="vectorValue">A vector of 3 floating-point values.</param>
+        /// <param name="value">A PropertyValue value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
+        public PropertyValue(PropertyValue value) : this(NDalicPINVOKE.new_Property_Value__SWIG_18(PropertyValue.getCPtr(value)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a Vector4 property value.
+        /// Creates a Size property value.
         /// </summary>
-        /// <param name="vectorValue">A vector of 4 floating-point values.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true)
+        /// <param name="vectorValue">Size values.</param>
+        internal PropertyValue(Size vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         internal PropertyValue(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -1537,89 +1162,202 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Creates a Rectangle property value.
-        /// </summary>
-        /// <param name="vectorValue">Rectangle values.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
+        internal PropertyValue(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal PropertyValue(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true)
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~PropertyValue()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
-        /// Creates a Rotation property value.
+        /// An extension to the property value class that allows us to create a
+        /// Property value from a C# object, for example, integer, float, or string.<br />
         /// </summary>
-        /// <param name="quaternion">Rotation values.</param>
+        /// <param name="obj">An object to create.</param>
+        /// <returns>The created value.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
+        static public PropertyValue CreateFromObject(System.Object obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            System.Type type = obj.GetType();
+
+            PropertyValue value;
+            if (type.IsEnum)
+            {
+                value = new PropertyValue((int)obj);//Enum.Parse(type, str);
+            }
+            else if (type.Equals(typeof(int)))
+            {
+                value = new PropertyValue((int)obj);
+            }
+            else if (type.Equals(typeof(System.Int32)))
+            {
+                value = new PropertyValue((int)obj);
+            }
+            else if (type.Equals(typeof(bool)))
+            {
+                value = new PropertyValue((bool)obj);
+            }
+            else if (type.Equals(typeof(float)))
+            {
+                value = new PropertyValue((float)obj);
+            }
+            else if (type.Equals(typeof(string)))
+            {
+                value = new PropertyValue((string)obj);
+            }
+            else if (type.Equals(typeof(Vector2)))
+            {
+                value = new PropertyValue((Vector2)obj);
+            }
+            else if (type.Equals(typeof(Vector3)))
+            {
+                value = new PropertyValue((Vector3)obj);
+            }
+            else if (type.Equals(typeof(Vector4)))
+            {
+                value = new PropertyValue((Vector4)obj);
+            }
+            else if (type.Equals(typeof(Position)))
+            {
+                value = new PropertyValue((Position)obj);
+            }
+            else if (type.Equals(typeof(Position2D)))
+            {
+                value = new PropertyValue((Position2D)obj);
+            }
+            else if (type.Equals(typeof(Size)))
+            {
+                value = new PropertyValue((Size)obj);
+            }
+            else if (type.Equals(typeof(Size2D)))
+            {
+                value = new PropertyValue((Size2D)obj);
+            }
+            else if (type.Equals(typeof(Color)))
+            {
+                value = new PropertyValue((Color)obj);
+            }
+            else if (type.Equals(typeof(Rotation)))
+            {
+                value = new PropertyValue((Rotation)obj);
+            }
+            else if (type.Equals(typeof(RelativeVector2)))
+            {
+                value = new PropertyValue((RelativeVector2)obj);
+            }
+            else if (type.Equals(typeof(RelativeVector3)))
+            {
+                value = new PropertyValue((RelativeVector3)obj);
+            }
+            else if (type.Equals(typeof(RelativeVector4)))
+            {
+                value = new PropertyValue((RelativeVector4)obj);
+            }
+            else if(type.Equals(typeof(Extents)))
+            {
+                value = new PropertyValue((Extents)obj);
+            }
+            else
+            {
+                throw new global::System.InvalidOperationException("Unimplemented type for Property Value :" + type.Name);
+            }
+            //NUILog.Debug(" got an property value of =" + type.Name);
+            return value;
         }
 
         /// <summary>
-        /// Creates a string property value.
+        /// Dispose.
         /// </summary>
-        /// <param name="stringValue">A string.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// Creates an array property value.
+        /// Retrieves a Size2D value.
         /// </summary>
-        /// <param name="arrayValue">An array.</param>
+        /// <param name="vectorValue"> On return, a Size2D value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyArray arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
+        public bool Get(Size2D vectorValue)
         {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Size2D.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a map property value.
+        /// Retrieves a Position2D value.
         /// </summary>
-        /// <param name="mapValue">An array.</param>
+        /// <param name="vectorValue"> On return, a Position2D value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyMap mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
+        public bool Get(Position2D vectorValue)
         {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Position2D.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Extents value.
+        /// Retrieves a Size value.
         /// </summary>
-        /// <param name="extentsValue">A Extents value.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyValue(Extents extentsValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_16(Extents.getCPtr(extentsValue)), true)
+        /// <param name="vectorValue"> On return, a size value.</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool Get(Size vectorValue)
         {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Size.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a PropertyType value.
+        /// Retrieves a Position value.
         /// </summary>
-        /// <param name="type">A PropertyType value.</param>
+        /// <param name="vectorValue"> On return, a position value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyType type) : this(NDalicPINVOKE.new_Property_Value__SWIG_17((int)type), true)
+        public bool Get(Position vectorValue)
         {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Position.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a PropertyValue value.
+        /// Retrieves a Color value.
         /// </summary>
-        /// <param name="value">A PropertyValue value.</param>
+        /// <param name="vectorValue"> On return, a color value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyValue value) : this(NDalicPINVOKE.new_Property_Value__SWIG_18(PropertyValue.getCPtr(value)), true)
+        public bool Get(Color vectorValue)
         {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Color.getCPtr(vectorValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -1770,27 +1508,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal bool Get(Matrix3 matrixValue)
-        {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal bool Get(Matrix matrixValue)
-        {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal bool Get(AngleAxis angleAxisValue)
-        {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Retrieves a rotation value.
         /// </summary>
@@ -1851,9 +1568,69 @@ namespace Tizen.NUI
         /// <since_tizen> 4 </since_tizen>
         public bool Get(Extents extentsValue)
         {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_15(swigCPtr, Extents.getCPtr(extentsValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_15(swigCPtr, Extents.getCPtr(extentsValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal bool Get(Matrix3 matrixValue)
+        {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal bool Get(Matrix matrixValue)
+        {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal bool Get(AngleAxis angleAxisValue)
+        {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Property_Value(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
     }
 
@@ -1862,10 +1639,6 @@ namespace Tizen.NUI
     /// </summary>
     public class KeyValue
     {
-        private string _key = null;
-        private object _originalValue = null;
-        private object _originalKey = null;
-
         /// <summary>
         /// Int key.
         /// </summary>
@@ -1881,6 +1654,10 @@ namespace Tizen.NUI
         /// </summary>
         public PropertyValue TrueValue = null;
 
+        private string _key = null;
+        private object _originalValue = null;
+        private object _originalKey = null;
+
         /// <summary>
         /// Default Constructor.
         /// </summary>
@@ -2184,4 +1961,223 @@ namespace Tizen.NUI
             }
         }
     }
+
+    internal class Property : global::System.IDisposable
+    {
+        /// <summary>
+        /// swigCMemOwn
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool swigCMemOwn;
+        /// <summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// This constructor creates a property instance.
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object.</param>
+        /// <param name="propertyIndex">The index of a property.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Property(Animatable arg0, int propertyIndex) : this(NDalicPINVOKE.new_Property__SWIG_0(Animatable.getCPtr(arg0), propertyIndex), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// This constructor creates a property instance.
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object.</param>
+        /// <param name="propertyIndex">The index of a property.</param>
+        /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for the main property (default is -1).</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Property(Animatable arg0, int propertyIndex, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_1(Animatable.getCPtr(arg0), propertyIndex, componentIndex), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// This constructor creates a property instance.<br />
+        /// This performs a property index query and is therefore slower than constructing a property directly with the index.<br />
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object.</param>
+        /// <param name="propertyName">The property name.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Property(Animatable arg0, string propertyName) : this(NDalicPINVOKE.new_Property__SWIG_2(Animatable.getCPtr(arg0), propertyName), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// This constructor creates a property instance.<br />
+        /// This performs a property index query and is therefore slower than constructing a property directly with the index.<br />
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object.</param>
+        /// <param name="propertyName">The property name.</param>
+        /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1).</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Property(Animatable arg0, string propertyName, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_3(Animatable.getCPtr(arg0), propertyName, componentIndex), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        ~Property()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the index of the property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int propertyIndex
+        {
+            set
+            {
+                NDalicPINVOKE.Property_propertyIndex_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Property_propertyIndex_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the component index of the property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int componentIndex
+        {
+            set
+            {
+                NDalicPINVOKE.Property_componentIndex_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Property_componentIndex_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        internal static int INVALID_INDEX
+        {
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        internal static int INVALID_KEY
+        {
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        internal static int INVALID_COMPONENT_INDEX
+        {
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        internal Animatable _object
+        {
+            set
+            {
+                NDalicPINVOKE.Property__object_set(swigCPtr, Animatable.getCPtr(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                Animatable ret = new Animatable(NDalicPINVOKE.Property__object_get(swigCPtr), false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Property(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+    }
 }
\ No newline at end of file
index 526fded..93a1d77 100755 (executable)
@@ -26,11 +26,49 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        /// <summary>
+        /// Creates a PropertyBuffer.
+        /// </summary>
+        /// <param name="bufferFormat">The map of names and types that describes the components of the buffer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyBuffer(PropertyMap bufferFormat) : this(NDalicPINVOKE.PropertyBuffer_New(PropertyMap.getCPtr(bufferFormat)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
         internal PropertyBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyBuffer_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        /// <summary>
+        /// Updates the whole buffer information.<br />
+        /// This function expects a pointer to an array of structures with the same
+        /// format that was given in the construction, and the number of elements to
+        /// be the same as the size of the buffer.<br />
+        /// </summary>
+        /// <param name="data">A pointer to the data that will be copied to the buffer.</param>
+        /// <param name="size">Number of elements to expand or contract the buffer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetData(System.IntPtr data, uint size)
+        {
+            NDalicPINVOKE.PropertyBuffer_SetData(swigCPtr, data, size);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the number of elements in the buffer.
+        /// </summary>
+        /// <returns>Number of elements to expand or contract the buffer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint GetSize()
+        {
+            uint ret = NDalicPINVOKE.PropertyBuffer_GetSize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyBuffer obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
@@ -72,43 +110,6 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        /// <summary>
-        /// Creates a PropertyBuffer.
-        /// </summary>
-        /// <param name="bufferFormat">The map of names and types that describes the components of the buffer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyBuffer(PropertyMap bufferFormat) : this(NDalicPINVOKE.PropertyBuffer_New(PropertyMap.getCPtr(bufferFormat)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-        /// <summary>
-        /// Updates the whole buffer information.<br />
-        /// This function expects a pointer to an array of structures with the same
-        /// format that was given in the construction, and the number of elements to
-        /// be the same as the size of the buffer.<br />
-        /// </summary>
-        /// <param name="data">A pointer to the data that will be copied to the buffer.</param>
-        /// <param name="size">Number of elements to expand or contract the buffer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetData(System.IntPtr data, uint size)
-        {
-            NDalicPINVOKE.PropertyBuffer_SetData(swigCPtr, data, size);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the number of elements in the buffer.
-        /// </summary>
-        /// <returns>Number of elements to expand or contract the buffer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint GetSize()
-        {
-            uint ret = NDalicPINVOKE.PropertyBuffer_GetSize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
     }
 
 }
\ No newline at end of file
index 6c94216..bd225cc 100755 (executable)
@@ -25,52 +25,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PropertyCondition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyCondition_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyCondition obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PropertyCondition(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Create a property condition instance.
         /// </summary>
@@ -80,6 +34,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal PropertyCondition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyCondition_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Retrieves the arguments that this condition uses.
         /// </summary>
@@ -185,6 +144,47 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyCondition obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PropertyCondition(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
\ No newline at end of file
index 86209bf..a8f2386 100755 (executable)
@@ -30,81 +30,34 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        private DaliEventHandler<object, NotifyEventArgs> _propertyNotificationNotifyEventHandler;
+        private NotifyEventCallbackDelegate _propertyNotificationNotifyEventCallbackDelegate;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotification obj)
+        /// <summary>
+        /// Create a instance of PropertyNotification.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyNotification() : this(NDalicPINVOKE.new_PropertyNotification__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// Create a instance of PropertyNotification.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public PropertyNotification(PropertyNotification handle) : this(NDalicPINVOKE.new_PropertyNotification__SWIG_1(PropertyNotification.getCPtr(handle)), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PropertyNotification(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        ///<summary>
-        /// Event arguments that passed via Notify signal
-        ///</summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class NotifyEventArgs : EventArgs
+        internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            private PropertyNotification _propertyNotification;
-
-            ///<summary>
-            /// PropertyNotification - is the PropertyNotification handle that has the notification properties.
-            ///</summary>
-            /// <since_tizen> 3 </since_tizen>
-            public PropertyNotification PropertyNotification
-            {
-                get
-                {
-                    return _propertyNotification;
-                }
-                set
-                {
-                    _propertyNotification = value;
-                }
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void NotifyEventCallbackDelegate(IntPtr propertyNotification);
-        private DaliEventHandler<object, NotifyEventArgs> _propertyNotificationNotifyEventHandler;
-        private NotifyEventCallbackDelegate _propertyNotificationNotifyEventCallbackDelegate;
 
         ///<summary>
         /// Event for Notified signal which can be used to subscribe/unsubscribe the event handler
@@ -142,17 +95,32 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for PropertyNotification NotifySignal
-        private void OnPropertyNotificationNotify(IntPtr propertyNotification)
+        /// <summary>
+        /// Enumeration for description of how to check condition.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum NotifyMode
         {
-            NotifyEventArgs e = new NotifyEventArgs();
-            e.PropertyNotification = GetPropertyNotificationFromPtr(propertyNotification);
-
-            if (_propertyNotificationNotifyEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _propertyNotificationNotifyEventHandler(this, e);
-            }
+            /// <summary>
+            /// Don't notify, regardless of result of Condition
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Disabled,
+            /// <summary>
+            /// Notify whenever condition changes from false to true.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            NotifyOnTrue,
+            /// <summary>
+            /// Notify whenever condition changes from true to false.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            NotifyOnFalse,
+            /// <summary>
+            /// Notify whenever condition changes (false to true, and true to false)
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            NotifyOnChanged
         }
 
         /// <summary>
@@ -170,15 +138,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Create a instance of PropertyNotification.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyNotification() : this(NDalicPINVOKE.new_PropertyNotification__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
         /// Downcast a PropertyNotification instance.
         /// </summary>
         /// <param name="handle">Handle to an object of BaseHandle type.</param>
@@ -192,15 +151,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Create a instance of PropertyNotification.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyNotification(PropertyNotification handle) : this(NDalicPINVOKE.new_PropertyNotification__SWIG_1(PropertyNotification.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
         /// Assign.
         /// </summary>
         /// <param name="rhs">A reference to the copied handle.</param>
@@ -295,32 +245,83 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotification obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Enumeration for description of how to check condition.
+        /// Dispose.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PropertyNotification(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        // Callback for PropertyNotification NotifySignal
+        private void OnPropertyNotificationNotify(IntPtr propertyNotification)
+        {
+            NotifyEventArgs e = new NotifyEventArgs();
+            e.PropertyNotification = GetPropertyNotificationFromPtr(propertyNotification);
+
+            if (_propertyNotificationNotifyEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _propertyNotificationNotifyEventHandler(this, e);
+            }
+        }
+
+        ///<summary>
+        /// Event arguments that passed via Notify signal
+        ///</summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum NotifyMode
+        public class NotifyEventArgs : EventArgs
         {
-            /// <summary>
-            /// Don't notify, regardless of result of Condition
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Disabled,
-            /// <summary>
-            /// Notify whenever condition changes from false to true.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            NotifyOnTrue,
-            /// <summary>
-            /// Notify whenever condition changes from true to false.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            NotifyOnFalse,
-            /// <summary>
-            /// Notify whenever condition changes (false to true, and true to false)
-            /// </summary>
+            private PropertyNotification _propertyNotification;
+
+            ///<summary>
+            /// PropertyNotification - is the PropertyNotification handle that has the notification properties.
+            ///</summary>
             /// <since_tizen> 3 </since_tizen>
-            NotifyOnChanged
+            public PropertyNotification PropertyNotification
+            {
+                get
+                {
+                    return _propertyNotification;
+                }
+                set
+                {
+                    _propertyNotification = value;
+                }
+            }
         }
 
     }
index 00ed3ce..ebecdf3 100755 (executable)
@@ -24,31 +24,36 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class PropertyNotifySignal : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        protected bool disposed = false;
 
-        internal PropertyNotifySignal(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotifySignal obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
+
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        protected bool disposed = false;
+        public PropertyNotifySignal() : this(NDalicPINVOKE.new_PropertyNotifySignal(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal PropertyNotifySignal(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose
@@ -87,43 +92,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose
-        /// </summary>
-        /// <param name="type">The dispose type.</param>
-        /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PropertyNotifySignal(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
-        }
-
-        /// <summary>
         /// Queries whether there are any connected slots.
         /// </summary>
         /// <returns>True if there are any slots connected to the signal.</returns>
@@ -186,13 +154,46 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotifySignal obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// The constructor.
+        /// Dispose
         /// </summary>
+        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 4 </since_tizen>
-        public PropertyNotifySignal() : this(NDalicPINVOKE.new_PropertyNotifySignal(), true)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PropertyNotifySignal(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
     }
index 1e7ce2c..e24e3e1 100755 (executable)
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// An angle in radians.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
     public class Radian : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The default constructor, initializes to 0.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj)
+        /// <summary>
+        /// Creates an angle in radians.
+        /// </summary>
+        /// <param name="value">The initial value in radians.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// Creates an angle in radians from an angle in degrees.
         /// </summary>
+        /// <param name="degree">The initial value in degrees.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -56,7 +81,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Radian()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -64,6 +89,25 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// The value in radians.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Value
+        {
+            set
+            {
+                NDalicPINVOKE.Radian_radian_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Radian_radian_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -87,6 +131,23 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Conversion to float.
+        /// </summary>
+        /// <returns>The float value of this radian.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float ConvertToFloat()
+        {
+            float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -119,68 +180,5 @@ namespace Tizen.NUI
             }
             disposed = true;
         }
-
-
-        /// <summary>
-        /// The default constructor, initializes to 0.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Creates an angle in radians.
-        /// </summary>
-        /// <param name="value">The initial value in radians.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Creates an angle in radians from an angle in degrees.
-        /// </summary>
-        /// <param name="degree">The initial value in degrees.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Conversion to float.
-        /// </summary>
-        /// <returns>The float value of this radian.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float ConvertToFloat()
-        {
-            float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The value in radians.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Value
-        {
-            set
-            {
-                NDalicPINVOKE.Radian_radian_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Radian_radian_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
     }
-
 }
\ No newline at end of file
index d02a394..db2bc69 100755 (executable)
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// The Rectangle class.
     /// </summary>
@@ -27,31 +26,50 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RectangleTypeConverter))]
     public class Rectangle : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
+
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x coordinate (or left).</param>
+        /// <param name="y">The y coordinate (or right).</param>
+        /// <param name="width">The width (or bottom).</param>
+        /// <param name="height">The height (or top).</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -59,7 +77,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Rectangle()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -67,215 +85,279 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x position of the rectangle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                x = (value);
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return x;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Y position of the rectangle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public int Y
         {
-            if (disposed)
+            set
             {
-                return;
+                y = (value);
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                return y;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The width of the rectangle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Width
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Rectangle(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                width = (value);
+            }
+            get
+            {
+                return width;
             }
-            disposed = true;
         }
 
         /// <summary>
-        /// THe Equality operator.
+        /// The height of the rectangle.
         /// </summary>
-        /// <param name="a">The first operand.</param>
-        /// <param name="b">The second operand.</param>
-        /// <returns>True if the boxes are exactly the same.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static bool operator ==(Rectangle a, Rectangle b)
+        public int Height
         {
-            // If both are null, or both are same instance, return true.
-            if (System.Object.ReferenceEquals(a, b))
+            set
             {
-                return true;
+                height = (value);
             }
-
-            // If one is null, but not both, return false.
-            if (((object)a == null) || ((object)b == null))
+            get
             {
-                return false;
+                return height;
             }
-
-            // Return true if the fields match:
-            return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
         }
 
-        /// <summary>
-        /// Equality operator.
-        /// </summary>
-        /// <param name="o">The object to compare with the current object.</param>
-        /// <returns>True if boxes are exactly same.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override bool Equals(object o)
+        private int x
         {
-            if(o == null)
+            set
             {
-                return false;
+                NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            if(!(o is Rectangle))
+            get
             {
-                return false;
+                int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            Rectangle r = (Rectangle)o;
+        }
 
-            // Return true if the fields match:
-            return X == r.X && Y == r.Y && Width == r.Width && Height == r.Height;
+        private int left
+        {
+            set
+            {
+                NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Serves as the default hash function.
-        /// </summary>
-        /// <returns>A hash code for the current object.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override int GetHashCode()
+        private int y
         {
-            return base.GetHashCode();
+            set
+            {
+                NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Inequality operator.
-        /// </summary>
-        /// <param name="a">The first rectangle.</param>
-        /// <param name="b">The second rectangle.</param>
-        /// <returns>True if the rectangles are not identical.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static bool operator !=(Rectangle a, Rectangle b)
+        private int right
         {
-            return !(a == b);
+            set
+            {
+                NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// The x position of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int X
+        private int width
         {
             set
             {
-                x = ( value );
+                NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                return x;
+                int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        private int bottom
+        {
+            set
+            {
+                NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-        /// <summary>
-        /// The Y position of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Y
+        private int height
         {
             set
             {
-                y = ( value );
+                NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                return y;
+                int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        /// <summary>
-        /// The width of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Width
+        private int top
         {
             set
             {
-                width = ( value );
+                NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                return width;
+                int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// The height of the rectangle.
+        /// THe Equality operator.
         /// </summary>
+        /// <param name="a">The first operand.</param>
+        /// <param name="b">The second operand.</param>
+        /// <returns>True if the boxes are exactly the same.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public int Height
+        public static bool operator ==(Rectangle a, Rectangle b)
         {
-            set
+            // If both are null, or both are same instance, return true.
+            if (System.Object.ReferenceEquals(a, b))
             {
-                height = ( value );
+                return true;
             }
-            get
+
+            // If one is null, but not both, return false.
+            if (((object)a == null) || ((object)b == null))
             {
-                return height;
+                return false;
             }
+
+            // Return true if the fields match:
+            return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Inequality operator.
         /// </summary>
+        /// <param name="a">The first rectangle.</param>
+        /// <param name="b">The second rectangle.</param>
+        /// <returns>True if the rectangles are not identical.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
+        public static bool operator !=(Rectangle a, Rectangle b)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return !(a == b);
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="x">The x coordinate (or left).</param>
-        /// <param name="y">The y coordinate (or right).</param>
-        /// <param name="width">The width (or bottom).</param>
-        /// <param name="height">The height (or top).</param>
         /// <since_tizen> 3 </since_tizen>
-        public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Equality operator.
+        /// </summary>
+        /// <param name="o">The object to compare with the current object.</param>
+        /// <returns>True if boxes are exactly same.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override bool Equals(object o)
+        {
+            if(o == null)
+            {
+                return false;
+            }
+            if(!(o is Rectangle))
+            {
+                return false;
+            }
+            Rectangle r = (Rectangle)o;
+
+            // Return true if the fields match:
+            return X == r.X && Y == r.Y && Width == r.Width && Height == r.Height;
+        }
+
+        /// <summary>
+        /// Serves as the default hash function.
+        /// </summary>
+        /// <returns>A hash code for the current object.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override int GetHashCode()
+        {
+            return base.GetHashCode();
         }
 
         /// <summary>
@@ -390,126 +472,43 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private int x
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        private int left
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        private int y
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        private int right
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
         {
-            set
-            {
-                NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        private int width
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        private int bottom
-        {
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        private int height
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
-        private int top
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Rectangle(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
-
     }
-
 }
\ No newline at end of file
index e9a4984..94f2cb8 100755 (executable)
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// RelativeVector2 is a two-dimensional vector.
     /// Both values (x and y) should be between [0, 1].
@@ -28,31 +27,68 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RelativeVector2TypeConverter))]
     public class RelativeVector2 : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal RelativeVector2(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector2 obj)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(ValueCheck(x), ValueCheck(y)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
+        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public RelativeVector2(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(RelativeVector3.getCPtr(relativeVector3)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector2(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal RelativeVector2(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Dispose.
@@ -60,7 +96,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~RelativeVector2()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -68,62 +104,47 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector2_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Y
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector2 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         /// <summary>
         /// The addition operator.
@@ -203,119 +224,57 @@ namespace Tizen.NUI
             return ValueCheck(result);
         }
 
-
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        internal static RelativeVector2 GetRelativeVector2FromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector2(RelativeVector2 relativeVector2)
         {
-            RelativeVector2 ret = new RelativeVector2(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector2(relativeVector2.X, relativeVector2.Y);
         }
 
-
         /// <summary>
-        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        public static implicit operator RelativeVector2(Vector2 vec)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new RelativeVector2(ValueCheck(vec.X), ValueCheck(vec.Y));
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(ValueCheck(x), ValueCheck(y)), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(RelativeVector3.getCPtr(relativeVector3)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// The const array subscript operator overload. Should be 0, 1.
         /// </summary>
-        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-
-        private RelativeVector2 Add(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Add(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Subtract(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Multiply(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Multiply(float rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Divide(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Divide(float rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
+        public float this[uint index]
         {
-            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
@@ -370,102 +329,138 @@ namespace Tizen.NUI
             return ret;
         }
 
-
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
-        {
-            set
-            {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
-        {
-            set
-            {
-                NDalicPINVOKE.Vector2_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
         /// <summary>
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector2(RelativeVector2 relativeVector2)
-        {
-            return new Vector2(relativeVector2.X, relativeVector2.Y);
-        }
-
-        /// <summary>
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector2(Vector2 vec)
+        internal static RelativeVector2 GetRelativeVector2FromPtr(global::System.IntPtr cPtr)
         {
-            return new RelativeVector2(ValueCheck(vec.X), ValueCheck(vec.Y));
+            RelativeVector2 ret = new RelativeVector2(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal static RelativeVector2 ValueCheck(RelativeVector2 relativeVector2)
         {
-            if(relativeVector2.X < 0.0f)
+            if (relativeVector2.X < 0.0f)
             {
                 relativeVector2.X = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            else if(relativeVector2.X > 1.0f)
+            else if (relativeVector2.X > 1.0f)
             {
                 relativeVector2.X = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            if(relativeVector2.Y < 0.0f)
+            if (relativeVector2.Y < 0.0f)
             {
                 relativeVector2.Y = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            else if(relativeVector2.Y > 1.0f)
+            else if (relativeVector2.Y > 1.0f)
             {
                 relativeVector2.Y = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
             return relativeVector2;
         }
 
         internal static float ValueCheck(float value)
         {
-            if(value < 0.0f)
+            if (value < 0.0f)
             {
                 value = 0.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
-            else if(value > 1.0f)
+            else if (value > 1.0f)
             {
                 value = 1.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
             return value;
         }
-    }
 
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        private RelativeVector2 Add(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Add(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Subtract(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Multiply(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Multiply(float rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Divide(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Divide(float rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
 }
 
 
index 2920c0f..aff0c0b 100755 (executable)
@@ -20,7 +20,6 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// RelativeVector3 is a three-dimensional vector.
     /// All values (x, y, z and w) should be between [0, 1].
@@ -29,31 +28,63 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RelativeVector3TypeConverter))]
     public class RelativeVector3 : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal RelativeVector3(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector3 obj)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <param name="z">The z component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(ValueCheck(x), ValueCheck(y), ValueCheck(z)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
+        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public RelativeVector3(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector3(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
         /// Dispose.
@@ -61,7 +92,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~RelativeVector3()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -69,63 +100,62 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Y
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The z component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Z
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
-
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -204,120 +234,57 @@ namespace Tizen.NUI
             return ValueCheck(result);
         }
 
-
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1 or 2.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        internal static RelativeVector3 GetRelativeVector3FromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector3(RelativeVector3 relativeVector3)
         {
-            RelativeVector3 ret = new RelativeVector3(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector3(relativeVector3.X, relativeVector3.Y, relativeVector3.Z);
         }
 
-
         /// <summary>
-        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        public static implicit operator RelativeVector3(Vector3 vec)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new RelativeVector3(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z));
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <param name="z">The z component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(ValueCheck(x), ValueCheck(y), ValueCheck(z)), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// The const array subscript operator overload. Should be 0, 1 or 2.
         /// </summary>
-        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-
-        private RelativeVector3 Add(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Add(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Subtract(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Multiply(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Multiply(float rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Divide(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Divide(float rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
+        public float this[uint index]
         {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
@@ -372,128 +339,157 @@ namespace Tizen.NUI
             return ret;
         }
 
-
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
+        internal static RelativeVector3 ValueCheck(RelativeVector3 relativeVector3)
         {
-            set
+            if (relativeVector3.X < 0.0f)
             {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                relativeVector3.X = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            get
+            else if (relativeVector3.X > 1.0f)
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                relativeVector3.X = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-        }
-
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
-        {
-            set
+            if (relativeVector3.Y < 0.0f)
             {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                relativeVector3.Y = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            get
+            else if (relativeVector3.Y > 1.0f)
             {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                relativeVector3.Y = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (relativeVector3.Z < 0.0f)
+            {
+                relativeVector3.Z = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
+            else if (relativeVector3.Z > 1.0f)
+            {
+                relativeVector3.Z = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+            }
+            return relativeVector3;
         }
 
-        /// <summary>
-        /// The z component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Z
+        internal static float ValueCheck(float value)
         {
-            set
+            if (value < 0.0f)
             {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                value = 0.0f;
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
-            get
+            else if (value > 1.0f)
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                value = 1.0f;
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
+            return value;
         }
 
         /// <summary>
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector3(RelativeVector3 relativeVector3)
+        internal static RelativeVector3 GetRelativeVector3FromPtr(global::System.IntPtr cPtr)
         {
-            return new Vector3(relativeVector3.X, relativeVector3.Y, relativeVector3.Z);
+            RelativeVector3 ret = new RelativeVector3(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector3(Vector3 vec)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector3 obj)
         {
-            return new RelativeVector3(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z));
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal static RelativeVector3 ValueCheck(RelativeVector3 relativeVector3)
+        internal RelativeVector3(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if(relativeVector3.X < 0.0f)
-            {
-                relativeVector3.X = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if(relativeVector3.X > 1.0f)
-            {
-                relativeVector3.X = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            if(relativeVector3.Y < 0.0f)
-            {
-                relativeVector3.Y = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if(relativeVector3.Y > 1.0f)
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
             {
-                relativeVector3.Y = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                return;
             }
-            if(relativeVector3.Z < 0.0f)
+
+            if(type == DisposeTypes.Explicit)
             {
-                relativeVector3.Z = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            else if(relativeVector3.Z > 1.0f)
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                relativeVector3.Z = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
-            return relativeVector3;
+            disposed = true;
         }
 
-        internal static float ValueCheck(float value)
+        private RelativeVector3 Add(RelativeVector3 rhs)
         {
-            if(value < 0.0f)
-            {
-                value = 0.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
-            }
-            else if(value > 1.0f)
-            {
-                value = 1.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
-            }
-            return value;
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Add(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Subtract(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Multiply(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Multiply(float rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Divide(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Divide(float rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
     }
 
index 00a0855..ec0276f 100755 (executable)
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// RelativeVector4 is a four-dimensional vector.
     /// All values (x, y, and z) should be between [0, 1].
@@ -28,31 +27,64 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RelativeVector4TypeConverter))]
     public class RelativeVector4 : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal RelativeVector4(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector4 obj)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <param name="z">The z component.</param>
+        /// <param name="w">The w component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(x), ValueCheck(y), ValueCheck(z), ValueCheck(w)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
+        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public RelativeVector4(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector4(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(RelativeVector3.getCPtr(relativeVector3)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
         /// Dispose.
@@ -68,63 +100,81 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                NDalicPINVOKE.Vector4_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector4_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The z component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Z
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector4_Z_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The w component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float W
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                NDalicPINVOKE.Vector4_W_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
-
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -203,120 +253,57 @@ namespace Tizen.NUI
             return ValueCheck(result);
         }
 
-
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1 3 or 3.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        internal static RelativeVector4 GetRelativeVector4FromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector4(RelativeVector4 relativeVector4)
         {
-            RelativeVector4 ret = new RelativeVector4(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector4(relativeVector4.X, relativeVector4.Y, relativeVector4.Z, relativeVector4.W);
         }
 
-
         /// <summary>
-        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+        public static implicit operator RelativeVector4(Vector4 vec)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new RelativeVector4(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z), ValueCheck(vec.W));
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <param name="z">The z component.</param>
-        /// <param name="w">The w component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(x), ValueCheck(y),ValueCheck(z), ValueCheck(w)), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// The const array subscript operator overload. Should be 0, 1 3 or 3.
         /// </summary>
-        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(RelativeVector3.getCPtr(relativeVector3)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        private RelativeVector4 Add(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Add(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Subtract(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Multiply(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Multiply(float rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Divide(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Divide(float rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
+        public float this[uint index]
         {
-            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
@@ -371,159 +358,168 @@ namespace Tizen.NUI
             return ret;
         }
 
-
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
         /// <summary>
-        /// The z component.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Z
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_Z_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The w component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float W
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_W_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector4(RelativeVector4 relativeVector4)
-        {
-            return new Vector4(relativeVector4.X, relativeVector4.Y, relativeVector4.Z, relativeVector4.W);
-        }
-
-        /// <summary>
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector4(Vector4 vec)
+        internal static RelativeVector4 GetRelativeVector4FromPtr(global::System.IntPtr cPtr)
         {
-            return new RelativeVector4(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z), ValueCheck(vec.W));
+            RelativeVector4 ret = new RelativeVector4(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal static RelativeVector4 ValueCheck(RelativeVector4 relativeVector4)
         {
-            if(relativeVector4.X < 0.0f)
+            if (relativeVector4.X < 0.0f)
             {
                 relativeVector4.X = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            else if(relativeVector4.X > 1.0f)
+            else if (relativeVector4.X > 1.0f)
             {
                 relativeVector4.X = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            if(relativeVector4.Y < 0.0f)
+            if (relativeVector4.Y < 0.0f)
             {
                 relativeVector4.Y = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            else if(relativeVector4.Y > 1.0f)
+            else if (relativeVector4.Y > 1.0f)
             {
                 relativeVector4.Y = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            if(relativeVector4.Z < 0.0f)
+            if (relativeVector4.Z < 0.0f)
             {
                 relativeVector4.Z = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            else if(relativeVector4.Z > 1.0f)
+            else if (relativeVector4.Z > 1.0f)
             {
                 relativeVector4.Z = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            if(relativeVector4.W < 0.0f)
+            if (relativeVector4.W < 0.0f)
             {
                 relativeVector4.W = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            else if(relativeVector4.W > 1.0f)
+            else if (relativeVector4.W > 1.0f)
             {
                 relativeVector4.W = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
             return relativeVector4;
         }
 
         internal static float ValueCheck(float value)
         {
-            if(value < 0.0f)
+            if (value < 0.0f)
             {
                 value = 0.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
-            else if(value > 1.0f)
+            else if (value > 1.0f)
             {
                 value = 1.0f;
-                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
             return value;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector4 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal RelativeVector4(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        private RelativeVector4 Add(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Add(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Subtract(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Multiply(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Multiply(float rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Divide(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Divide(float rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
     }
 }
 
index ecdd30b..af788c0 100755 (executable)
@@ -25,39 +25,30 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class RelayoutContainer : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal RelayoutContainer(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelayoutContainer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         ~RelayoutContainer()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -88,6 +79,29 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Adds relayout information to the container if it doesn't already exist.
+        /// </summary>
+        /// <param name="view">The view to relayout.</param>
+        /// <param name="size">The size to relayout.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void Add(View view, Size2D size)
+        {
+            NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, View.getCPtr(view), Size2D.getCPtr(size));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelayoutContainer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal RelayoutContainer(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -120,19 +134,5 @@ namespace Tizen.NUI
             }
             disposed = true;
         }
-
-        /// <summary>
-        /// Adds relayout information to the container if it doesn't already exist.
-        /// </summary>
-        /// <param name="view">The view to relayout.</param>
-        /// <param name="size">The size to relayout.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public virtual void Add(View view, Size2D size)
-        {
-            NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, View.getCPtr(view), Size2D.getCPtr(size));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
     }
-
 }
\ No newline at end of file
index e345ddd..446553b 100755 (executable)
@@ -27,401 +27,126 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Create an instance of Renderer.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Renderer(Geometry geometry, Shader shader) : this(NDalicPINVOKE.Renderer_New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Renderer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Dispose.
+        /// Gets and Sets DepthIndex property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public int DepthIndex
         {
-            if (disposed)
+            get
             {
-                return;
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX).Get(out temp);
+                return temp;
             }
-
-            if (type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX, new Tizen.NUI.PropertyValue(value));
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// Gets and Sets FaceCullingMode.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int FaceCullingMode
+        {
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Renderer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE, new Tizen.NUI.PropertyValue(value));
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// Enumeration for instances of properties belonging to the Renderer class.
+        /// Gets and Sets BlendMode.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class Property
+        public int BlendMode
         {
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_INDEX = NDalicPINVOKE.Renderer_Property_DEPTH_INDEX_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int FACE_CULLING_MODE = NDalicPINVOKE.Renderer_Property_FACE_CULLING_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_MODE = NDalicPINVOKE.Renderer_Property_BLEND_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_EQUATION_RGB = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_RGB_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_EQUATION_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_SRC_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_RGB_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_DEST_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_RGB_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_SRC_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_DEST_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_COLOR = NDalicPINVOKE.Renderer_Property_BLEND_COLOR_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int INDEX_RANGE_FIRST = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_FIRST_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int INDEX_RANGE_COUNT = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_COUNT_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_WRITE_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_WRITE_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_FUNCTION = NDalicPINVOKE.Renderer_Property_DEPTH_FUNCTION_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_TEST_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_TEST_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int RENDER_MODE = NDalicPINVOKE.Renderer_Property_RENDER_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_FUNCTION = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_FUNCTION_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_MASK_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_FUNCTION_REFERENCE = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_REFERENCE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_MASK_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_OPERATION_ON_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_FAIL_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_OPERATION_ON_Z_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_OPERATION_ON_Z_PASS = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get();
-
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_MODE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_MODE, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         /// <summary>
-        /// Create an instance of Renderer.
+        /// Gets and Sets BlendEquationRgb.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Renderer(Geometry geometry, Shader shader) : this(NDalicPINVOKE.Renderer_New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true)
+        public int BlendEquationRgb
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         /// <summary>
-        /// Sets the geometry to be used by this renderer.
+        /// Gets and Sets BlendEquationAlpha.
         /// </summary>
-        /// <param name="geometry">The geometry to be used by this renderer.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetGeometry(Geometry geometry)
+        public int BlendEquationAlpha
         {
-            NDalicPINVOKE.Renderer_SetGeometry(swigCPtr, Geometry.getCPtr(geometry));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         /// <summary>
-        /// Gets the geometry used by this renderer.
+        /// Gets and Sets BlendFactorSrcRgb.
         /// </summary>
-        /// <returns>The geometry used by the renderer.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Geometry GetGeometry()
+        public int BlendFactorSrcRgb
         {
-            //to fix memory leak issue, match the handle count with native side.
-            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetGeometry(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            Geometry ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Geometry;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         /// <summary>
-        /// Sets effective range of indices to draw from bound index buffer.
-        /// </summary>
-        /// <param name="firstElement">The First element to draw.</param>
-        /// <param name="elementsCount">The number of elements to draw.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetIndexRange(int firstElement, int elementsCount)
-        {
-            NDalicPINVOKE.Renderer_SetIndexRange(swigCPtr, firstElement, elementsCount);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Sets the texture set to be used by this renderer.
-        /// </summary>
-        /// <param name="textureSet">The texture set to be used by this renderer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetTextures(TextureSet textureSet)
-        {
-            NDalicPINVOKE.Renderer_SetTextures(swigCPtr, TextureSet.getCPtr(textureSet));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the texture set used by this renderer.
-        /// </summary>
-        /// <returns>The texture set used by the renderer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public TextureSet GetTextures()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetTextures(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            TextureSet ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as TextureSet;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the shader used by this renderer.
-        /// </summary>
-        /// <param name="shader">The shader to be used by this renderer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetShader(Shader shader)
-        {
-            NDalicPINVOKE.Renderer_SetShader(swigCPtr, Shader.getCPtr(shader));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the shader used by this renderer.
-        /// </summary>
-        /// <returns>The shader used by the renderer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Shader GetShader()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetShader(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            Shader ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Shader;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Gets and Sets DepthIndex property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int DepthIndex
-        {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets FaceCullingMode.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int FaceCullingMode
-        {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets BlendMode.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int BlendMode
-        {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_MODE).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_MODE, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets BlendEquationRgb.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int BlendEquationRgb
-        {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets BlendEquationAlpha.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int BlendEquationAlpha
-        {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets BlendFactorSrcRgb.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int BlendFactorSrcRgb
-        {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets BlendFactorDestRgb.
+        /// Gets and Sets BlendFactorDestRgb.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public int BlendFactorDestRgb
@@ -744,6 +469,278 @@ namespace Tizen.NUI
             }
         }
 
-    }
+        /// <summary>
+        /// Sets the geometry to be used by this renderer.
+        /// </summary>
+        /// <param name="geometry">The geometry to be used by this renderer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetGeometry(Geometry geometry)
+        {
+            NDalicPINVOKE.Renderer_SetGeometry(swigCPtr, Geometry.getCPtr(geometry));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the geometry used by this renderer.
+        /// </summary>
+        /// <returns>The geometry used by the renderer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Geometry GetGeometry()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetGeometry(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Geometry ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Geometry;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets effective range of indices to draw from bound index buffer.
+        /// </summary>
+        /// <param name="firstElement">The First element to draw.</param>
+        /// <param name="elementsCount">The number of elements to draw.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetIndexRange(int firstElement, int elementsCount)
+        {
+            NDalicPINVOKE.Renderer_SetIndexRange(swigCPtr, firstElement, elementsCount);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
+        /// <summary>
+        /// Sets the texture set to be used by this renderer.
+        /// </summary>
+        /// <param name="textureSet">The texture set to be used by this renderer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetTextures(TextureSet textureSet)
+        {
+            NDalicPINVOKE.Renderer_SetTextures(swigCPtr, TextureSet.getCPtr(textureSet));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the texture set used by this renderer.
+        /// </summary>
+        /// <returns>The texture set used by the renderer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public TextureSet GetTextures()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetTextures(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            TextureSet ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as TextureSet;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets the shader used by this renderer.
+        /// </summary>
+        /// <param name="shader">The shader to be used by this renderer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetShader(Shader shader)
+        {
+            NDalicPINVOKE.Renderer_SetShader(swigCPtr, Shader.getCPtr(shader));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the shader used by this renderer.
+        /// </summary>
+        /// <returns>The shader used by the renderer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Shader GetShader()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetShader(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Shader ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Shader;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Renderer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Renderer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        /// <summary>
+        /// Enumeration for instances of properties belonging to the Renderer class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class Property
+        {
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_INDEX = NDalicPINVOKE.Renderer_Property_DEPTH_INDEX_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int FACE_CULLING_MODE = NDalicPINVOKE.Renderer_Property_FACE_CULLING_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_MODE = NDalicPINVOKE.Renderer_Property_BLEND_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_EQUATION_RGB = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_RGB_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_EQUATION_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_SRC_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_RGB_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_DEST_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_RGB_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_SRC_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_DEST_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_COLOR = NDalicPINVOKE.Renderer_Property_BLEND_COLOR_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int INDEX_RANGE_FIRST = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_FIRST_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int INDEX_RANGE_COUNT = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_COUNT_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_WRITE_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_WRITE_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_FUNCTION = NDalicPINVOKE.Renderer_Property_DEPTH_FUNCTION_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_TEST_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_TEST_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int RENDER_MODE = NDalicPINVOKE.Renderer_Property_RENDER_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_FUNCTION = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_FUNCTION_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_MASK_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_FUNCTION_REFERENCE = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_REFERENCE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_MASK_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_OPERATION_ON_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_FAIL_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_OPERATION_ON_Z_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_OPERATION_ON_Z_PASS = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get();
+        }
+    }
 }
\ No newline at end of file
index 50ec032..ac37b1a 100755 (executable)
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// The Rotation class.
     /// </summary>
@@ -27,100 +26,70 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RotationTypeConverter))]
     public class Rotation : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Rotation(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rotation obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+
         /// <summary>
-        /// Dispose.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Rotation()
+        public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// To make the Rotation instance be disposed.
+        /// The constructor from an axis and angle.
         /// </summary>
+        /// <param name="angle">The angle around the axis.</param>
+        /// <param name="axis">The vector of the axis.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~Rotation()
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
+            if(!isDisposeQueued)
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// (0.0f,0.0f,0.0f,1.0f).
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Rotation IDENTITY
+        {
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Rotation(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                global::System.IntPtr cPtr = NDalicPINVOKE.Rotation_IDENTITY_get();
+                Rotation ret = (cPtr == global::System.IntPtr.Zero) ? null : new Rotation(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -219,167 +188,140 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The default constructor.
+        /// Returns the dot product of two rotations.
         /// </summary>
+        /// <param name="q1">The first rotation.</param>
+        /// <param name="q2">The second rotation.</param>
+        /// <returns>The dot product of the two rotations.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
+        public static float Dot(Rotation q1, Rotation q2)
         {
+            float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The constructor from an axis and angle.
+        /// The linear iterpolation (using a straight line between the two rotations).
         /// </summary>
-        /// <param name="angle">The angle around the axis.</param>
-        /// <param name="axis">The vector of the axis.</param>
+        /// <param name="q1">The start rotation.</param>
+        /// <param name="q2">The end rotation.</param>
+        /// <param name="t">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true)
+        public static Rotation Lerp(Rotation q1, Rotation q2, float t)
         {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Lerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// (0.0f,0.0f,0.0f,1.0f).
+        /// The spherical linear interpolation (using the shortest arc of a great circle between the two rotations).
         /// </summary>
+        /// <param name="q1">The start rotation.</param>
+        /// <param name="q2">The end rotation.</param>
+        /// <param name="progress">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Rotation IDENTITY
+        public static Rotation Slerp(Rotation q1, Rotation q2, float progress)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Rotation_IDENTITY_get();
-                Rotation ret = (cPtr == global::System.IntPtr.Zero) ? null : new Rotation(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Slerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), progress), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Helper to check if this is an identity quaternion.
+        /// This version of slerp, used by squad, does not check for theta > 90.
         /// </summary>
-        /// <returns>True if this is identity quaternion.</returns>
+        /// <param name="q1">The start rotation.</param>
+        /// <param name="q2">The end rotation.</param>
+        /// <param name="t">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsIdentity()
+        public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t)
         {
-            bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SlerpNoInvert(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Converts the quaternion to an axis or angle pair.
+        /// The spherical cubic interpolation.
         /// </summary>
-        /// <param name="axis">The result of an an axis.</param>
-        /// <param name="angle">The result of angle in radians.</param>
-        /// <returns>True if converted correctly.</returns>
+        /// <param name="start">The start rotation.</param>
+        /// <param name="end">The end rotation.</param>
+        /// <param name="ctrl1">The control rotation for q1.</param>
+        /// <param name="ctrl2">The control rotation for q2.</param>
+        /// <param name="t">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool GetAxisAngle(Vector3 axis, Radian angle)
-        {
-            bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Add(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Add(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Subtract(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Multiply(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Multiply(Vector3 other)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Rotation_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Divide(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Multiply(float scale)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_2(swigCPtr, scale), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Divide(float scale)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_1(swigCPtr, scale), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Subtract()
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation AddAssign(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_AddAssign(swigCPtr, Rotation.getCPtr(other)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation SubtractAssign(Rotation other)
+        public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SubtractAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Squad(Rotation.getCPtr(start), Rotation.getCPtr(end), Rotation.getCPtr(ctrl1), Rotation.getCPtr(ctrl2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation MultiplyAssign(Rotation other)
+        /// <summary>
+        /// Returns the shortest angle between two rotations in radians.
+        /// </summary>
+        /// <param name="q1">The first rotation.</param>
+        /// <param name="q2">The second rotation.</param>
+        /// <returns>The angle between the two rotation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static float AngleBetween(Rotation q1, Rotation q2)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_0(swigCPtr, Rotation.getCPtr(other)), false);
+            float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation MultiplyAssign(float scale)
+        /// <summary>
+        /// To make the Rotation instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        private Rotation DivideAssign(float scale)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_DivideAssign(swigCPtr, scale), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
-        private bool EqualTo(Rotation rhs)
+        /// <summary>
+        /// Helper to check if this is an identity quaternion.
+        /// </summary>
+        /// <returns>True if this is identity quaternion.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsIdentity()
         {
-            bool ret = NDalicPINVOKE.Rotation_EqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private bool NotEqualTo(Rotation rhs)
+        /// <summary>
+        /// Converts the quaternion to an axis or angle pair.
+        /// </summary>
+        /// <param name="axis">The result of an an axis.</param>
+        /// <param name="angle">The result of angle in radians.</param>
+        /// <returns>True if converted correctly.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool GetAxisAngle(Vector3 axis, Radian angle)
         {
-            bool ret = NDalicPINVOKE.Rotation_NotEqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -474,96 +416,154 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rotation obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal Rotation(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
-        /// Returns the dot product of two rotations.
+        /// Dispose.
         /// </summary>
-        /// <param name="q1">The first rotation.</param>
-        /// <param name="q2">The second rotation.</param>
-        /// <returns>The dot product of the two rotations.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static float Dot(Rotation q1, Rotation q2)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Rotation(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        private Rotation Add(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Add(swigCPtr, Rotation.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// The linear iterpolation (using a straight line between the two rotations).
-        /// </summary>
-        /// <param name="q1">The start rotation.</param>
-        /// <param name="q2">The end rotation.</param>
-        /// <param name="t">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Rotation Lerp(Rotation q1, Rotation q2, float t)
+        private Rotation Subtract(Rotation other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Lerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// The spherical linear interpolation (using the shortest arc of a great circle between the two rotations).
-        /// </summary>
-        /// <param name="q1">The start rotation.</param>
-        /// <param name="q2">The end rotation.</param>
-        /// <param name="progress">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Rotation Slerp(Rotation q1, Rotation q2, float progress)
+        private Rotation Multiply(Rotation other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Slerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), progress), true);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// This version of slerp, used by squad, does not check for theta > 90.
-        /// </summary>
-        /// <param name="q1">The start rotation.</param>
-        /// <param name="q2">The end rotation.</param>
-        /// <param name="t">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t)
+        private Vector3 Multiply(Vector3 other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SlerpNoInvert(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+            Vector3 ret = new Vector3(NDalicPINVOKE.Rotation_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// The spherical cubic interpolation.
-        /// </summary>
-        /// <param name="start">The start rotation.</param>
-        /// <param name="end">The end rotation.</param>
-        /// <param name="ctrl1">The control rotation for q1.</param>
-        /// <param name="ctrl2">The control rotation for q2.</param>
-        /// <param name="t">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t)
+        private Rotation Divide(Rotation other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Squad(Rotation.getCPtr(start), Rotation.getCPtr(end), Rotation.getCPtr(ctrl1), Rotation.getCPtr(ctrl2), t), true);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Returns the shortest angle between two rotations in radians.
-        /// </summary>
-        /// <param name="q1">The first rotation.</param>
-        /// <param name="q2">The second rotation.</param>
-        /// <returns>The angle between the two rotation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static float AngleBetween(Rotation q1, Rotation q2)
+        private Rotation Multiply(float scale)
         {
-            float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_2(swigCPtr, scale), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-    }
+        private Rotation Divide(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_1(swigCPtr, scale), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation Subtract()
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation AddAssign(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_AddAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation SubtractAssign(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SubtractAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation MultiplyAssign(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_0(swigCPtr, Rotation.getCPtr(other)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        private Rotation MultiplyAssign(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation DivideAssign(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_DivideAssign(swigCPtr, scale), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Rotation rhs)
+        {
+            bool ret = NDalicPINVOKE.Rotation_EqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Rotation rhs)
+        {
+            bool ret = NDalicPINVOKE.Rotation_NotEqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
 }
\ No newline at end of file
index f6e0d96..4b081c4 100755 (executable)
@@ -25,53 +25,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Sampler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Sampler_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Sampler obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Sampler(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Create an instance of Sampler.
         /// </summary>
@@ -119,6 +72,51 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-    }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Sampler obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal Sampler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Sampler_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
 
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Sampler(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+    }
 }
\ No newline at end of file
index 225d071..708c655 100755 (executable)
@@ -26,9 +26,13 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ScrollViewEffect() : this(NDalicPINVOKE.new_ScrollViewEffect(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollViewEffect obj)
@@ -36,6 +40,11 @@ namespace Tizen.NUI
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -71,16 +80,5 @@ namespace Tizen.NUI
 
             base.Dispose(type);
         }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ScrollViewEffect() : this(NDalicPINVOKE.new_ScrollViewEffect(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
     }
-
 }
\ No newline at end of file
index fdf9abf..3d4ba48 100755 (executable)
@@ -94,7 +94,7 @@ namespace Tizen.NUI
 
         internal static ScrollViewPagePathEffect DownCast(BaseHandle handle)
         {
-            ScrollViewPagePathEffect ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as ScrollViewPagePathEffect;
+            ScrollViewPagePathEffect ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as ScrollViewPagePathEffect;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -111,7 +111,5 @@ namespace Tizen.NUI
             NDalicPINVOKE.ScrollViewPagePathEffect_ApplyToPage(swigCPtr, View.getCPtr(page), pageOrder);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
-
     }
-
 }
index f882082..b732226 100755 (executable)
@@ -25,9 +25,47 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Creates Shader object.
+        /// </summary>
+        /// <param name="vertexShader">The vertex shader code for the effect.</param>
+        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
+        /// <param name="hints">The hints to define the geometry of the rendered object.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Shader(string vertexShader, string fragmentShader, Shader.Hint.Value hints) : this(NDalicPINVOKE.Shader_New__SWIG_0(vertexShader, fragmentShader, (int)hints), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        /// <summary>
+        /// Creates Shader object.
+        /// </summary>
+        /// <param name="vertexShader">The vertex shader code for the effect.</param>
+        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Shader(string vertexShader, string fragmentShader) : this(NDalicPINVOKE.Shader_New__SWIG_1(vertexShader, fragmentShader), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        /// <summary>
+        /// Gets and Sets the program property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyMap Program
+        {
+            get
+            {
+                Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+                Tizen.NUI.Object.GetProperty(swigCPtr, Shader.Property.PROGRAM).Get(temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Shader.Property.PROGRAM, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Shader obj)
@@ -35,6 +73,11 @@ namespace Tizen.NUI
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -116,50 +159,5 @@ namespace Tizen.NUI
             /// <since_tizen> 3 </since_tizen>
             public static readonly int PROGRAM = NDalicPINVOKE.Shader_Property_PROGRAM_get();
         }
-
-        /// <summary>
-        /// Creates Shader object.
-        /// </summary>
-        /// <param name="vertexShader">The vertex shader code for the effect.</param>
-        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
-        /// <param name="hints">The hints to define the geometry of the rendered object.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Shader(string vertexShader, string fragmentShader, Shader.Hint.Value hints) : this(NDalicPINVOKE.Shader_New__SWIG_0(vertexShader, fragmentShader, (int)hints), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Creates Shader object.
-        /// </summary>
-        /// <param name="vertexShader">The vertex shader code for the effect.</param>
-        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Shader(string vertexShader, string fragmentShader) : this(NDalicPINVOKE.Shader_New__SWIG_1(vertexShader, fragmentShader), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-
-        /// <summary>
-        /// Gets and Sets the program property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyMap Program
-        {
-            get
-            {
-                Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Shader.Property.PROGRAM).Get(temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Shader.Property.PROGRAM, new Tizen.NUI.PropertyValue(value));
-            }
-        }
     }
-
 }
\ No newline at end of file
index c675712..69d19b3 100755 (executable)
@@ -28,29 +28,51 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(SizeTypeConverter))]
     public class Size : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>swigCMemOwn.</summary>
         /// <since_tizen> 5 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Size(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        protected bool disposed = false;
+
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size obj)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x (or width) component.</param>
+        /// <param name="y">The y (or height) component.</param>
+        /// <param name="z">The z (or depth) component.</param>
+        /// <since_tizen> 5 </since_tizen>
+        public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
+        /// <param name="size2d">Size2D with x (width) and y (height).</param>
         /// <since_tizen> 5 </since_tizen>
-        protected bool disposed = false;
+        public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
         /// Dispose.
@@ -65,62 +87,75 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Zero constant, (0.0f, 0.0f, 0.0f).
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public void Dispose()
+        public static Size Zero
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            get
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+                Size ret = (cPtr == global::System.IntPtr.Zero) ? null : new Size(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The Width property for the width component of size
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Width
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Height property for the height component of size.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Height
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if (type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
+                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The Depth property for the depth component of size.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Depth
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-
-            disposed = true;
         }
 
         /// <summary>
@@ -220,113 +255,27 @@ namespace Tizen.NUI
             }
         }
 
-        internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
-        {
-            Size ret = new Size(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="x">The x (or width) component.</param>
-        /// <param name="y">The y (or height) component.</param>
-        /// <param name="z">The z (or depth) component.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="size2d">Size2D with x (width) and y (height).</param>
-        /// <since_tizen> 5 </since_tizen>
-        public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The Zero constant, (0.0f, 0.0f, 0.0f).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static Size Zero
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
-                Size ret = (cPtr == global::System.IntPtr.Zero) ? null : new Size(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
-
-        private Size Add(Size rhs)
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Add(swigCPtr, Size.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size Subtract(Size rhs)
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size Multiply(Size rhs)
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size Multiply(float rhs)
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size Divide(Size rhs)
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        private Size Divide(float rhs)
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size Subtract()
-        {
-            Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
@@ -383,84 +332,137 @@ namespace Tizen.NUI
             return ret;
         }
 
+
+
         /// <summary>
-        /// The Width property for the width component of size
+        /// The type cast operator, Size to Vector3.
         /// </summary>
+        /// <param name="size">The object of size type.</param>
         /// <since_tizen> 5 </since_tizen>
-        public float Width
+        public static implicit operator Vector3(Size size)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return new Vector3(size.Width, size.Height, size.Depth);
         }
 
         /// <summary>
-        /// The Height property for the height component of size.
+        /// The type cast operator, Vector3 to Size type.
         /// </summary>
+        /// <param name="vec">The object of Vector3 type.</param>
         /// <since_tizen> 5 </since_tizen>
-        public float Height
+        public static implicit operator Size(Vector3 vec)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return new Size(vec.Width, vec.Height, vec.Depth);
+        }
+
+        internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
+        {
+            Size ret = new Size(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal Size(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// The Depth property for the depth component of size.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public float Depth
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return;
             }
-            get
+
+            if (type == DisposeTypes.Explicit)
             {
-                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
-        /// <summary>
-        /// The type cast operator, Size to Vector3.
-        /// </summary>
-        /// <param name="size">The object of size type.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public static implicit operator Vector3(Size size)
+        private Size Add(Size rhs)
         {
-            return new Vector3(size.Width, size.Height, size.Depth);
+            Size ret = new Size(NDalicPINVOKE.Vector3_Add(swigCPtr, Size.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The type cast operator, Vector3 to Size type.
-        /// </summary>
-        /// <param name="vec">The object of Vector3 type.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public static implicit operator Size(Vector3 vec)
+        private Size Subtract(Size rhs)
         {
-            return new Size(vec.Width, vec.Height, vec.Depth);
+            Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-    }
+        private Size Multiply(Size rhs)
+        {
+            Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size Multiply(float rhs)
+        {
+            Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size Divide(Size rhs)
+        {
+            Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size Divide(float rhs)
+        {
+            Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size Subtract()
+        {
+            Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
 }
 
index 3d6ee96..5df3635 100755 (executable)
@@ -19,7 +19,6 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// A two-dimensional size.
     /// </summary>
@@ -27,31 +26,44 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(Size2DTypeConverter))]
     public class Size2D : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Size2D(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size2D obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
+
+        private Size2DChangedCallback callback = null;
+
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="x">The x (or width) component.</param>
+        /// <param name="y">The y (or height) component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
         /// Dispose.
@@ -66,61 +78,48 @@ namespace Tizen.NUI
             }
         }
 
+        internal delegate void Size2DChangedCallback(int width, int height);
+
         /// <summary>
-        /// Dispose.
+        /// The property for the width component of a size.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int Width
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+                NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
+                callback?.Invoke(Width, Height);
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The property for the height component of a size.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public int Height
         {
-            if (disposed)
+            set
             {
-                return;
-            }
+                NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                callback?.Invoke(Width, Height);
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -208,108 +207,62 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The array subscript operator.
+        /// The type cast operator, Size2D to Vector2.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
+        /// <param name="size">An object of the Size2D type.</param>
+        /// <returns>return a Vector2 instance</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public static implicit operator Vector2(Size2D size)
         {
-            get
-            {
-                return ValueOfIndex(index);
-            }
+            return new Vector2((float)size.Width, (float)size.Height);
         }
 
         /// <summary>
-        /// Gets the size from the pointer.
+        /// The type cast operator, Vector2 to Size2D type.
         /// </summary>
-        /// <param name="cPtr">The pointer of the size.</param>
-        /// <returns>Size</returns>
-        internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
+        /// <param name="vector2">An object of the Vector2 type.</param>
+        /// <returns>return a Size2D instance</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Size2D(Vector2 vector2)
         {
-            Size2D ret = new Size2D(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Size2D((int)vector2.X, (int)vector2.Y);
         }
 
         /// <summary>
-        /// The constructor.
+        /// The array subscript operator.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        public float this[uint index]
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="x">The x (or width) component.</param>
-        /// <param name="y">The y (or height) component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Size2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal delegate void Size2DChangedCallback(int width, int height);
-        private Size2DChangedCallback callback = null;
-        internal Size2D(Size2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
-        {
-            callback = cb;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        private Size2D Add(Size2D rhs)
-        {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Size2D.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size2D Subtract(Size2D rhs)
-        {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-
-        private Size2D Multiply(Size2D rhs)
-        {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size2D Multiply(int rhs)
-        {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, (float)rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-
-        private Size2D Divide(Size2D rhs)
-        {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Size2D Divide(int rhs)
+        public void Dispose()
         {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, (float)rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        private Size2D Subtract()
-        {
-            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
@@ -366,76 +319,123 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private int ValueOfIndex(uint index)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size2D obj)
         {
-            int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// The property for the width component of a size.
+        /// Gets the size from the pointer.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Width
+        /// <param name="cPtr">The pointer of the size.</param>
+        /// <returns>Size</returns>
+        internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            Size2D ret = new Size2D(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-                callback?.Invoke(Width, Height);
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
-            }
+        internal Size2D(Size2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        {
+            callback = cb;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal Size2D(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// The property for the height component of a size.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int Height
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return;
+            }
 
-                callback?.Invoke(Width, Height);
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            get
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
-        /// <summary>
-        /// The type cast operator, Size2D to Vector2.
-        /// </summary>
-        /// <param name="size">An object of the Size2D type.</param>
-        /// <returns>return a Vector2 instance</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector2(Size2D size)
+        private Size2D Add(Size2D rhs)
         {
-            return new Vector2((float)size.Width, (float)size.Height);
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Size2D.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The type cast operator, Vector2 to Size2D type.
-        /// </summary>
-        /// <param name="vector2">An object of the Vector2 type.</param>
-        /// <returns>return a Size2D instance</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Size2D(Vector2 vector2)
+        private Size2D Subtract(Size2D rhs)
         {
-            return new Size2D((int)vector2.X, (int)vector2.Y);
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size2D Multiply(Size2D rhs)
+        {
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size2D Multiply(int rhs)
+        {
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, (float)rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size2D Divide(Size2D rhs)
+        {
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
-    }
 
+        private Size2D Divide(int rhs)
+        {
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, (float)rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Size2D Subtract()
+        {
+            Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private int ValueOfIndex(uint index)
+        {
+            int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
 }
old mode 100644 (file)
new mode 100755 (executable)
index 49580b9..4dd2e95
@@ -32,80 +32,23 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class StyleManager : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         private static readonly StyleManager instance = StyleManager.Get();
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        private EventHandler<StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
+        private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
 
         /// <summary>
-        /// Gets the singleton of the StyleManager object.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static StyleManager Instance
-        {
-            get
-            {
-                return instance;
-            }
-        }
-
-        /// <summary>
-        /// Style changed event arguments.
+        /// Creates a StyleManager handle.<br />
+        /// This can be initialized with StyleManager::Get().<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class StyleChangedEventArgs : EventArgs
+        public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
         {
-            private StyleManager _styleManager;
-            private StyleChangeType _styleChange;
-
-            /// <summary>
-            /// StyleManager.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public StyleManager StyleManager
-            {
-                get
-                {
-                    return _styleManager;
-                }
-                set
-                {
-                    _styleManager = value;
-                }
-            }
-
-            /// <summary>
-            /// StyleChange - contains the style change information (default font changed or
-            /// default font size changed or theme has changed).<br />
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public StyleChangeType StyleChange
-            {
-                get
-                {
-                    return _styleChange;
-                }
-                set
-                {
-                    _styleChange = value;
-                }
-            }
-
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Tizen.NUI.StyleChangeType styleChange);
-        private EventHandler<StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
-        private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
 
         /// <summary>
         /// An event for the StyleChanged signal which can be used to subscribe or unsubscribe the
@@ -135,30 +78,16 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for StyleManager StyleChangedsignal
-        private void OnStyleChanged(IntPtr styleManager, StyleChangeType styleChange)
-        {
-            StyleChangedEventArgs e = new StyleChangedEventArgs();
-
-            // Populate all members of "e" (StyleChangedEventArgs) with real data.
-            e.StyleManager = Registry.GetManagedBaseHandleFromNativePtr(styleManager) as StyleManager;
-            e.StyleChange = styleChange;
-
-            if (_styleManagerStyleChangedEventHandler != null)
-            {
-                //Here we send all data to user event handlers.
-                _styleManagerStyleChangedEventHandler(this, e);
-            }
-        }
-
         /// <summary>
-        /// Creates a StyleManager handle.<br />
-        /// This can be initialized with StyleManager::Get().<br />
+        /// Gets the singleton of the StyleManager object.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
+        /// <since_tizen> 5 </since_tizen>
+        public static StyleManager Instance
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return instance;
+            }
         }
 
         /// <summary>
@@ -237,6 +166,16 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         internal StyleChangedSignal StyleChangedSignal()
         {
             StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false);
@@ -244,5 +183,63 @@ namespace Tizen.NUI
             return ret;
         }
 
+        // Callback for StyleManager StyleChangedsignal
+        private void OnStyleChanged(IntPtr styleManager, StyleChangeType styleChange)
+        {
+            StyleChangedEventArgs e = new StyleChangedEventArgs();
+
+            // Populate all members of "e" (StyleChangedEventArgs) with real data.
+            e.StyleManager = Registry.GetManagedBaseHandleFromNativePtr(styleManager) as StyleManager;
+            e.StyleChange = styleChange;
+
+            if (_styleManagerStyleChangedEventHandler != null)
+            {
+                //Here we send all data to user event handlers.
+                _styleManagerStyleChangedEventHandler(this, e);
+            }
+        }
+
+        /// <summary>
+        /// Style changed event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class StyleChangedEventArgs : EventArgs
+        {
+            private StyleManager _styleManager;
+            private StyleChangeType _styleChange;
+
+            /// <summary>
+            /// StyleManager.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public StyleManager StyleManager
+            {
+                get
+                {
+                    return _styleManager;
+                }
+                set
+                {
+                    _styleManager = value;
+                }
+            }
+
+            /// <summary>
+            /// StyleChange - contains the style change information (default font changed or
+            /// default font size changed or theme has changed).<br />
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public StyleChangeType StyleChange
+            {
+                get
+                {
+                    return _styleChange;
+                }
+                set
+                {
+                    _styleChange = value;
+                }
+            }
+        }
     }
 }
old mode 100644 (file)
new mode 100755 (executable)
index 52bfbea..32fe091
@@ -27,19 +27,105 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class TTSPlayer : BaseHandle
     {
+        private static readonly TTSPlayer instance = TTSPlayer.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        private StateChangedEventCallbackType _stateChangedEventCallback;
 
         internal TTSPlayer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.TtsPlayer_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TTSPlayer obj)
+        internal TTSPlayer() : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private static readonly TTSPlayer instance = TTSPlayer.Get();
+        internal TTSPlayer(TTSPlayer handle) : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_1(TTSPlayer.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void StateChangedEventCallbackType(TTSState prevState, TTSState nextState);
+        private event EventHandler<StateChangedEventArgs> _stateChangedEventHandler;
+
+        /// <summary>
+        /// State changed event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<StateChangedEventArgs> StateChanged
+        {
+            add
+            {
+                if (_stateChangedEventHandler == null)
+                {
+                    _stateChangedEventCallback = OnStateChanged;
+                    StateChangedSignal().Connect(_stateChangedEventCallback);
+                }
+
+                _stateChangedEventHandler += value;
+            }
+            remove
+            {
+                _stateChangedEventHandler -= value;
+
+                if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false && _stateChangedEventCallback != null)
+                {
+                    StateChangedSignal().Disconnect(_stateChangedEventCallback);
+                }
+            }
+        }
+
+        /// <summary>
+        /// Enumeration for the instance of TTS mode.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum TTSMode
+        {
+            /// <summary>
+            /// Default mode for normal application.
+            /// </summary>
+            Default = 0,
+            /// <summary>
+            /// Notification mode, such as playing utterance is started or completed.
+            /// </summary>
+            Notification,
+            /// <summary>
+            /// Screen reader mode. <br />
+            /// To help visually impaired users interact with their devices,<br />
+            /// screen reader reads text or graphic elements on the screen using the TTS engine.
+            /// </summary>
+            ScreenReader,
+            /// <summary>
+            /// Number of mode.
+            /// </summary>
+            ModeNum
+        }
+
+        /// <summary>
+        /// Enumeration for the instance of TTS state.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum TTSState
+        {
+            /// <summary>
+            /// Player is not available.
+            /// </summary>
+            Unavailable = 0,
+            /// <summary>
+            /// Player is ready to play.
+            /// </summary>
+            Ready,
+            /// <summary>
+            /// Player is playing.
+            /// </summary>
+            Playing,
+            /// <summary>
+            /// Player is paused.
+            /// </summary>
+            Paused
+        }
 
         /// <summary>
         /// Gets the singleton of the TTSPlayer object.
@@ -53,11 +139,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal TTSPlayer() : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// Gets the singleton of the TTS player for the given mode.
         /// </summary>
@@ -83,18 +164,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal TTSPlayer(TTSPlayer handle) : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_1(TTSPlayer.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal TTSPlayer Assign(TTSPlayer rhs)
-        {
-            TTSPlayer ret = new TTSPlayer(NDalicManualPINVOKE.TtsPlayer_Assign(swigCPtr, TTSPlayer.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Starts playing the audio data synthesized from the specified text.
         /// </summary>
@@ -153,63 +222,23 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// State changed argument.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class StateChangedEventArgs : EventArgs
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TTSPlayer obj)
         {
-            /// <summary>
-            /// PrevState.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TTSState PrevState
-            {
-                get;
-                set;
-            }
-
-            /// <summary>
-            /// NextState.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TTSState NextState
-            {
-                get;
-                set;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        private StateChangedEventCallbackType _stateChangedEventCallback;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void StateChangedEventCallbackType(TTSState prevState, TTSState nextState);
-        private event EventHandler<StateChangedEventArgs> _stateChangedEventHandler;
-
-        /// <summary>
-        /// State changed event.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<StateChangedEventArgs> StateChanged
+        internal StateChangedSignalType StateChangedSignal()
         {
-            add
-            {
-                if (_stateChangedEventHandler == null)
-                {
-                    _stateChangedEventCallback = OnStateChanged;
-                    StateChangedSignal().Connect(_stateChangedEventCallback);
-                }
-
-                _stateChangedEventHandler += value;
-            }
-            remove
-            {
-                _stateChangedEventHandler -= value;
+            StateChangedSignalType ret = new StateChangedSignalType(NDalicManualPINVOKE.TtsPlayer_StateChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-                if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false && _stateChangedEventCallback != null)
-                {
-                    StateChangedSignal().Disconnect(_stateChangedEventCallback);
-                }
-            }
+        internal TTSPlayer Assign(TTSPlayer rhs)
+        {
+            TTSPlayer ret = new TTSPlayer(NDalicManualPINVOKE.TtsPlayer_Assign(swigCPtr, TTSPlayer.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         private void OnStateChanged(TTSState prevState, TTSState nextState)
@@ -225,63 +254,32 @@ namespace Tizen.NUI
             }
         }
 
-        internal StateChangedSignalType StateChangedSignal()
-        {
-            StateChangedSignalType ret = new StateChangedSignalType(NDalicManualPINVOKE.TtsPlayer_StateChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// Enumeration for the instance of TTS mode.
+        /// State changed argument.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum TTSMode
+        public class StateChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Default mode for normal application.
-            /// </summary>
-            Default = 0,
-            /// <summary>
-            /// Notification mode, such as playing utterance is started or completed.
-            /// </summary>
-            Notification,
-            /// <summary>
-            /// Screen reader mode. <br />
-            /// To help visually impaired users interact with their devices,<br />
-            /// screen reader reads text or graphic elements on the screen using the TTS engine.
-            /// </summary>
-            ScreenReader,
-            /// <summary>
-            /// Number of mode.
+            /// PrevState.
             /// </summary>
-            ModeNum
-        }
+            /// <since_tizen> 3 </since_tizen>
+            public TTSState PrevState
+            {
+                get;
+                set;
+            }
 
-        /// <summary>
-        /// Enumeration for the instance of TTS state.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TTSState
-        {
-            /// <summary>
-            /// Player is not available.
-            /// </summary>
-            Unavailable = 0,
-            /// <summary>
-            /// Player is ready to play.
-            /// </summary>
-            Ready,
             /// <summary>
-            /// Player is playing.
-            /// </summary>
-            Playing,
-            /// <summary>
-            /// Player is paused.
+            /// NextState.
             /// </summary>
-            Paused
+            /// <since_tizen> 3 </since_tizen>
+            public TTSState NextState
+            {
+                get;
+                set;
+            }
         }
-
     }
 
 }
index 2ef9c7a..d5de499 100755 (executable)
@@ -26,62 +26,18 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Creates a TapGesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true)
         {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TapGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        /// <summary>
-        /// Gets the TapGesture from the pointer.
-        /// </summary>
-        /// <param name="cPtr">The pointer to cast.</param>
-        /// <returns>The TapGesture object.</returns>
-        internal static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr)
+        internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            TapGesture ret = new TapGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -132,16 +88,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Creates a TapGesture.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-
         private uint numberOfTaps
         {
             set
@@ -204,6 +150,57 @@ namespace Tizen.NUI
             }
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Gets the TapGesture from the pointer.
+        /// </summary>
+        /// <param name="cPtr">The pointer to cast.</param>
+        /// <returns>The TapGesture object.</returns>
+        internal static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr)
+        {
+            TapGesture ret = new TapGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TapGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
     }
 
 }
\ No newline at end of file
index 9715dbf..7850859 100755 (executable)
@@ -31,107 +31,39 @@ namespace Tizen.NUI
     public class TapGestureDetector : GestureDetector
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal TapGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private DaliEventHandler<object, DetectedEventArgs> _tapGestureEventHandler;
+        private DetectedCallbackDelegate _tapGestureCallbackDelegate;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized TapGestureDetector.
         /// </summary>
-        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public TapGestureDetector() : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TapGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// Event arguments that are passed via the TapGestureEvent signal.
+        /// Creates an initialized TapGestureDetector with the specified parameters.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <param name="tapsRequired">The minimum and maximum number of taps required</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public class DetectedEventArgs : EventArgs
+        public TapGestureDetector(uint tapsRequired) : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true)
         {
-            private View _view;
-            private TapGesture _tapGesture;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            /// <summary>
-            /// The attached view.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
+        }
 
-            /// <summary>
-            /// The TapGesture.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public TapGesture TapGesture
-            {
-                get
-                {
-                    return _tapGesture;
-                }
-                set
-                {
-                    _tapGesture = value;
-                }
-            }
+        internal TapGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr TapGesture);
-        private DaliEventHandler<object, DetectedEventArgs> _tapGestureEventHandler;
-        private DetectedCallbackDelegate _tapGestureCallbackDelegate;
 
         /// <summary>
         /// This signal is emitted when the specified tap is detected on the attached view.
@@ -169,59 +101,6 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnTapGestureDetected(IntPtr actor, IntPtr tapGesture)
-        {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (DetectedEventArgs) with real data
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.TapGesture = Tizen.NUI.TapGesture.GetTapGestureFromPtr(tapGesture);
-
-            if (_tapGestureEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _tapGestureEventHandler(this, e);
-            }
-
-        }
-
-        internal static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr)
-        {
-            TapGestureDetector ret = new TapGestureDetector(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Creates an initialized TapGestureDetector.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public TapGestureDetector() : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Creates an initialized TapGestureDetector with the specified parameters.
-        /// </summary>
-        /// <param name="tapsRequired">The minimum and maximum number of taps required</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public TapGestureDetector(uint tapsRequired) : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal new static TapGestureDetector DownCast(BaseHandle handle)
-        {
-            TapGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as TapGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// The copy constructor.
         /// </summary>
@@ -233,13 +112,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal TapGestureDetector Assign(TapGestureDetector rhs)
-        {
-            TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_Assign(swigCPtr, TapGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Sets the minimum number of taps required. The tap count is the number of times a user should "tap" the screen.<br />
         /// The default is 1.<br />
@@ -292,6 +164,25 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal new static TapGestureDetector DownCast(BaseHandle handle)
+        {
+            TapGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TapGestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGestureDetector obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        {
+            TapGestureDetector ret = new TapGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal TapGestureDetectedSignal DetectedSignal()
         {
             TapGestureDetectedSignal ret = new TapGestureDetectedSignal(NDalicPINVOKE.TapGestureDetector_DetectedSignal(swigCPtr), false);
@@ -299,6 +190,114 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal TapGestureDetector Assign(TapGestureDetector rhs)
+        {
+            TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_Assign(swigCPtr, TapGestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TapGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnTapGestureDetected(IntPtr actor, IntPtr tapGesture)
+        {
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (DetectedEventArgs) with real data
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.TapGesture = Tizen.NUI.TapGesture.GetTapGestureFromPtr(tapGesture);
+
+            if (_tapGestureEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _tapGestureEventHandler(this, e);
+            }
+
+        }
+
+        /// <summary>
+        /// Event arguments that are passed via the TapGestureEvent signal.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class DetectedEventArgs : EventArgs
+        {
+            private View _view;
+            private TapGesture _tapGesture;
+
+            /// <summary>
+            /// The attached view.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public View View
+            {
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
+
+            /// <summary>
+            /// The TapGesture.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public TapGesture TapGesture
+            {
+                get
+                {
+                    return _tapGesture;
+                }
+                set
+                {
+                    _tapGesture = value;
+                }
+            }
+        }
     }
 
 }
index 89729b0..3aebbcc 100755 (executable)
@@ -25,52 +25,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Texture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Texture_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Texture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Texture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Creates a new Texture object.
         /// </summary>
@@ -90,6 +44,11 @@ namespace Tizen.NUI
 
         }
 
+        internal Texture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Texture_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Uploads data to the texture from a PixelData object.
         /// </summary>
@@ -157,6 +116,47 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Texture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Texture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
\ No newline at end of file
index 949dece..4fdf1e7 100755 (executable)
@@ -28,52 +28,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal TextureSet(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextureSet_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextureSet obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TextureSet(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Create an instance of TextureSet.
         /// </summary>
@@ -84,6 +38,11 @@ namespace Tizen.NUI
 
         }
 
+        internal TextureSet(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextureSet_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Sets the texture at position "index".
         /// </summary>
@@ -158,6 +117,46 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextureSet obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TextureSet(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
     }
 
 }
\ No newline at end of file
index daffa3e..f07f174 100755 (executable)
@@ -35,90 +35,49 @@ namespace Tizen.NUI
     public class Timer : BaseHandle
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
         private bool played = false;
+        private EventHandlerWithReturnType<object, TickEventArgs, bool> _timerTickEventHandler;
+        private TickCallbackDelegate _timerTickCallbackDelegate;
 
-        internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-
-            _timerTickCallbackDelegate = OnTick;
-            _timerTickCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_timerTickCallbackDelegate);
-
-            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() contructor!");
-        }
+        private System.IntPtr _timerTickCallbackOfNative;
 
         /// <summary>
-        /// Destructor.
+        /// Creates a tick timer that emits periodic signal.
         /// </summary>
-        ~Timer()
+        /// <param name="milliSec">Interval in milliseconds.</param>
+        /// <returns>A new timer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Timer(uint milliSec) : this(NDalicPINVOKE.Timer_New(milliSec), true)
         {
-            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() distructor!, disposed={disposed}");
-        }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj)
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})  Timer({milliSec}) Constructor!");
+        }
+        internal Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            NUILog.Debug($"(0x{swigCPtr.Handle:X}) Timer.Dispose(type={type}, disposed={disposed})");
-
-            if (this != null && _timerTickCallbackDelegate != null)
-            {
-                TickSignal().Disconnect(_timerTickCallbackOfNative);
-            }
-
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Timer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            _timerTickCallbackDelegate = OnTick;
+            _timerTickCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_timerTickCallbackDelegate);
 
-            played = false;
-            base.Dispose(type);
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() contructor!");
         }
 
-
         /// <summary>
-        /// Event arguments that passed via the tick event.
+        /// Destructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TickEventArgs : EventArgs
+        ~Timer()
         {
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() distructor!, disposed={disposed}");
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate bool TickCallbackDelegate();
-        private EventHandlerWithReturnType<object, TickEventArgs, bool> _timerTickEventHandler;
-        private TickCallbackDelegate _timerTickCallbackDelegate;
-
-        private System.IntPtr _timerTickCallbackOfNative;
 
         /// <summary>
         /// @brief Event for the ticked signal, which can be used to subscribe or unsubscribe the event handler
@@ -145,39 +104,23 @@ namespace Tizen.NUI
             }
         }
 
-        private bool OnTick()
+        /// <summary>
+        /// Gets/Sets the interval of the timer.
+        /// </summary>
+        /// <remarks>For setter, this sets a new interval on the timer and starts the timer. <br />
+        /// Cancels the previous timer.
+        /// </remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public uint Interval
         {
-            TickEventArgs e = new TickEventArgs();
-
-            if (played == false)
+            get
             {
-                Tizen.Log.Fatal("NUI", $"(0x{swigCPtr.Handle:X}) OnTick() is called even played is false!");
-                //throw new System.InvalidOperationException($"OnTick() excpetion!");
+                return GetInterval();
             }
-
-            if (_timerTickEventHandler != null && played == true)
+            set
             {
-                //here we send all data to user event handlers
-                return _timerTickEventHandler(this, e);
+                SetInterval(value);
             }
-            return false;
-        }
-
-        /// <summary>
-        /// Creates a tick timer that emits periodic signal.
-        /// </summary>
-        /// <param name="milliSec">Interval in milliseconds.</param>
-        /// <returns>A new timer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Timer(uint milliSec) : this(NDalicPINVOKE.Timer_New(milliSec), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            NUILog.Debug($"(0x{swigCPtr.Handle:X})  Timer({milliSec}) Constructor!");
-        }
-        internal Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -206,22 +149,20 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the interval of the timer.
+        /// Tells whether the timer is running.
         /// </summary>
-        /// <remarks>For setter, this sets a new interval on the timer and starts the timer. <br />
-        /// Cancels the previous timer.
-        /// </remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public uint Interval
+        /// <returns>Whether the timer is started or not.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsRunning()
         {
-            get
-            {
-                return GetInterval();
-            }
-            set
-            {
-                SetInterval(value);
-            }
+            bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
@@ -246,25 +187,81 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal TimerSignalType TickSignal()
+        {
+            TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// Tells whether the timer is running.
+        /// Dispose.
         /// </summary>
-        /// <returns>Whether the timer is started or not.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsRunning()
+        protected override void Dispose(DisposeTypes type)
         {
-            bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            NUILog.Debug($"(0x{swigCPtr.Handle:X}) Timer.Dispose(type={type}, disposed={disposed})");
+
+            if (this != null && _timerTickCallbackDelegate != null)
+            {
+                TickSignal().Disconnect(_timerTickCallbackOfNative);
+            }
+
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Timer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            played = false;
+            base.Dispose(type);
         }
 
-        internal TimerSignalType TickSignal()
+        private bool OnTick()
         {
-            TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            TickEventArgs e = new TickEventArgs();
+
+            if (played == false)
+            {
+                Tizen.Log.Fatal("NUI", $"(0x{swigCPtr.Handle:X}) OnTick() is called even played is false!");
+                //throw new System.InvalidOperationException($"OnTick() excpetion!");
+            }
+
+            if (_timerTickEventHandler != null && played == true)
+            {
+                //here we send all data to user event handlers
+                return _timerTickEventHandler(this, e);
+            }
+            return false;
         }
 
+        /// <summary>
+        /// Event arguments that passed via the tick event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TickEventArgs : EventArgs
+        {
+        }
     }
 
 }
index 8944ea9..b5b6972 100755 (executable)
@@ -30,64 +30,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Touch(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Touch_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Touch obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Touch(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-
-        internal static Touch GetTouchFromPtr(global::System.IntPtr cPtr)
-        {
-            Touch ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Touch;
-            if (ret == null)
-            {
-                ret = new Touch(cPtr, false);
-            }
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// An uninitialized touch instance.<br />
         /// Calling member functions with an uninitialized touch handle is not allowed.<br />
@@ -103,6 +45,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal Touch(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Touch_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Returns the time (in ms) that the touch event occurred.
         /// </summary>
@@ -255,13 +202,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal Degree GetAngle(uint point)
-        {
-            Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get mouse device's button value (for example, right or left button)
         /// </summary>
@@ -277,6 +217,65 @@ namespace Tizen.NUI
             return (MouseButton)ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Touch obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static Touch GetTouchFromPtr(global::System.IntPtr cPtr)
+        {
+            Touch ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Touch;
+            if (ret == null)
+            {
+                ret = new Touch(cPtr, false);
+            }
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Degree GetAngle(uint point)
+        {
+            Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Touch(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
     /// <summary>
index e1ec255..6eaf34d 100755 (executable)
@@ -25,53 +25,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal TransitionData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TransitionData_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TransitionData obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TransitionData(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Create an instance of TransitionData.
         /// </summary>
@@ -104,6 +57,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal TransitionData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TransitionData_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// returns the count of the individual property transitions stored within this handle.
         /// </summary>
@@ -129,6 +87,48 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TransitionData obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TransitionData(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
\ No newline at end of file
index ae47d52..0155c42 100755 (executable)
@@ -26,53 +26,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal TypeInfo(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TypeInfo_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TypeInfo obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TypeInfo(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Creates TypeInfo object.
         /// </summary>
@@ -92,6 +45,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal TypeInfo(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TypeInfo_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Retrieves the type name for this type.
         /// </summary>
@@ -154,6 +112,48 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TypeInfo obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TypeInfo(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
     }
 
 }
\ No newline at end of file
index c286f8a..012aac0 100755 (executable)
@@ -402,95 +402,38 @@ namespace Tizen.NUI.UIComponents
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal Button(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Button_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Button obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private EventHandlerWithReturnType<object, EventArgs, bool> _clickedEventHandler;
+        private ClickedCallbackType _clickedCallback;
+        private EventHandlerWithReturnType<object, EventArgs, bool> _pressedEventHandler;
+        private PressedCallbackType _pressedCallback;
+        private EventHandlerWithReturnType<object, EventArgs, bool> _releasedEventHandler;
+        private ReleasedCallbackType _releasedCallback;
+        private EventHandlerWithReturnType<object, EventArgs, bool> _stateChangedEventHandler;
+        private StateChangedCallback _stateChangedCallback;
 
         /// <summary>
-        /// To dispose the button instance.
+        /// Creates an uninitialized button.<br />
+        /// Only the derived versions can be instantiated.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
-            {
-                DisConnectFromSignals();
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Button(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private void DisConnectFromSignals()
+        internal Button(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Button_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            // Save current CPtr.
-            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
-
-            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
-            swigCPtr = GetBaseHandleCPtrHandleRef;
-
-            if (_stateChangedCallback != null)
-            {
-                StateChangedSignal().Disconnect(_stateChangedCallback);
-            }
-
-            if (_releasedCallback != null)
-            {
-                ReleasedSignal().Disconnect(_releasedCallback);
-            }
-
-            if (_pressedCallback != null)
-            {
-                this.PressedSignal().Disconnect(_pressedCallback);
-            }
-
-            if (_clickedCallback != null)
-            {
-                ClickedSignal().Disconnect(_clickedCallback);
-            }
-
-            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
-            // Restore current CPtr.
-            swigCPtr = currentCPtr;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-
-        private EventHandlerWithReturnType<object, EventArgs, bool> _clickedEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate bool ClickedCallbackType(global::System.IntPtr data);
-        private ClickedCallbackType _clickedCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool PressedCallbackType(global::System.IntPtr data);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool ReleasedCallbackType(global::System.IntPtr data);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool StateChangedCallback(global::System.IntPtr data);
 
         /// <summary>
         /// The Clicked event will be triggered when the button is touched and the touch point doesn't leave the boundary of the button.
@@ -520,23 +463,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-
-        private bool OnClicked(IntPtr data)
-        {
-            if (_clickedEventHandler != null)
-            {
-                return _clickedEventHandler(this, null);
-            }
-            return false;
-        }
-
-
-
-        private EventHandlerWithReturnType<object, EventArgs, bool> _pressedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool PressedCallbackType(global::System.IntPtr data);
-        private PressedCallbackType _pressedCallback;
-
         /// <summary>
         /// The Pressed event will be triggered when the button is touched.
         /// </summary>
@@ -565,22 +491,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        private bool OnPressed(IntPtr data)
-        {
-            if (_pressedEventHandler != null)
-            {
-                return _pressedEventHandler(this, null);
-            }
-            return false;
-        }
-
-
-
-        private EventHandlerWithReturnType<object, EventArgs, bool> _releasedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool ReleasedCallbackType(global::System.IntPtr data);
-        private ReleasedCallbackType _releasedCallback;
-
         /// <summary>
         /// The Released event will be triggered when the button is touched and the touch point leaves the boundary of the button.
         /// </summary>
@@ -609,21 +519,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        private bool OnReleased(IntPtr data)
-        {
-            if (_releasedEventHandler != null)
-            {
-                return _releasedEventHandler(this, null);
-            }
-            return false;
-        }
-
-
-        private EventHandlerWithReturnType<object, EventArgs, bool> _stateChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool StateChangedCallback(global::System.IntPtr data);
-        private StateChangedCallback _stateChangedCallback;
-
         /// <summary>
         /// The StateChanged event will be triggered when the button's state is changed.
         /// </summary>
@@ -652,16 +547,30 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        private bool OnStateChanged(IntPtr data)
+        /// <summary>
+        /// Enumeration for describing the position, the text label can be, in relation to the control (and foreground/icon).
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum Align
         {
-            if (_stateChangedEventHandler != null)
-            {
-                return _stateChangedEventHandler(this, null);
-            }
-            return false;
+            /// <summary>
+            /// At the start of the control before the foreground or icon.
+            /// </summary>
+            Begin,
+            /// <summary>
+            /// At the end of the control after the foreground or icon.
+            /// </summary>
+            End,
+            /// <summary>
+            /// At the top of the control above the foreground or icon.
+            /// </summary>
+            Top,
+            /// <summary>
+            /// At the bottom of the control below the foreground or icon.
+            /// </summary>
+            Bottom
         }
 
-
         /// <summary>
         /// Gets or sets the unselected button foreground or icon visual.
         /// </summary>
@@ -838,67 +747,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        internal new class Property
-        {
-            internal static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
-            internal static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
-            internal static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
-            internal static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
-            internal static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
-            internal static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
-            internal static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
-            internal static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
-            internal static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
-            internal static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
-            internal static readonly int FOREGROUND_VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
-            internal static readonly int AUTO_REPEATING = NDalicPINVOKE.Button_Property_AUTO_REPEATING_get();
-            internal static readonly int INITIAL_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
-            internal static readonly int NEXT_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
-            internal static readonly int TOGGLABLE = NDalicPINVOKE.Button_Property_TOGGLABLE_get();
-            internal static readonly int SELECTED = NDalicPINVOKE.Button_Property_SELECTED_get();
-            internal static readonly int UNSELECTED_COLOR = NDalicPINVOKE.Button_Property_UNSELECTED_COLOR_get();
-            internal static readonly int SELECTED_COLOR = NDalicPINVOKE.Button_Property_SELECTED_COLOR_get();
-            internal static readonly int LABEL = NDalicPINVOKE.Button_Property_LABEL_get();
-        }
-
-        /// <summary>
-        /// Creates an uninitialized button.<br />
-        /// Only the derived versions can be instantiated.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal ButtonSignal PressedSignal()
-        {
-            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_PressedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ButtonSignal ReleasedSignal()
-        {
-            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ReleasedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ButtonSignal ClickedSignal()
-        {
-            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ClickedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ButtonSignal StateChangedSignal()
-        {
-            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_StateChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// If the autorepeating property is set to true, then the togglable property is set to false.
         /// </summary>
@@ -1043,30 +891,169 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Button obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal ButtonSignal PressedSignal()
+        {
+            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_PressedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ButtonSignal ReleasedSignal()
+        {
+            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ReleasedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ButtonSignal ClickedSignal()
+        {
+            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ClickedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ButtonSignal StateChangedSignal()
+        {
+            ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_StateChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// Enumeration for describing the position, the text label can be, in relation to the control (and foreground/icon).
+        /// To dispose the button instance.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum Align
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// At the start of the control before the foreground or icon.
-            /// </summary>
-            Begin,
-            /// <summary>
-            /// At the end of the control after the foreground or icon.
-            /// </summary>
-            End,
-            /// <summary>
-            /// At the top of the control above the foreground or icon.
-            /// </summary>
-            Top,
-            /// <summary>
-            /// At the bottom of the control below the foreground or icon.
-            /// </summary>
-            Bottom
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
+            {
+                DisConnectFromSignals();
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Button(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-    }
+        private void DisConnectFromSignals()
+        {
+            // Save current CPtr.
+            global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
+
+            // Use BaseHandle CPtr as current might have been deleted already in derived classes.
+            swigCPtr = GetBaseHandleCPtrHandleRef;
+
+            if (_stateChangedCallback != null)
+            {
+                StateChangedSignal().Disconnect(_stateChangedCallback);
+            }
+
+            if (_releasedCallback != null)
+            {
+                ReleasedSignal().Disconnect(_releasedCallback);
+            }
+
+            if (_pressedCallback != null)
+            {
+                this.PressedSignal().Disconnect(_pressedCallback);
+            }
+
+            if (_clickedCallback != null)
+            {
+                ClickedSignal().Disconnect(_clickedCallback);
+            }
+
+            // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
+            // Restore current CPtr.
+            swigCPtr = currentCPtr;
+        }
+
+        private bool OnClicked(IntPtr data)
+        {
+            if (_clickedEventHandler != null)
+            {
+                return _clickedEventHandler(this, null);
+            }
+            return false;
+        }
+
+        private bool OnPressed(IntPtr data)
+        {
+            if (_pressedEventHandler != null)
+            {
+                return _pressedEventHandler(this, null);
+            }
+            return false;
+        }
+
+        private bool OnReleased(IntPtr data)
+        {
+            if (_releasedEventHandler != null)
+            {
+                return _releasedEventHandler(this, null);
+            }
+            return false;
+        }
 
+        private bool OnStateChanged(IntPtr data)
+        {
+            if (_stateChangedEventHandler != null)
+            {
+                return _stateChangedEventHandler(this, null);
+            }
+            return false;
+        }
+
+        internal new class Property
+        {
+            internal static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
+            internal static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
+            internal static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
+            internal static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
+            internal static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
+            internal static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
+            internal static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
+            internal static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
+            internal static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
+            internal static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
+            internal static readonly int FOREGROUND_VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
+            internal static readonly int AUTO_REPEATING = NDalicPINVOKE.Button_Property_AUTO_REPEATING_get();
+            internal static readonly int INITIAL_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
+            internal static readonly int NEXT_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
+            internal static readonly int TOGGLABLE = NDalicPINVOKE.Button_Property_TOGGLABLE_get();
+            internal static readonly int SELECTED = NDalicPINVOKE.Button_Property_SELECTED_get();
+            internal static readonly int UNSELECTED_COLOR = NDalicPINVOKE.Button_Property_UNSELECTED_COLOR_get();
+            internal static readonly int SELECTED_COLOR = NDalicPINVOKE.Button_Property_SELECTED_COLOR_get();
+            internal static readonly int LABEL = NDalicPINVOKE.Button_Property_LABEL_get();
+        }
+    }
 }
index 996bedb..3bba491 100755 (executable)
@@ -17,7 +17,6 @@
 
 namespace Tizen.NUI.UIComponents
 {
-
     /// <summary>
     /// The CheckBoxButton provides a checkbox button which the user can check or uncheck.<br />
     /// By default, the CheckBoxButton emits a Button.Clicked event when the button changes its state to selected or unselected.<br />
@@ -31,6 +30,15 @@ namespace Tizen.NUI.UIComponents
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        /// <summary>
+        /// Creates an initialized CheckBoxButton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public CheckBoxButton() : this(NDalicPINVOKE.CheckBoxButton_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal CheckBoxButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CheckBoxButton_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
@@ -41,7 +49,6 @@ namespace Tizen.NUI.UIComponents
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-
         /// <summary>
         /// To dispose the CheckBoxButton instance.
         /// </summary>
@@ -76,17 +83,5 @@ namespace Tizen.NUI.UIComponents
 
             base.Dispose(type);
         }
-
-        /// <summary>
-        /// Creates an initialized CheckBoxButton.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public CheckBoxButton() : this(NDalicPINVOKE.CheckBoxButton_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
     }
-
 }
\ No newline at end of file
index 89b60fc..f0cbc69 100755 (executable)
@@ -202,35 +202,35 @@ namespace Tizen.NUI.UIComponents
                 switch ((ContextualModeType)newValue)
                 {
                     case ContextualModeType.NonContextual:
-                        {
-                            valueToString = "NON_CONTEXTUAL";
-                            break;
-                        }
+                    {
+                        valueToString = "NON_CONTEXTUAL";
+                        break;
+                    }
                     case ContextualModeType.Above:
-                        {
-                            valueToString = "ABOVE";
-                            break;
-                        }
+                    {
+                        valueToString = "ABOVE";
+                        break;
+                    }
                     case ContextualModeType.Rright:
-                        {
-                            valueToString = "RIGHT";
-                            break;
-                        }
+                    {
+                        valueToString = "RIGHT";
+                        break;
+                    }
                     case ContextualModeType.Below:
-                        {
-                            valueToString = "BELOW";
-                            break;
-                        }
+                    {
+                        valueToString = "BELOW";
+                        break;
+                    }
                     case ContextualModeType.Left:
-                        {
-                            valueToString = "LEFT";
-                            break;
-                        }
+                    {
+                        valueToString = "LEFT";
+                        break;
+                    }
                     default:
-                        {
-                            valueToString = "BELOW";
-                            break;
-                        }
+                    {
+                        valueToString = "BELOW";
+                        break;
+                    }
                 }
                 Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.CONTEXTUAL_MODE, new Tizen.NUI.PropertyValue(valueToString));
             }
@@ -287,30 +287,30 @@ namespace Tizen.NUI.UIComponents
                 switch ((AnimationModeType)newValue)
                 {
                     case AnimationModeType.None:
-                        {
-                            valueToString = "NONE";
-                            break;
-                        }
+                    {
+                        valueToString = "NONE";
+                        break;
+                    }
                     case AnimationModeType.Zoom:
-                        {
-                            valueToString = "ZOOM";
-                            break;
-                        }
+                    {
+                        valueToString = "ZOOM";
+                        break;
+                    }
                     case AnimationModeType.Fade:
-                        {
-                            valueToString = "FADE";
-                            break;
-                        }
+                    {
+                        valueToString = "FADE";
+                        break;
+                    }
                     case AnimationModeType.Custom:
-                        {
-                            valueToString = "CUSTOM";
-                            break;
-                        }
+                    {
+                        valueToString = "CUSTOM";
+                        break;
+                    }
                     default:
-                        {
-                            valueToString = "FADE";
-                            break;
-                        }
+                    {
+                        valueToString = "FADE";
+                        break;
+                    }
                 }
                 Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.ANIMATION_MODE, new Tizen.NUI.PropertyValue(valueToString));
             }
@@ -526,148 +526,41 @@ namespace Tizen.NUI.UIComponents
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
-            {
-                if (_popUpHiddenEventCallbackDelegate != null)
-                {
-                    HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
-                }
-
-                if (_popUpHidingEventCallbackDelegate != null)
-                {
-                    HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
-                }
-            }
-
-            if (_popUpShownEventCallbackDelegate != null)
-            {
-                ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
-            }
-
-            if (_popUpShowingEventCallbackDelegate != null)
-            {
-                ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
-            }
-
-            if (_popUpOutsideTouchedEventCallbackDelegate != null)
-            {
-                this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Popup(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-
-
-
-        /// <summary>
-        /// Event arguments that passed via the OutsideTouchedEvent.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TouchedOutsideEventArgs : EventArgs
-        {
-        }
-
-        /// <summary>
-        /// Event arguments that passed via the ShowingEventArgs.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ShowingEventArgs : EventArgs
-        {
-        }
-
-        /// <summary>
-        /// Event arguments that passed via the ShownEventArgs.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ShownEventArgs : EventArgs
-        {
-        }
+        private EventHandler<TouchedOutsideEventArgs> _popUpOutsideTouchedEventHandler;
+        private OutsideTouchedEventCallbackDelegate _popUpOutsideTouchedEventCallbackDelegate;
+        private EventHandler<ShowingEventArgs> _popUpShowingEventHandler;
+        private ShowingEventCallbackDelegate _popUpShowingEventCallbackDelegate;
+        private EventHandler<ShownEventArgs> _popUpShownEventHandler;
+        private ShownEventCallbackDelegate _popUpShownEventCallbackDelegate;
+        private EventHandler<HidingEventArgs> _popUpHidingEventHandler;
+        private HidingEventCallbackDelegate _popUpHidingEventCallbackDelegate;
+        private EventHandler<HiddenEventArgs> _popUpHiddenEventHandler;
+        private HiddenEventCallbackDelegate _popUpHiddenEventCallbackDelegate;
 
         /// <summary>
-        /// Event arguments that passed via the HidingEventArgs.
+        /// Creates the popup.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class HidingEventArgs : EventArgs
+        public Popup() : this(NDalicPINVOKE.Popup_New(), true)
         {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Event arguments that passed via the HiddenEventArgs.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class HiddenEventArgs : EventArgs
+        internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn)
         {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void OutsideTouchedEventCallbackDelegate();
-        private EventHandler<TouchedOutsideEventArgs> _popUpOutsideTouchedEventHandler;
-        private OutsideTouchedEventCallbackDelegate _popUpOutsideTouchedEventCallbackDelegate;
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void ShowingEventCallbackDelegate();
-        private EventHandler<ShowingEventArgs> _popUpShowingEventHandler;
-        private ShowingEventCallbackDelegate _popUpShowingEventCallbackDelegate;
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void ShownEventCallbackDelegate();
-        private EventHandler<ShownEventArgs> _popUpShownEventHandler;
-        private ShownEventCallbackDelegate _popUpShownEventCallbackDelegate;
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void HidingEventCallbackDelegate();
-        private EventHandler<HidingEventArgs> _popUpHidingEventHandler;
-        private HidingEventCallbackDelegate _popUpHidingEventCallbackDelegate;
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void HiddenEventCallbackDelegate();
-        private EventHandler<HiddenEventArgs> _popUpHiddenEventHandler;
-        private HiddenEventCallbackDelegate _popUpHiddenEventCallbackDelegate;
 
         /// <summary>
         /// An event is sent when the user has touched outside the dialog.
@@ -694,18 +587,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for Popup OutsideTouchedSignal
-        private void OnOutsideTouched()
-        {
-            TouchedOutsideEventArgs e = new TouchedOutsideEventArgs();
-
-            if (_popUpOutsideTouchedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _popUpOutsideTouchedEventHandler(this, e);
-            }
-        }
-
         /// <summary>
         /// An event is sent when the popup starts showing.
         /// </summary>
@@ -731,19 +612,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ShowingSignal
-        private void OnShowing()
-        {
-            ShowingEventArgs e = new ShowingEventArgs();
-
-            if (_popUpShowingEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _popUpShowingEventHandler(this, e);
-            }
-        }
-
-
         /// <summary>
         /// An event is sent when the popup has been fully displayed.
         /// </summary>
@@ -769,18 +637,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ShownSignal
-        private void OnShown()
-        {
-            ShownEventArgs e = new ShownEventArgs();
-
-            if (_popUpShownEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _popUpShownEventHandler(this, e);
-            }
-        }
-
         /// <summary>
         /// An event is sent when the popup starts to hide.
         /// </summary>
@@ -806,18 +662,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for HidingSignal
-        private void OnHiding()
-        {
-            HidingEventArgs e = new HidingEventArgs();
-
-            if (_popUpHidingEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _popUpHidingEventHandler(this, e);
-            }
-        }
-
         /// <summary>
         /// An event is sent when the popup has been completely hidden.
         /// </summary>
@@ -843,217 +687,32 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for HiddenSignal
-        private void OnHidden()
+        /// <summary>
+        /// The display states of the popup.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum DisplayStateType
         {
-            HiddenEventArgs e = new HiddenEventArgs();
-
-            if (_popUpHiddenEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _popUpHiddenEventHandler(this, e);
-            }
-        }
-
-        internal new class Property
-        {
-            internal static readonly int TITLE = NDalicPINVOKE.Popup_Property_TITLE_get();
-            internal static readonly int CONTENT = NDalicPINVOKE.Popup_Property_CONTENT_get();
-            internal static readonly int FOOTER = NDalicPINVOKE.Popup_Property_FOOTER_get();
-            internal static readonly int DISPLAY_STATE = NDalicPINVOKE.Popup_Property_DISPLAY_STATE_get();
-            internal static readonly int TOUCH_TRANSPARENT = NDalicPINVOKE.Popup_Property_TOUCH_TRANSPARENT_get();
-            internal static readonly int TAIL_VISIBILITY = NDalicPINVOKE.Popup_Property_TAIL_VISIBILITY_get();
-            internal static readonly int TAIL_POSITION = NDalicPINVOKE.Popup_Property_TAIL_POSITION_get();
-            internal static readonly int CONTEXTUAL_MODE = NDalicPINVOKE.Popup_Property_CONTEXTUAL_MODE_get();
-            internal static readonly int ANIMATION_DURATION = NDalicPINVOKE.Popup_Property_ANIMATION_DURATION_get();
-            internal static readonly int ANIMATION_MODE = NDalicPINVOKE.Popup_Property_ANIMATION_MODE_get();
-            internal static readonly int ENTRY_ANIMATION = NDalicPINVOKE.Popup_Property_ENTRY_ANIMATION_get();
-            internal static readonly int EXIT_ANIMATION = NDalicPINVOKE.Popup_Property_EXIT_ANIMATION_get();
-            internal static readonly int AUTO_HIDE_DELAY = NDalicPINVOKE.Popup_Property_AUTO_HIDE_DELAY_get();
-            internal static readonly int BACKING_ENABLED = NDalicPINVOKE.Popup_Property_BACKING_ENABLED_get();
-            internal static readonly int BACKING_COLOR = NDalicPINVOKE.Popup_Property_BACKING_COLOR_get();
-            internal static readonly int POPUP_BACKGROUND_IMAGE = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
-            internal static readonly int POPUP_BACKGROUND_BORDER = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_BORDER_get();
-            internal static readonly int TAIL_UP_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_UP_IMAGE_get();
-            internal static readonly int TAIL_DOWN_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_DOWN_IMAGE_get();
-            internal static readonly int TAIL_LEFT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_LEFT_IMAGE_get();
-            internal static readonly int TAIL_RIGHT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_RIGHT_IMAGE_get();
-        }
-
-        /// <summary>
-        /// Creates the popup.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Popup() : this(NDalicPINVOKE.Popup_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Sets the title for this popup.
-        /// </summary>
-        /// <param name="titleView">The actor to set the title.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetTitle(View titleView)
-        {
-            NDalicPINVOKE.Popup_SetTitle(swigCPtr, View.getCPtr(titleView));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal View GetTitle()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Popup_GetTitle(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the content actor.
-        /// </summary>
-        /// <param name="content">The actor to use.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetContent(View content)
-        {
-            NDalicPINVOKE.Popup_SetContent(swigCPtr, View.getCPtr(content));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal View GetContent()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Popup_GetContent(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the actor to use for the footer in this popup.
-        /// </summary>
-        /// <param name="footer">The footer actor to be added to this popup.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetFooter(View footer)
-        {
-            NDalicPINVOKE.Popup_SetFooter(swigCPtr, View.getCPtr(footer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal View GetFooter()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Popup_GetFooter(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the display state of popup.<br />
-        /// There are 4 total display states.<br />
-        /// Only 2 can be set, but all four can be read for better inspection of the current popup state.<br />
-        /// <br />
-        /// The other two states are getable, but not setable, and are there for consistency.<br />
-        /// <br />
-        /// | Value    | Setting the state              | Getting the state              |<br />
-        /// |----------|--------------------------------|--------------------------------|<br />
-        /// | SHOWN    | Show the popup                 | The popup is fully shown       |<br />
-        /// | HIDDEN   | Hide the popup                 | The popup is fully hidden      |<br />
-        /// | SHOWING  |                                | The popup is transitioning in  |<br />
-        /// | HIDING   |                                | The popup is transitioning out |<br />
-        /// <br />
-        /// All 4 states changes cause notifications via 4 respective signals that can be connected to.<br />
-        /// </summary>
-        /// <param name="displayState">The desired display state to change to.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetDisplayState(Popup.DisplayStateType displayState)
-        {
-            NDalicPINVOKE.Popup_SetDisplayState(swigCPtr, (int)displayState);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Popup.DisplayStateType GetDisplayState()
-        {
-            Popup.DisplayStateType ret = (Popup.DisplayStateType)NDalicPINVOKE.Popup_GetDisplayState(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal VoidSignal OutsideTouchedSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_OutsideTouchedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal VoidSignal ShowingSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShowingSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal VoidSignal ShownSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShownSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal VoidSignal HidingSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HidingSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal VoidSignal HiddenSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HiddenSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The display states of the popup.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum DisplayStateType
-        {
-            /// <summary>
-            /// The popup is transitioning in
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Showing,
-            /// <summary>
-            /// The popup is fully shown
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Shown,
-            /// <summary>
-            /// The popup is transitioning out
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Hiding,
-            /// <summary>
-            /// The popup is fully hidden
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Hidden
+            /// <summary>
+            /// The popup is transitioning in
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Showing,
+            /// <summary>
+            /// The popup is fully shown
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Shown,
+            /// <summary>
+            /// The popup is transitioning out
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Hiding,
+            /// <summary>
+            /// The popup is fully hidden
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Hidden
         }
 
         /// <summary>
@@ -1135,6 +794,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TitleProperty, value);
             }
         }
+
         /// <summary>
         /// The popup content.
         /// </summary>
@@ -1150,6 +810,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(ContentProperty, value);
             }
         }
+
         /// <summary>
         /// The popup footer.
         /// </summary>
@@ -1165,6 +826,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(FooterProperty, value);
             }
         }
+
         /// <summary>
         /// The popup display state.
         /// </summary>
@@ -1180,6 +842,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(DisplayStateProperty, value);
             }
         }
+
         /// <summary>
         /// The touch transparent.
         /// </summary>
@@ -1195,6 +858,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TouchTransparentProperty, value);
             }
         }
+
         /// <summary>
         /// The popup tail visibility.
         /// </summary>
@@ -1210,6 +874,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TailVisibilityProperty, value);
             }
         }
+
         /// <summary>
         /// The popup tail position.
         /// </summary>
@@ -1225,6 +890,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TailPositionProperty, value);
             }
         }
+
         /// <summary>
         /// The contextual mode.
         /// </summary>
@@ -1240,6 +906,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(ContextualModeProperty, value);
             }
         }
+
         /// <summary>
         /// The animation duration.
         /// </summary>
@@ -1255,6 +922,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(AnimationDurationProperty, value);
             }
         }
+
         /// <summary>
         /// The animation mode.
         /// </summary>
@@ -1270,6 +938,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(AnimationModeProperty, value);
             }
         }
+
         /// <summary>
         /// The entry animation.
         /// </summary>
@@ -1285,6 +954,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(EntryAnimationProperty, value);
             }
         }
+
         /// <summary>
         /// The exit animation.
         /// </summary>
@@ -1300,6 +970,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(ExitAnimationProperty, value);
             }
         }
+
         /// <summary>
         /// The auto hide delay.
         /// </summary>
@@ -1315,6 +986,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(AutoHideDelayProperty, value);
             }
         }
+
         /// <summary>
         /// The backing enabled.
         /// </summary>
@@ -1330,6 +1002,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(BackingEnabledProperty, value);
             }
         }
+
         /// <summary>
         /// The backing color.
         /// </summary>
@@ -1345,6 +1018,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(BackingColorProperty, value);
             }
         }
+
         /// <summary>
         /// The background image.
         /// </summary>
@@ -1360,6 +1034,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(PopupBackgroundImageProperty, value);
             }
         }
+
         /// <summary>
         /// The background border.
         /// </summary>
@@ -1375,6 +1050,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(PopupBackgroundBorderProperty, value);
             }
         }
+
         /// <summary>
         /// The tail up image.
         /// </summary>
@@ -1390,6 +1066,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TailUpImageProperty, value);
             }
         }
+
         /// <summary>
         /// The tail down image.
         /// </summary>
@@ -1405,6 +1082,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TailDownImageProperty, value);
             }
         }
+
         /// <summary>
         /// The tail left image.
         /// </summary>
@@ -1420,6 +1098,7 @@ namespace Tizen.NUI.UIComponents
                 SetValue(TailLeftImageProperty, value);
             }
         }
+
         /// <summary>
         /// The tail right image.
         /// </summary>
@@ -1436,6 +1115,336 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-    }
+        /// <summary>
+        /// Sets the title for this popup.
+        /// </summary>
+        /// <param name="titleView">The actor to set the title.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetTitle(View titleView)
+        {
+            NDalicPINVOKE.Popup_SetTitle(swigCPtr, View.getCPtr(titleView));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Sets the content actor.
+        /// </summary>
+        /// <param name="content">The actor to use.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetContent(View content)
+        {
+            NDalicPINVOKE.Popup_SetContent(swigCPtr, View.getCPtr(content));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
+        /// <summary>
+        /// Sets the actor to use for the footer in this popup.
+        /// </summary>
+        /// <param name="footer">The footer actor to be added to this popup.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetFooter(View footer)
+        {
+            NDalicPINVOKE.Popup_SetFooter(swigCPtr, View.getCPtr(footer));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Sets the display state of popup.<br />
+        /// There are 4 total display states.<br />
+        /// Only 2 can be set, but all four can be read for better inspection of the current popup state.<br />
+        /// <br />
+        /// The other two states are getable, but not setable, and are there for consistency.<br />
+        /// <br />
+        /// | Value    | Setting the state              | Getting the state              |<br />
+        /// |----------|--------------------------------|--------------------------------|<br />
+        /// | SHOWN    | Show the popup                 | The popup is fully shown       |<br />
+        /// | HIDDEN   | Hide the popup                 | The popup is fully hidden      |<br />
+        /// | SHOWING  |                                | The popup is transitioning in  |<br />
+        /// | HIDING   |                                | The popup is transitioning out |<br />
+        /// <br />
+        /// All 4 states changes cause notifications via 4 respective signals that can be connected to.<br />
+        /// </summary>
+        /// <param name="displayState">The desired display state to change to.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetDisplayState(Popup.DisplayStateType displayState)
+        {
+            NDalicPINVOKE.Popup_SetDisplayState(swigCPtr, (int)displayState);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal View GetTitle()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Popup_GetTitle(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal View GetContent()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Popup_GetContent(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal View GetFooter()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Popup_GetFooter(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Popup.DisplayStateType GetDisplayState()
+        {
+            Popup.DisplayStateType ret = (Popup.DisplayStateType)NDalicPINVOKE.Popup_GetDisplayState(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal OutsideTouchedSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_OutsideTouchedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal ShowingSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShowingSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal ShownSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShownSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal HidingSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HidingSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal HiddenSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HiddenSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
+            {
+                if (_popUpHiddenEventCallbackDelegate != null)
+                {
+                    HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
+                }
+
+                if (_popUpHidingEventCallbackDelegate != null)
+                {
+                    HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
+                }
+            }
+
+            if (_popUpShownEventCallbackDelegate != null)
+            {
+                ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
+            }
+
+            if (_popUpShowingEventCallbackDelegate != null)
+            {
+                ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
+            }
+
+            if (_popUpOutsideTouchedEventCallbackDelegate != null)
+            {
+                this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Popup(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        // Callback for Popup OutsideTouchedSignal
+        private void OnOutsideTouched()
+        {
+            TouchedOutsideEventArgs e = new TouchedOutsideEventArgs();
+
+            if (_popUpOutsideTouchedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _popUpOutsideTouchedEventHandler(this, e);
+            }
+        }
+
+        // Callback for ShowingSignal
+        private void OnShowing()
+        {
+            ShowingEventArgs e = new ShowingEventArgs();
+
+            if (_popUpShowingEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _popUpShowingEventHandler(this, e);
+            }
+        }
+
+        // Callback for ShownSignal
+        private void OnShown()
+        {
+            ShownEventArgs e = new ShownEventArgs();
+
+            if (_popUpShownEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _popUpShownEventHandler(this, e);
+            }
+        }
+
+        // Callback for HidingSignal
+        private void OnHiding()
+        {
+            HidingEventArgs e = new HidingEventArgs();
+
+            if (_popUpHidingEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _popUpHidingEventHandler(this, e);
+            }
+        }
+
+        // Callback for HiddenSignal
+        private void OnHidden()
+        {
+            HiddenEventArgs e = new HiddenEventArgs();
+
+            if (_popUpHiddenEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _popUpHiddenEventHandler(this, e);
+            }
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the OutsideTouchedEvent.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TouchedOutsideEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the ShowingEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ShowingEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the ShownEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ShownEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the HidingEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class HidingEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the HiddenEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class HiddenEventArgs : EventArgs
+        {
+        }
+
+        internal new class Property
+        {
+            internal static readonly int TITLE = NDalicPINVOKE.Popup_Property_TITLE_get();
+            internal static readonly int CONTENT = NDalicPINVOKE.Popup_Property_CONTENT_get();
+            internal static readonly int FOOTER = NDalicPINVOKE.Popup_Property_FOOTER_get();
+            internal static readonly int DISPLAY_STATE = NDalicPINVOKE.Popup_Property_DISPLAY_STATE_get();
+            internal static readonly int TOUCH_TRANSPARENT = NDalicPINVOKE.Popup_Property_TOUCH_TRANSPARENT_get();
+            internal static readonly int TAIL_VISIBILITY = NDalicPINVOKE.Popup_Property_TAIL_VISIBILITY_get();
+            internal static readonly int TAIL_POSITION = NDalicPINVOKE.Popup_Property_TAIL_POSITION_get();
+            internal static readonly int CONTEXTUAL_MODE = NDalicPINVOKE.Popup_Property_CONTEXTUAL_MODE_get();
+            internal static readonly int ANIMATION_DURATION = NDalicPINVOKE.Popup_Property_ANIMATION_DURATION_get();
+            internal static readonly int ANIMATION_MODE = NDalicPINVOKE.Popup_Property_ANIMATION_MODE_get();
+            internal static readonly int ENTRY_ANIMATION = NDalicPINVOKE.Popup_Property_ENTRY_ANIMATION_get();
+            internal static readonly int EXIT_ANIMATION = NDalicPINVOKE.Popup_Property_EXIT_ANIMATION_get();
+            internal static readonly int AUTO_HIDE_DELAY = NDalicPINVOKE.Popup_Property_AUTO_HIDE_DELAY_get();
+            internal static readonly int BACKING_ENABLED = NDalicPINVOKE.Popup_Property_BACKING_ENABLED_get();
+            internal static readonly int BACKING_COLOR = NDalicPINVOKE.Popup_Property_BACKING_COLOR_get();
+            internal static readonly int POPUP_BACKGROUND_IMAGE = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
+            internal static readonly int POPUP_BACKGROUND_BORDER = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_BORDER_get();
+            internal static readonly int TAIL_UP_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_UP_IMAGE_get();
+            internal static readonly int TAIL_DOWN_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_DOWN_IMAGE_get();
+            internal static readonly int TAIL_LEFT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_LEFT_IMAGE_get();
+            internal static readonly int TAIL_RIGHT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_RIGHT_IMAGE_get();
+        }
+    }
 }
index 1625532..ce0b213 100755 (executable)
@@ -38,7 +38,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.PROGRESS_VALUE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             float temp = 0.0f;
@@ -55,7 +55,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.SECONDARY_PROGRESS_VALUE, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             float temp = 0.0f;
@@ -72,7 +72,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.INDETERMINATE, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             bool temp = false;
@@ -89,7 +89,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -106,7 +106,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -123,7 +123,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.SECONDARY_PROGRESS_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -140,7 +140,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.INDETERMINATE_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -157,7 +157,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
@@ -174,7 +174,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(progressBar.swigCPtr, ProgressBar.Property.LABEL_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var progressBar = (ProgressBar)bindable;
             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
@@ -182,125 +182,27 @@ namespace Tizen.NUI.UIComponents
             return temp;
         });
 
-
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal ProgressBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ProgressBar_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBar obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private EventHandler<ValueChangedEventArgs> _progressBarValueChangedEventHandler;
+        private ValueChangedCallbackDelegate _progressBarValueChangedCallbackDelegate;
 
         /// <summary>
-        /// To dispose the ProgressBar instance.
+        /// Creates the ProgressBar.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public ProgressBar() : this(NDalicPINVOKE.ProgressBar_New(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (this != null && _progressBarValueChangedCallbackDelegate != null)
-            {
-                ValueChangedSignal().Disconnect(_progressBarValueChangedCallbackDelegate);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_ProgressBar(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
-
-        /// <summary>
-        /// Event arguments that passed via the ValueChangedEventArgs.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ValueChangedEventArgs : EventArgs
+        internal ProgressBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ProgressBar_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            private ProgressBar _progressBar;
-            private float _progressValue;
-            private float _secondaryProgressValue;
-
-            /// <summary>
-            /// ProgressBar
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ProgressBar ProgressBar
-            {
-                get
-                {
-                    return _progressBar;
-                }
-                set
-                {
-                    _progressBar = value;
-                }
-            }
-
-            /// <summary>
-            /// The progress value of the progress bar, the progress runs from 0 to 1.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float ProgressValue
-            {
-                get
-                {
-                    return _progressValue;
-                }
-                set
-                {
-                    _progressValue = value;
-                }
-            }
-
-            /// <summary>
-            /// The secondary progress value of the progress bar, the secondary progress runs from 0 to 1.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float SecondaryProgressValue
-            {
-                get
-                {
-                    return _secondaryProgressValue;
-                }
-                set
-                {
-                    _secondaryProgressValue = value;
-                }
-            }
-
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void ValueChangedCallbackDelegate(IntPtr progressBar, float progressValue, float secondaryProgressValue);
-        private EventHandler<ValueChangedEventArgs> _progressBarValueChangedEventHandler;
-        private ValueChangedCallbackDelegate _progressBarValueChangedCallbackDelegate;
 
         /// <summary>
         /// The event is sent when the ProgressBar value changes.
@@ -327,52 +229,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ProgressBar ValueChanged signal
-        private void OnValueChanged(IntPtr progressBar, float progressValue, float secondaryProgressValue)
-        {
-            ValueChangedEventArgs e = new ValueChangedEventArgs();
-
-            // Populate all members of "e" (ValueChangedEventArgs) with real page
-            e.ProgressBar = Registry.GetManagedBaseHandleFromNativePtr(progressBar) as ProgressBar;
-            e.ProgressValue = progressValue;
-            e.SecondaryProgressValue = secondaryProgressValue;
-
-            if (_progressBarValueChangedEventHandler != null)
-            {
-                _progressBarValueChangedEventHandler(this, e);
-            }
-        }
-
-        internal new class Property
-        {
-            internal static readonly int PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VALUE_get();
-            internal static readonly int SECONDARY_PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get();
-            internal static readonly int INDETERMINATE = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_get();
-            internal static readonly int TRACK_VISUAL = NDalicPINVOKE.ProgressBar_Property_TRACK_VISUAL_get();
-            internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VISUAL_get();
-            internal static readonly int SECONDARY_PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get();
-            internal static readonly int INDETERMINATE_VISUAL = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_get();
-            internal static readonly int INDETERMINATE_VISUAL_ANIMATION = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get();
-            internal static readonly int LABEL_VISUAL = NDalicPINVOKE.ProgressBar_Property_LABEL_VISUAL_get();
-        }
-
-        /// <summary>
-        /// Creates the ProgressBar.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ProgressBar() : this(NDalicPINVOKE.ProgressBar_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal ProgressBarValueChangedSignal ValueChangedSignal()
-        {
-            ProgressBarValueChangedSignal ret = new ProgressBarValueChangedSignal(NDalicPINVOKE.ProgressBar_ValueChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// The progress value of the progress bar, the progress runs from 0 to 1.<br />
         /// If the value is set to 0, then the progress bar will be set to beginning.<br />
@@ -529,6 +385,146 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-    }
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBar obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal ProgressBarValueChangedSignal ValueChangedSignal()
+        {
+            ProgressBarValueChangedSignal ret = new ProgressBarValueChangedSignal(NDalicPINVOKE.ProgressBar_ValueChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// To dispose the ProgressBar instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (this != null && _progressBarValueChangedCallbackDelegate != null)
+            {
+                ValueChangedSignal().Disconnect(_progressBarValueChangedCallbackDelegate);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_ProgressBar(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        // Callback for ProgressBar ValueChanged signal
+        private void OnValueChanged(IntPtr progressBar, float progressValue, float secondaryProgressValue)
+        {
+            ValueChangedEventArgs e = new ValueChangedEventArgs();
+
+            // Populate all members of "e" (ValueChangedEventArgs) with real page
+            e.ProgressBar = Registry.GetManagedBaseHandleFromNativePtr(progressBar) as ProgressBar;
+            e.ProgressValue = progressValue;
+            e.SecondaryProgressValue = secondaryProgressValue;
+
+            if (_progressBarValueChangedEventHandler != null)
+            {
+                _progressBarValueChangedEventHandler(this, e);
+            }
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the ValueChangedEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ValueChangedEventArgs : EventArgs
+        {
+            private ProgressBar _progressBar;
+            private float _progressValue;
+            private float _secondaryProgressValue;
+
+            /// <summary>
+            /// ProgressBar
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public ProgressBar ProgressBar
+            {
+                get
+                {
+                    return _progressBar;
+                }
+                set
+                {
+                    _progressBar = value;
+                }
+            }
 
+            /// <summary>
+            /// The progress value of the progress bar, the progress runs from 0 to 1.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float ProgressValue
+            {
+                get
+                {
+                    return _progressValue;
+                }
+                set
+                {
+                    _progressValue = value;
+                }
+            }
+
+            /// <summary>
+            /// The secondary progress value of the progress bar, the secondary progress runs from 0 to 1.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float SecondaryProgressValue
+            {
+                get
+                {
+                    return _secondaryProgressValue;
+                }
+                set
+                {
+                    _secondaryProgressValue = value;
+                }
+            }
+
+        }
+
+        internal new class Property
+        {
+            internal static readonly int PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VALUE_get();
+            internal static readonly int SECONDARY_PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get();
+            internal static readonly int INDETERMINATE = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_get();
+            internal static readonly int TRACK_VISUAL = NDalicPINVOKE.ProgressBar_Property_TRACK_VISUAL_get();
+            internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VISUAL_get();
+            internal static readonly int SECONDARY_PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get();
+            internal static readonly int INDETERMINATE_VISUAL = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_get();
+            internal static readonly int INDETERMINATE_VISUAL_ANIMATION = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get();
+            internal static readonly int LABEL_VISUAL = NDalicPINVOKE.ProgressBar_Property_LABEL_VISUAL_get();
+        }
+    }
 }
index 4c47db0..bff6d25 100755 (executable)
@@ -39,13 +39,76 @@ namespace Tizen.NUI.UIComponents
         public static readonly BindableProperty CommandParameterProperty = BindableProperty.Create("CommandParameter", typeof(object), typeof(PushButton), null,
                 BindingMode.OneWay, null, null, null, null, null as BindableProperty.CreateDefaultValueDelegate);
 
+
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        /// <summary>
+        /// Creates the PushButton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PushButton() : this(NDalicPINVOKE.PushButton_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal PushButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PushButton_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public ICommand Command
+        {
+            get
+            {
+                return (ICommand)base.GetValue(PushButton.CommandProperty);
+            }
+            set
+            {
+                base.SetValue(PushButton.CommandProperty, value);
+            }
+        }
+
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public object CommandParameter
+        {
+            get
+            {
+                return base.GetValue(PushButton.CommandParameterProperty);
+            }
+            set
+            {
+                base.SetValue(PushButton.CommandParameterProperty, value);
+            }
+        }
+
+        internal override bool IsCreateByXaml
+        {
+            get
+            {
+                return base.IsCreateByXaml;
+            }
+            set
+            {
+                base.IsCreateByXaml = value;
+
+                if (value == true)
+                {
+                    this.Clicked += (sender, e) =>
+                    {
+                        ICommand command = this.Command;
+                        if (command != null)
+                        {
+                            command.Execute(this.CommandParameter);
+                        }
+                        return true;
+                    };
+                }
+            }
+        }
+
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PushButton obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
@@ -62,7 +125,7 @@ namespace Tizen.NUI.UIComponents
                 return;
             }
 
-            if(type == DisposeTypes.Explicit)
+            if (type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -86,7 +149,6 @@ namespace Tizen.NUI.UIComponents
             base.Dispose(type);
         }
 
-
         internal new class Property
         {
             internal static readonly int UNSELECTED_ICON = NDalicPINVOKE.PushButton_Property_UNSELECTED_ICON_get();
@@ -95,67 +157,5 @@ namespace Tizen.NUI.UIComponents
             internal static readonly int LABEL_PADDING = NDalicPINVOKE.PushButton_Property_LABEL_PADDING_get();
             internal static readonly int ICON_PADDING = NDalicPINVOKE.PushButton_Property_ICON_PADDING_get();
         }
-
-        /// <summary>
-        /// Creates the PushButton.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PushButton() : this(NDalicPINVOKE.PushButton_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal override bool IsCreateByXaml
-        {
-            get
-            {
-                return base.IsCreateByXaml;
-            }
-            set
-            {
-                base.IsCreateByXaml = value;
-
-                if (value == true)
-                {
-                    this.Clicked += (sender, e) =>
-                    {
-                        ICommand command = this.Command;
-                        if (command != null)
-                        {
-                            command.Execute(this.CommandParameter);
-                        }
-                        return true;
-                    };
-                }
-            }
-        }
-
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public ICommand Command
-        {
-            get
-            {
-                return (ICommand)base.GetValue(PushButton.CommandProperty);
-            }
-            set
-            {
-                base.SetValue(PushButton.CommandProperty, value);
-            }
-        }
-
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public object CommandParameter
-        {
-            get
-            {
-                return base.GetValue(PushButton.CommandParameterProperty);
-            }
-            set
-            {
-                base.SetValue(PushButton.CommandParameterProperty, value);
-            }
-        }
     }
 }
index 1fa6e8e..bd57cec 100755 (executable)
@@ -17,7 +17,6 @@
 
 namespace Tizen.NUI.UIComponents
 {
-
     /// <summary>
     /// A RadioButton provides a radio button with two states, \e selected or \e unselected.<br />
     /// Radio buttons are designed to select one of the many options at the same time.<br />
@@ -36,6 +35,25 @@ namespace Tizen.NUI.UIComponents
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        /// <summary>
+        /// Creates an uninitialized RadioButton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public RadioButton() : this(NDalicPINVOKE.RadioButton_New__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an uninitialized RadioButton with the label.
+        /// </summary>
+        /// <param name="label">The label text.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RadioButton(string label) : this(NDalicPINVOKE.RadioButton_New__SWIG_1(label), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal RadioButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RadioButton_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
@@ -81,25 +99,5 @@ namespace Tizen.NUI.UIComponents
 
             base.Dispose(type);
         }
-        /// <summary>
-        /// Creates an uninitialized RadioButton.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public RadioButton() : this(NDalicPINVOKE.RadioButton_New__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Creates an uninitialized RadioButton with the label.
-        /// </summary>
-        /// <param name="label">The label text.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RadioButton(string label) : this(NDalicPINVOKE.RadioButton_New__SWIG_1(label), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
     }
 }
\ No newline at end of file
index 3a15ed3..847196b 100755 (executable)
@@ -46,7 +46,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.SCROLL_DIRECTION, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             string temp;
@@ -72,14 +72,14 @@ namespace Tizen.NUI.UIComponents
             {
                 switch ((IndicatorHeightPolicyType)newValue)
                 {
-                    case IndicatorHeightPolicyType.Variable:{ valueToString = "Variable"; break; }
+                    case IndicatorHeightPolicyType.Variable: { valueToString = "Variable"; break; }
                     case IndicatorHeightPolicyType.Fixed: { valueToString = "Fixed"; break; }
-                    default:  { valueToString = "Variable"; break; }
+                    default: { valueToString = "Variable"; break; }
                 }
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_HEIGHT_POLICY, new Tizen.NUI.PropertyValue(valueToString));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             string temp;
@@ -105,7 +105,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_FIXED_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -122,7 +122,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_SHOW_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -139,7 +139,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_HIDE_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -156,7 +156,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.SCROLL_POSITION_INTERVALS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
@@ -173,7 +173,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -190,7 +190,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_START_PADDING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -207,7 +207,7 @@ namespace Tizen.NUI.UIComponents
                 Tizen.NUI.Object.SetProperty(scrollBar.swigCPtr, ScrollBar.Property.INDICATOR_END_PADDING, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollBar = (ScrollBar)bindable;
             float temp = 0.0f;
@@ -217,105 +217,46 @@ namespace Tizen.NUI.UIComponents
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        private EventHandler<PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
+        private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private EventHandler<ScrollIntervalEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
+        private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
 
         /// <summary>
-        /// To dispose the ScrollBar instance.
+        /// Creates an initialized scrollbar.
         /// </summary>
+        /// <param name="direction">The direction of the scrollbar (either vertically or horizontally).</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public ScrollBar(ScrollBar.Direction direction) : this(NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
-            {
-                if (_scrollBarScrollPositionIntervalReachedEventCallbackDelegate != null)
-                {
-                    ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
-                }
-
-                if (_scrollBarPanFinishedEventCallbackDelegate != null)
-                {
-                    PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
-                }
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_ScrollBar(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Event arguments that passed via the PanFinished event.
+        /// Creates an uninitialized scrollbar.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class PanFinishedEventArgs : EventArgs
+        public ScrollBar() : this(NDalicPINVOKE.ScrollBar_New__SWIG_1(), true)
         {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Event arguments that passed via the ScrollPositionIntervalReached event.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ScrollIntervalEventArgs : EventArgs
+        internal ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true)
         {
-            private float _currentScrollPosition;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// The current scroll position of the scrollable content.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float CurrentScrollPosition
-            {
-                get
-                {
-                    return _currentScrollPosition;
-                }
-                set
-                {
-                    _currentScrollPosition = value;
-                }
-            }
+        internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void PanFinishedEventCallbackDelegate();
-        private EventHandler<PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
-        private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void ScrollPositionIntervalReachedEventCallbackDelegate(float position);
-        private EventHandler<ScrollIntervalEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
-        private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
 
         /// <summary>
         /// The event emitted when panning is finished on the scroll indicator.
@@ -343,19 +284,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ScrollBar PanFinishedSignal
-        private void OnScrollBarPanFinished()
-        {
-            PanFinishedEventArgs e = new PanFinishedEventArgs();
-
-            if (_scrollBarPanFinishedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _scrollBarPanFinishedEventHandler(this, e);
-            }
-        }
-
-
         /// <summary>
         /// This is the event emitted when the current scroll position of the scrollable content goes above or below the values specified by ScrollPositionIntervals property.
         /// </summary>
@@ -382,55 +310,185 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for ScrollBar ScrollPositionIntervalReachedSignal
-        private void OnScrollBarScrollPositionIntervalReached(float position)
+        /// <summary>
+        /// The direction of the scrollbar.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum Direction
         {
-            ScrollIntervalEventArgs e = new ScrollIntervalEventArgs();
-            e.CurrentScrollPosition = position;
+            /// <summary>
+            /// Scroll in the vertical direction
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Vertical = 0,
+            /// <summary>
+            /// Scroll in the horizontal direction
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Horizontal
+        }
 
-            if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
+        /// <summary>
+        /// The indicator height policy.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum IndicatorHeightPolicyType
+        {
+            /// <summary>
+            /// Variable height changed dynamically according to the length of scroll content
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Variable = 0,
+            /// <summary>
+            /// Fixed height regardless of the length of scroll content
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Fixed
+        }
+
+        /// <summary>
+        /// The direction of the scrollbar.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Direction ScrollDirection
+        {
+            get
             {
-                //here we send all data to user event handlers
-                _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
+
+                return (Direction)GetValue(ScrollDirectionProperty);
+            }
+            set
+            {
+                SetValue(ScrollDirectionProperty, value);
             }
         }
 
+        /// <summary>
+        /// The indicator height policy.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public IndicatorHeightPolicyType IndicatorHeightPolicy
+        {
+            get
+            {
+                return (IndicatorHeightPolicyType)GetValue(IndicatorHeightPolicyProperty);
+            }
+            set
+            {
+                SetValue(IndicatorHeightPolicyProperty, value);
+            }
+        }
 
-        internal new class Property
+        /// <summary>
+        /// The fixed height of the scroll indicator.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorFixedHeight
         {
-            internal static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
-            internal static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
-            internal static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
-            internal static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
-            internal static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
-            internal static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
-            internal static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
-            internal static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
-            internal static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
+            get
+            {
+                return (float)GetValue(IndicatorFixedHeightProperty);
+            }
+            set
+            {
+                SetValue(IndicatorFixedHeightProperty, value);
+            }
         }
 
         /// <summary>
-        /// Creates an initialized scrollbar.
+        /// The duration in seconds for the scroll indicator to become fully visible.
         /// </summary>
-        /// <param name="direction">The direction of the scrollbar (either vertically or horizontally).</param>
         /// <since_tizen> 3 </since_tizen>
-        public ScrollBar(ScrollBar.Direction direction) : this(NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true)
+        public float IndicatorShowDuration
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (float)GetValue(IndicatorShowDurationProperty);
+            }
+            set
+            {
+                SetValue(IndicatorShowDurationProperty, value);
+            }
         }
 
         /// <summary>
-        /// Creates an uninitialized scrollbar.
+        /// The duration in seconds for the scroll indicator to become fully invisible.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public ScrollBar() : this(NDalicPINVOKE.ScrollBar_New__SWIG_1(), true)
+        public float IndicatorHideDuration
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (float)GetValue(IndicatorHideDurationProperty);
+            }
+            set
+            {
+                SetValue(IndicatorHideDurationProperty, value);
+            }
+        }
 
+        /// <summary>
+        /// The list of values to get the notification when the current scroll position of the scrollable object goes above or below any of these values.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyArray ScrollPositionIntervals
+        {
+            get
+            {
+                return (PropertyArray)GetValue(ScrollPositionIntervalsProperty);
+            }
+            set
+            {
+                SetValue(ScrollPositionIntervalsProperty, value);
+            }
         }
-        internal ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true)
+
+        /// <summary>
+        /// The minimum height for a variable size indicator.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorMinimumHeight
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (float)GetValue(IndicatorMinimumHeightProperty);
+            }
+            set
+            {
+                SetValue(IndicatorMinimumHeightProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// The padding at the start of the indicator. For example, the top if the scrollDirection is vertical.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorStartPadding
+        {
+            get
+            {
+                return (float)GetValue(IndicatorStartPaddingProperty);
+            }
+            set
+            {
+                SetValue(IndicatorStartPaddingProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// The padding at the end of the indicator. For example, the bottom if the scrollDirection is vertical.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float IndicatorEndPadding
+        {
+            get
+            {
+                return (float)GetValue(IndicatorEndPaddingProperty);
+            }
+            set
+            {
+                SetValue(IndicatorEndPaddingProperty, value);
+            }
         }
 
         /// <summary>
@@ -450,6 +508,11 @@ namespace Tizen.NUI.UIComponents
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         internal void SetScrollIndicator(View indicator)
         {
             NDalicPINVOKE.ScrollBar_SetScrollIndicator(swigCPtr, View.getCPtr(indicator));
@@ -555,186 +618,124 @@ namespace Tizen.NUI.UIComponents
         }
 
         /// <summary>
-        /// The direction of the scrollbar.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Direction
-        {
-            /// <summary>
-            /// Scroll in the vertical direction
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Vertical = 0,
-            /// <summary>
-            /// Scroll in the horizontal direction
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Horizontal
-        }
-
-        /// <summary>
-        /// The indicator height policy.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum IndicatorHeightPolicyType
-        {
-            /// <summary>
-            /// Variable height changed dynamically according to the length of scroll content
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Variable = 0,
-            /// <summary>
-            /// Fixed height regardless of the length of scroll content
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Fixed
-        }
-
-        /// <summary>
-        /// The direction of the scrollbar.
+        /// To dispose the ScrollBar instance.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Direction ScrollDirection
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-
-                return (Direction)GetValue(ScrollDirectionProperty);
-            }
-            set
+            if (disposed)
             {
-                SetValue(ScrollDirectionProperty, value);
+                return;
             }
-        }
 
-        /// <summary>
-        /// The indicator height policy.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public IndicatorHeightPolicyType IndicatorHeightPolicy
-        {
-            get
+            if (type == DisposeTypes.Explicit)
             {
-                return (IndicatorHeightPolicyType)GetValue(IndicatorHeightPolicyProperty);
-            }
-            set
-            {
-                SetValue(IndicatorHeightPolicyProperty, value);
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        /// <summary>
-        /// The fixed height of the scroll indicator.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorFixedHeight
-        {
-            get
-            {
-                return (float)GetValue(IndicatorFixedHeightProperty);
-            }
-            set
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
             {
-                SetValue(IndicatorFixedHeightProperty, value);
-            }
-        }
+                if (_scrollBarScrollPositionIntervalReachedEventCallbackDelegate != null)
+                {
+                    ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
+                }
 
-        /// <summary>
-        /// The duration in seconds for the scroll indicator to become fully visible.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorShowDuration
-        {
-            get
-            {
-                return (float)GetValue(IndicatorShowDurationProperty);
+                if (_scrollBarPanFinishedEventCallbackDelegate != null)
+                {
+                    PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
+                }
             }
-            set
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                SetValue(IndicatorShowDurationProperty, value);
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_ScrollBar(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// The duration in seconds for the scroll indicator to become fully invisible.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorHideDuration
+        // Callback for ScrollBar PanFinishedSignal
+        private void OnScrollBarPanFinished()
         {
-            get
-            {
-                return (float)GetValue(IndicatorHideDurationProperty);
-            }
-            set
+            PanFinishedEventArgs e = new PanFinishedEventArgs();
+
+            if (_scrollBarPanFinishedEventHandler != null)
             {
-                SetValue(IndicatorHideDurationProperty, value);
+                //here we send all data to user event handlers
+                _scrollBarPanFinishedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// The list of values to get the notification when the current scroll position of the scrollable object goes above or below any of these values.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyArray ScrollPositionIntervals
+
+        // Callback for ScrollBar ScrollPositionIntervalReachedSignal
+        private void OnScrollBarScrollPositionIntervalReached(float position)
         {
-            get
-            {
-                return (PropertyArray)GetValue(ScrollPositionIntervalsProperty);
-            }
-            set
+            ScrollIntervalEventArgs e = new ScrollIntervalEventArgs();
+            e.CurrentScrollPosition = position;
+
+            if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
             {
-                SetValue(ScrollPositionIntervalsProperty, value);
+                //here we send all data to user event handlers
+                _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
             }
         }
 
+
+
         /// <summary>
-        /// The minimum height for a variable size indicator.
+        /// Event arguments that passed via the PanFinished event.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float IndicatorMinimumHeight
+        public class PanFinishedEventArgs : EventArgs
         {
-            get
-            {
-                return (float)GetValue(IndicatorMinimumHeightProperty);
-            }
-            set
-            {
-                SetValue(IndicatorMinimumHeightProperty, value);
-            }
         }
 
         /// <summary>
-        /// The padding at the start of the indicator. For example, the top if the scrollDirection is vertical.
+        /// Event arguments that passed via the ScrollPositionIntervalReached event.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float IndicatorStartPadding
+        public class ScrollIntervalEventArgs : EventArgs
         {
-            get
-            {
-                return (float)GetValue(IndicatorStartPaddingProperty);
-            }
-            set
+            private float _currentScrollPosition;
+
+            /// <summary>
+            /// The current scroll position of the scrollable content.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float CurrentScrollPosition
             {
-                SetValue(IndicatorStartPaddingProperty, value);
+                get
+                {
+                    return _currentScrollPosition;
+                }
+                set
+                {
+                    _currentScrollPosition = value;
+                }
             }
         }
 
-        /// <summary>
-        /// The padding at the end of the indicator. For example, the bottom if the scrollDirection is vertical.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float IndicatorEndPadding
+        internal new class Property
         {
-            get
-            {
-                return (float)GetValue(IndicatorEndPaddingProperty);
-            }
-            set
-            {
-                SetValue(IndicatorEndPaddingProperty, value);
-            }
+            internal static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
+            internal static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
+            internal static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
+            internal static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
+            internal static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
+            internal static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
+            internal static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
+            internal static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
+            internal static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
         }
-
     }
-
 }
index abd38df..ba70633 100755 (executable)
@@ -38,7 +38,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.WRAP_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             bool temp = false;
@@ -55,7 +55,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.PANNING_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             bool temp = false;
@@ -72,7 +72,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.AXIS_AUTO_LOCK_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             bool temp = false;
@@ -89,7 +89,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -106,7 +106,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_POSITION, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -123,7 +123,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_PRE_POSITION, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -140,7 +140,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_PRE_POSITION_MAX, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -157,7 +157,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.OVERSHOOT_X, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             float temp = 0.0f;
@@ -174,7 +174,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.OVERSHOOT_Y, new Tizen.NUI.PropertyValue((float)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             float temp = 0.0f;
@@ -191,7 +191,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_FINAL, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -208,7 +208,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.WRAP, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             bool temp = false;
@@ -225,7 +225,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.PANNING, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             bool temp = false;
@@ -242,7 +242,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLLING, new Tizen.NUI.PropertyValue((bool)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             bool temp = false;
@@ -259,7 +259,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_DOMAIN_SIZE, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -276,7 +276,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_DOMAIN_OFFSET, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -293,7 +293,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_POSITION_DELTA, new Tizen.NUI.PropertyValue((Vector2)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector2 temp = new Vector2(0.0f, 0.0f);
@@ -310,7 +310,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.START_PAGE_POSITION, new Tizen.NUI.PropertyValue((Vector3)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
@@ -327,98 +327,36 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_MODE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var scrollView = (ScrollView)bindable;
-            PropertyValue value = Tizen.NUI.Object.GetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_MODE );
+            PropertyValue value = Tizen.NUI.Object.GetProperty(scrollView.swigCPtr, ScrollView.Property.SCROLL_MODE);
             PropertyMap map = new PropertyMap();
-            value.Get( map );
+            value.Get(map);
             return map;
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ScrollView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollView_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollView obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private DaliEventHandler<object, SnapStartedEventArgs> _scrollViewSnapStartedEventHandler;
+        private SnapStartedCallbackDelegate _scrollViewSnapStartedCallbackDelegate;
 
         /// <summary>
-        /// Dispose
+        /// Create an instance of ScrollView.
         /// </summary>
-        /// <param name="type">the dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public ScrollView() : this(NDalicPINVOKE.ScrollView_New(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (this != null && _scrollViewSnapStartedCallbackDelegate != null)
-            {
-                this.SnapStartedSignal().Disconnect(_scrollViewSnapStartedCallbackDelegate);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_ScrollView(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Event arguments that passed via the SnapStarted signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class SnapStartedEventArgs : EventArgs
+        internal ScrollView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollView_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            private Tizen.NUI.ScrollView.SnapEvent _snapEvent;
-
-            /// <summary>
-            /// SnapEventInfo is the SnapEvent information like snap or flick (it tells the target position, scale, rotation for the snap or flick).
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Tizen.NUI.ScrollView.SnapEvent SnapEventInfo
-            {
-                get
-                {
-                    return _snapEvent;
-                }
-                set
-                {
-                    _snapEvent = value;
-                }
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void SnapStartedCallbackDelegate(IntPtr data);
-        private DaliEventHandler<object, SnapStartedEventArgs> _scrollViewSnapStartedEventHandler;
-        private SnapStartedCallbackDelegate _scrollViewSnapStartedCallbackDelegate;
 
         /// <summary>
         /// SnapStarted can be used to subscribe or unsubscribe the event handler
@@ -457,398 +395,341 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for ScrollView SnapStarted signal
-        private void OnSnapStarted(IntPtr data)
+        /// <summary>
+        /// Sets and Gets WrapEnabled property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool WrapEnabled
         {
-            SnapStartedEventArgs e = new SnapStartedEventArgs();
-
-            // Populate all members of "e" (SnapStartedEventArgs) with real data
-            e.SnapEventInfo = SnapEvent.GetSnapEventFromPtr(data);
-
-            if (_scrollViewSnapStartedEventHandler != null)
+            get
             {
-                //here we send all data to user event handlers
-                _scrollViewSnapStartedEventHandler(this, e);
+                return (bool)GetValue(WrapEnabledProperty);
+            }
+            set
+            {
+                SetValue(WrapEnabledProperty, value);
             }
         }
 
         /// <summary>
-        /// Snaps signal event's data.
+        /// Sets and Gets PanningEnabled property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class SnapEvent : global::System.IDisposable
+        public bool PanningEnabled
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal SnapEvent(global::System.IntPtr cPtr, bool cMemoryOwn)
+            get
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+                return (bool)GetValue(PanningEnabledProperty);
             }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SnapEvent obj)
+            set
             {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+                SetValue(PanningEnabledProperty, value);
             }
+        }
 
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-            /// <summary>
-            /// A Flat to check if it is already disposed.
-            /// </summary>
-            /// swigCMemOwn
-            /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
-            /// <summary>
-            /// Dispose
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            ~SnapEvent()
+        /// <summary>
+        /// Sets and Gets AxisAutoLockEnabled property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool AxisAutoLockEnabled
+        {
+            get
             {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
+                return (bool)GetValue(AxisAutoLockEnabledProperty);
             }
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
+            set
             {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
+                SetValue(AxisAutoLockEnabledProperty, value);
             }
+        }
 
-            /// <summary>
-            /// Dispose
-            /// </summary>
-            /// <param name="type">the dispose type</param>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// Sets and Gets WheelScrollDistanceStep property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 WheelScrollDistanceStep
+        {
+            get
             {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicPINVOKE.delete_ScrollView_SnapEvent(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-
-                disposed = true;
+                return (Vector2)GetValue(WheelScrollDistanceStepProperty);
             }
-
-            /// <summary>
-            /// Get SnapEvent From Ptr
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static SnapEvent GetSnapEventFromPtr(global::System.IntPtr cPtr)
+            set
             {
-                SnapEvent ret = new SnapEvent(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                SetValue(WheelScrollDistanceStepProperty, value);
             }
+        }
 
-            internal SnapType type
+        /// <summary>
+        /// Sets and Gets ScrollPosition property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 ScrollPosition
+        {
+            get
             {
-                set
-                {
-                    NDalicPINVOKE.ScrollView_SnapEvent_type_set(swigCPtr, (int)value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    SnapType ret = (SnapType)NDalicPINVOKE.ScrollView_SnapEvent_type_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                return (Vector2)GetValue(ScrollPositionProperty);
             }
-
-            /// <summary>
-            /// Scroll position.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Vector2 position
+            set
             {
-                set
-                {
-                    NDalicPINVOKE.ScrollView_SnapEvent_position_set(swigCPtr, Vector2.getCPtr(value));
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_SnapEvent_position_get(swigCPtr);
-                    Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                SetValue(ScrollPositionProperty, value);
             }
+        }
 
-            /// <summary>
-            /// Scroll duration.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float duration
+        /// <summary>
+        /// Sets and Gets ScrollPrePosition property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 ScrollPrePosition
+        {
+            get
             {
-                set
-                {
-                    NDalicPINVOKE.ScrollView_SnapEvent_duration_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    float ret = NDalicPINVOKE.ScrollView_SnapEvent_duration_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                return (Vector2)GetValue(ScrollPrePositionProperty);
             }
-
-            /// <summary>
-            /// Create an instance of SnapEvent.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public SnapEvent() : this(NDalicPINVOKE.new_ScrollView_SnapEvent(), true)
+            set
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                SetValue(ScrollPrePositionProperty, value);
             }
-
         }
 
         /// <summary>
-        /// This should be internal, please do not use.
+        /// Sets and Gets ScrollPrePositionMax property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public new class Property
+        public Vector2 ScrollPrePositionMax
         {
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int WRAP_ENABLED = NDalicPINVOKE.ScrollView_Property_WRAP_ENABLED_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int PANNING_ENABLED = NDalicPINVOKE.ScrollView_Property_PANNING_ENABLED_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int AXIS_AUTO_LOCK_ENABLED = NDalicPINVOKE.ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int WHEEL_SCROLL_DISTANCE_STEP = NDalicPINVOKE.ScrollView_Property_WHEEL_SCROLL_DISTANCE_STEP_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_MODE = NDalicPINVOKE.ScrollView_Property_SCROLL_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_PRE_POSITION = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_PRE_POSITION_X = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_X_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_PRE_POSITION_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_Y_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_PRE_POSITION_MAX = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_PRE_POSITION_MAX_X = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_X_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_PRE_POSITION_MAX_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_Y_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int OVERSHOOT_X = NDalicPINVOKE.ScrollView_Property_OVERSHOOT_X_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int OVERSHOOT_Y = NDalicPINVOKE.ScrollView_Property_OVERSHOOT_Y_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_FINAL = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_FINAL_X = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_X_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_FINAL_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_Y_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int WRAP = NDalicPINVOKE.ScrollView_Property_WRAP_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int PANNING = NDalicPINVOKE.ScrollView_Property_PANNING_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLLING = NDalicPINVOKE.ScrollView_Property_SCROLLING_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_DOMAIN_SIZE = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_DOMAIN_SIZE_X = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_X_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_DOMAIN_SIZE_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_Y_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_DOMAIN_OFFSET = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_OFFSET_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int SCROLL_POSITION_DELTA = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_DELTA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int START_PAGE_POSITION = NDalicPINVOKE.ScrollView_Property_START_PAGE_POSITION_get();
-
+            get
+            {
+                return (Vector2)GetValue(ScrollPrePositionMaxProperty);
+            }
+            set
+            {
+                SetValue(ScrollPrePositionMaxProperty, value);
+            }
         }
 
         /// <summary>
-        /// Create an instance of ScrollView.
+        /// Sets and Gets OvershootX property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public ScrollView() : this(NDalicPINVOKE.ScrollView_New(), true)
+        public float OvershootX
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            get
+            {
+                return (float)GetValue(OvershootXProperty);
+            }
+            set
+            {
+                SetValue(OvershootXProperty, value);
+            }
         }
 
         /// <summary>
-        /// Gets snap-animation's AlphaFunction.
+        /// Sets and Gets OvershootY property.
         /// </summary>
-        /// <returns>Current easing alpha function of the snap animation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction GetScrollSnapAlphaFunction()
+        public float OvershootY
         {
-            AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.ScrollView_GetScrollSnapAlphaFunction(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return (float)GetValue(OvershootYProperty);
+            }
+            set
+            {
+                SetValue(OvershootYProperty, value);
+            }
         }
 
         /// <summary>
-        /// Sets snap-animation's AlphaFunction.
+        /// Sets and Gets ScrollFinal property.
         /// </summary>
-        /// <param name="alpha">Easing alpha function of the snap animation.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetScrollSnapAlphaFunction(AlphaFunction alpha)
+        public Vector2 ScrollFinal
         {
-            NDalicPINVOKE.ScrollView_SetScrollSnapAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return (Vector2)GetValue(ScrollFinalProperty);
+            }
+            set
+            {
+                SetValue(ScrollFinalProperty, value);
+            }
         }
 
         /// <summary>
-        /// Gets flick-animation's AlphaFunction.
+        /// Sets and Gets Wrap property.
         /// </summary>
-        /// <returns>Current easing alpha function of the flick animation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction GetScrollFlickAlphaFunction()
+        public bool Wrap
         {
-            AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.ScrollView_GetScrollFlickAlphaFunction(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return (bool)GetValue(WrapProperty);
+            }
+            set
+            {
+                SetValue(WrapProperty, value);
+            }
         }
 
         /// <summary>
-        /// Sets flick-animation's AlphaFunction.
+        /// Sets and Gets Panning property.
         /// </summary>
-        /// <param name="alpha">Easing alpha function of the flick animation.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetScrollFlickAlphaFunction(AlphaFunction alpha)
+        public bool Panning
         {
-            NDalicPINVOKE.ScrollView_SetScrollFlickAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
+            get
+            {
+                return (bool)GetValue(PanningProperty);
+            }
+            set
+            {
+                SetValue(PanningProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Sets and Gets Scrolling property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Scrolling
+        {
+            get
+            {
+                return (bool)GetValue(ScrollingProperty);
+            }
+            set
+            {
+                SetValue(ScrollingProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Sets and Gets ScrollDomainSize property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 ScrollDomainSize
+        {
+            get
+            {
+                return (Vector2)GetValue(ScrollDomainSizeProperty);
+            }
+            set
+            {
+                SetValue(ScrollDomainSizeProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Sets and Gets ScrollDomainOffset property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 ScrollDomainOffset
+        {
+            get
+            {
+                return (Vector2)GetValue(ScrollDomainOffsetProperty);
+            }
+            set
+            {
+                SetValue(ScrollDomainOffsetProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Sets and Gets ScrollPositionDelta property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 ScrollPositionDelta
+        {
+            get
+            {
+                return (Vector2)GetValue(ScrollPositionDeltaProperty);
+            }
+            set
+            {
+                SetValue(ScrollPositionDeltaProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Sets and Gets StartPagePosition property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector3 StartPagePosition
+        {
+            get
+            {
+                return (Vector3)GetValue(StartPagePositionProperty);
+            }
+            set
+            {
+                SetValue(StartPagePositionProperty, value);
+            }
+        }
+
+
+        /// <summary>
+        /// Sets and Gets ScrollMode property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap ScrollMode
+        {
+            get
+            {
+                return (PropertyMap)GetValue(ScrollModeProperty);
+            }
+            set
+            {
+                SetValue(ScrollModeProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Gets snap-animation's AlphaFunction.
+        /// </summary>
+        /// <returns>Current easing alpha function of the snap animation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public AlphaFunction GetScrollSnapAlphaFunction()
+        {
+            AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.ScrollView_GetScrollSnapAlphaFunction(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets snap-animation's AlphaFunction.
+        /// </summary>
+        /// <param name="alpha">Easing alpha function of the snap animation.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetScrollSnapAlphaFunction(AlphaFunction alpha)
+        {
+            NDalicPINVOKE.ScrollView_SetScrollSnapAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets flick-animation's AlphaFunction.
+        /// </summary>
+        /// <returns>Current easing alpha function of the flick animation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public AlphaFunction GetScrollFlickAlphaFunction()
+        {
+            AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.ScrollView_GetScrollFlickAlphaFunction(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets flick-animation's AlphaFunction.
+        /// </summary>
+        /// <param name="alpha">Easing alpha function of the flick animation.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetScrollFlickAlphaFunction(AlphaFunction alpha)
+        {
+            NDalicPINVOKE.ScrollView_SetScrollFlickAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// Gets the time for the scroll snap-animation.
         /// </summary>
@@ -1347,12 +1228,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void ApplyConstraintToChildren(SWIGTYPE_p_Dali__Constraint constraint)
-        {
-            NDalicPINVOKE.ScrollView_ApplyConstraintToChildren(swigCPtr, SWIGTYPE_p_Dali__Constraint.getCPtr(constraint));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
         /// Applies Effect to ScrollView.
         /// </summary>
@@ -1443,6 +1318,17 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollView obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal void ApplyConstraintToChildren(SWIGTYPE_p_Dali__Constraint constraint)
+        {
+            NDalicPINVOKE.ScrollView_ApplyConstraintToChildren(swigCPtr, SWIGTYPE_p_Dali__Constraint.getCPtr(constraint));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal ScrollViewSnapStartedSignal SnapStartedSignal()
         {
             ScrollViewSnapStartedSignal ret = new ScrollViewSnapStartedSignal(NDalicPINVOKE.ScrollView_SnapStartedSignal(swigCPtr), false);
@@ -1451,294 +1337,406 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets and Gets WrapEnabled property.
+        /// Dispose
         /// </summary>
+        /// <param name="type">the dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool WrapEnabled
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-                return (bool)GetValue(WrapEnabledProperty);
-            }
-            set
+            if (disposed)
             {
-                SetValue(WrapEnabledProperty, value);
+                return;
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets PanningEnabled property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool PanningEnabled
-        {
-            get
-            {
-                return (bool)GetValue(PanningEnabledProperty);
-            }
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                SetValue(PanningEnabledProperty, value);
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets AxisAutoLockEnabled property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool AxisAutoLockEnabled
-        {
-            get
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (this != null && _scrollViewSnapStartedCallbackDelegate != null)
             {
-                return (bool)GetValue(AxisAutoLockEnabledProperty);
+                this.SnapStartedSignal().Disconnect(_scrollViewSnapStartedCallbackDelegate);
             }
-            set
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                SetValue(AxisAutoLockEnabledProperty, value);
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_ScrollView(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// Sets and Gets WheelScrollDistanceStep property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 WheelScrollDistanceStep
+        // Callback for ScrollView SnapStarted signal
+        private void OnSnapStarted(IntPtr data)
         {
-            get
-            {
-                return (Vector2)GetValue(WheelScrollDistanceStepProperty);
-            }
-            set
+            SnapStartedEventArgs e = new SnapStartedEventArgs();
+
+            // Populate all members of "e" (SnapStartedEventArgs) with real data
+            e.SnapEventInfo = SnapEvent.GetSnapEventFromPtr(data);
+
+            if (_scrollViewSnapStartedEventHandler != null)
             {
-                SetValue(WheelScrollDistanceStepProperty, value);
+                //here we send all data to user event handlers
+                _scrollViewSnapStartedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// Sets and Gets ScrollPosition property.
+        /// This should be internal, please do not use.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollPosition
+        public new class Property
         {
-            get
-            {
-                return (Vector2)GetValue(ScrollPositionProperty);
-            }
-            set
-            {
-                SetValue(ScrollPositionProperty, value);
-            }
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int WRAP_ENABLED = NDalicPINVOKE.ScrollView_Property_WRAP_ENABLED_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int PANNING_ENABLED = NDalicPINVOKE.ScrollView_Property_PANNING_ENABLED_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int AXIS_AUTO_LOCK_ENABLED = NDalicPINVOKE.ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int WHEEL_SCROLL_DISTANCE_STEP = NDalicPINVOKE.ScrollView_Property_WHEEL_SCROLL_DISTANCE_STEP_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_MODE = NDalicPINVOKE.ScrollView_Property_SCROLL_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_PRE_POSITION = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_PRE_POSITION_X = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_X_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_PRE_POSITION_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_Y_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_PRE_POSITION_MAX = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_PRE_POSITION_MAX_X = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_X_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_PRE_POSITION_MAX_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_Y_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int OVERSHOOT_X = NDalicPINVOKE.ScrollView_Property_OVERSHOOT_X_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int OVERSHOOT_Y = NDalicPINVOKE.ScrollView_Property_OVERSHOOT_Y_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_FINAL = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_FINAL_X = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_X_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_FINAL_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_Y_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int WRAP = NDalicPINVOKE.ScrollView_Property_WRAP_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int PANNING = NDalicPINVOKE.ScrollView_Property_PANNING_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLLING = NDalicPINVOKE.ScrollView_Property_SCROLLING_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_DOMAIN_SIZE = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_DOMAIN_SIZE_X = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_X_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_DOMAIN_SIZE_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_Y_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_DOMAIN_OFFSET = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_OFFSET_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int SCROLL_POSITION_DELTA = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_DELTA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int START_PAGE_POSITION = NDalicPINVOKE.ScrollView_Property_START_PAGE_POSITION_get();
         }
 
         /// <summary>
-        /// Sets and Gets ScrollPrePosition property.
+        /// Snaps signal event's data.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollPrePosition
+        public class SnapEvent : global::System.IDisposable
         {
-            get
-            {
-                return (Vector2)GetValue(ScrollPrePositionProperty);
-            }
-            set
-            {
-                SetValue(ScrollPrePositionProperty, value);
-            }
-        }
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
 
-        /// <summary>
-        /// Sets and Gets ScrollPrePositionMax property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollPrePositionMax
-        {
-            get
-            {
-                return (Vector2)GetValue(ScrollPrePositionMaxProperty);
-            }
-            set
-            {
-                SetValue(ScrollPrePositionMaxProperty, value);
-            }
-        }
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// swigCMemOwn
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
 
-        /// <summary>
-        /// Sets and Gets OvershootX property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float OvershootX
-        {
-            get
-            {
-                return (float)GetValue(OvershootXProperty);
-            }
-            set
-            {
-                SetValue(OvershootXProperty, value);
-            }
-        }
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Sets and Gets OvershootY property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float OvershootY
-        {
-            get
-            {
-                return (float)GetValue(OvershootYProperty);
-            }
-            set
-            {
-                SetValue(OvershootYProperty, value);
-            }
-        }
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
 
-        /// <summary>
-        /// Sets and Gets ScrollFinal property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollFinal
-        {
-            get
-            {
-                return (Vector2)GetValue(ScrollFinalProperty);
-            }
-            set
+            /// <summary>
+            /// Create an instance of SnapEvent.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public SnapEvent() : this(NDalicPINVOKE.new_ScrollView_SnapEvent(), true)
             {
-                SetValue(ScrollFinalProperty, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets Wrap property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Wrap
-        {
-            get
-            {
-                return (bool)GetValue(WrapProperty);
-            }
-            set
+            internal SnapEvent(global::System.IntPtr cPtr, bool cMemoryOwn)
             {
-                SetValue(WrapProperty, value);
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets Panning property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Panning
-        {
-            get
-            {
-                return (bool)GetValue(PanningProperty);
-            }
-            set
+            /// <summary>
+            /// Dispose
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~SnapEvent()
             {
-                SetValue(PanningProperty, value);
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets Scrolling property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Scrolling
-        {
-            get
-            {
-                return (bool)GetValue(ScrollingProperty);
-            }
-            set
+            /// <summary>
+            /// Scroll position.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Vector2 position
             {
-                SetValue(ScrollingProperty, value);
+                set
+                {
+                    NDalicPINVOKE.ScrollView_SnapEvent_position_set(swigCPtr, Vector2.getCPtr(value));
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_SnapEvent_position_get(swigCPtr);
+                    Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets ScrollDomainSize property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollDomainSize
-        {
-            get
-            {
-                return (Vector2)GetValue(ScrollDomainSizeProperty);
-            }
-            set
+            /// <summary>
+            /// Scroll duration.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float duration
             {
-                SetValue(ScrollDomainSizeProperty, value);
+                set
+                {
+                    NDalicPINVOKE.ScrollView_SnapEvent_duration_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    float ret = NDalicPINVOKE.ScrollView_SnapEvent_duration_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets ScrollDomainOffset property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollDomainOffset
-        {
-            get
-            {
-                return (Vector2)GetValue(ScrollDomainOffsetProperty);
-            }
-            set
+            internal SnapType type
             {
-                SetValue(ScrollDomainOffsetProperty, value);
+                set
+                {
+                    NDalicPINVOKE.ScrollView_SnapEvent_type_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    SnapType ret = (SnapType)NDalicPINVOKE.ScrollView_SnapEvent_type_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets ScrollPositionDelta property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 ScrollPositionDelta
-        {
-            get
+            /// <summary>
+            /// Get SnapEvent From Ptr
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static SnapEvent GetSnapEventFromPtr(global::System.IntPtr cPtr)
             {
-                return (Vector2)GetValue(ScrollPositionDeltaProperty);
+                SnapEvent ret = new SnapEvent(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            set
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
             {
-                SetValue(ScrollPositionDeltaProperty, value);
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
             }
-        }
 
-        /// <summary>
-        /// Sets and Gets StartPagePosition property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector3 StartPagePosition
-        {
-            get
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SnapEvent obj)
             {
-                return (Vector3)GetValue(StartPagePositionProperty);
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
             }
-            set
+
+            /// <summary>
+            /// Dispose
+            /// </summary>
+            /// <param name="type">the dispose type</param>
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
             {
-                SetValue(StartPagePositionProperty, value);
-            }
-        }
+                if (disposed)
+                {
+                    return;
+                }
 
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicPINVOKE.delete_ScrollView_SnapEvent(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+
+                disposed = true;
+            }
 
+        }
         /// <summary>
-        /// Sets and Gets ScrollMode property.
+        /// Event arguments that passed via the SnapStarted signal.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap ScrollMode
+        public class SnapStartedEventArgs : EventArgs
         {
-            get
-            {
-                return (PropertyMap)GetValue(ScrollModeProperty);
-            }
-            set
+            private Tizen.NUI.ScrollView.SnapEvent _snapEvent;
+
+            /// <summary>
+            /// SnapEventInfo is the SnapEvent information like snap or flick (it tells the target position, scale, rotation for the snap or flick).
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Tizen.NUI.ScrollView.SnapEvent SnapEventInfo
             {
-                SetValue(ScrollModeProperty, value);
+                get
+                {
+                    return _snapEvent;
+                }
+                set
+                {
+                    _snapEvent = value;
+                }
             }
         }
-
     }
-
 }
index 73f0e3c..36acfff 100755 (executable)
@@ -286,211 +286,38 @@ namespace Tizen.NUI.UIComponents
         });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-            if (this != null)
-            {
-                if (_sliderValueChangedCallbackDelegate != null)
-                {
-                    ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
-                }
-
-                if (_sliderSlidingFinishedCallbackDelegate != null)
-                {
-                    SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
-                }
-
-                if (_sliderMarkReachedCallbackDelegate != null)
-                {
-                    MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
-                }
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Slider(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
+        private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
+        private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
+        private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
+        private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
+        private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
+        private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
 
         /// <summary>
-        /// The ValueChanged event arguments.
+        /// Creates the slider control.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class ValueChangedEventArgs : EventArgs
+        public Slider() : this(NDalicPINVOKE.Slider_New(), true)
         {
-            private Slider _slider;
-            private float _slideValue;
-
-            /// <summary>
-            /// The slider.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Slider Slider
-            {
-                get
-                {
-                    return _slider;
-                }
-                set
-                {
-                    _slider = value;
-                }
-            }
-
-            /// <summary>
-            /// The slider value.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float SlideValue
-            {
-                get
-                {
-                    return _slideValue;
-                }
-                set
-                {
-                    _slideValue = value;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// The SlidingFinished event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class SlidingFinishedEventArgs : EventArgs
+        internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            private Slider _slider;
-            private float _slideValue;
-
-            /// <summary>
-            /// The slider.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Slider Slider
-            {
-                get
-                {
-                    return _slider;
-                }
-                set
-                {
-                    _slider = value;
-                }
-            }
-
-            /// <summary>
-            /// The slider value.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public float SlideValue
-            {
-                get
-                {
-                    return _slideValue;
-                }
-                set
-                {
-                    _slideValue = value;
-                }
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The MarkReached event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class MarkReachedEventArgs : EventArgs
+        internal Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
         {
-            private Slider _slider;
-            private int _slideValue;
-
-            /// <summary>
-            /// The slider.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Slider Slider
-            {
-                get
-                {
-                    return _slider;
-                }
-                set
-                {
-                    _slider = value;
-                }
-            }
-
-            /// <summary>
-            /// The slider value.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public int SlideValue
-            {
-                get
-                {
-                    return _slideValue;
-                }
-                set
-                {
-                    _slideValue = value;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
-        private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
-        private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
-        private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
-        private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
-
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
-        private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
-        private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
 
         /// <summary>
         /// An event emitted when the slider value changes.
@@ -517,23 +344,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for Slider ValueChanged signal
-        private bool OnValueChanged(IntPtr slider, float slideValue)
-        {
-            ValueChangedEventArgs e = new ValueChangedEventArgs();
-
-            // Populate all members of "e" (ValueChangedEventArgs) with real page
-            e.Slider = Slider.GetSliderFromPtr(slider);
-            e.SlideValue = slideValue;
-
-            if (_sliderValueChangedEventHandler != null)
-            {
-                //here we send all page to user event handlers
-                return _sliderValueChangedEventHandler(this, e);
-            }
-            return false;
-        }
-
         /// <summary>
         /// An event emitted when the sliding is finished.
         /// </summary>
@@ -559,23 +369,6 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for Slider SlidingFinished signal
-        private bool OnSlidingFinished(IntPtr slider, float slideValue)
-        {
-            SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
-
-            // Populate all members of "e" (SlidingFinishedEventArgs) with real page
-            e.Slider = Slider.GetSliderFromPtr(slider);
-            e.SlideValue = slideValue;
-
-            if (_sliderSlidingFinishedEventHandler != null)
-            {
-                //here we send all page to user event handlers
-                return _sliderSlidingFinishedEventHandler(this, e);
-            }
-            return false;
-        }
-
         /// <summary>
         /// An event emitted when the slider handle reaches a mark.
         /// </summary>
@@ -601,230 +394,19 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // Callback for Slider MarkReached signal
-        private bool OnMarkReached(IntPtr slider, int slideValue)
+        /// <summary>
+        /// The lower bound property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float LowerBound
         {
-            MarkReachedEventArgs e = new MarkReachedEventArgs();
-
-            // Populate all members of "e" (MarkReachedEventArgs) with real page
-            e.Slider = Slider.GetSliderFromPtr(slider);
-            e.SlideValue = slideValue;
-
-            if (_sliderMarkReachedEventHandler != null)
+            get
             {
-                //here we send all page to user event handlers
-                return _sliderMarkReachedEventHandler(this, e);
-            }
-            return false;
-        }
-
-        /// <summary>
-        /// Gets the slider from the pointer.
-        /// </summary>
-        /// <param name="cPtr">The pointer of the slider.</param>
-        /// <returns>The object of the slider type.</returns>
-        internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
-        {
-            Slider ret = new Slider(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal new class Property : global::System.IDisposable
-        {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            protected bool swigCMemOwn;
-
-            internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-            //A Flat to check if it is already disposed.
-            protected bool disposed = false;
-
-            ~Property()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicPINVOKE.delete_Slider_Property(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-
-                disposed = true;
-            }
-
-            internal Property() : this(NDalicPINVOKE.new_Slider_Property(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            internal static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
-            internal static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
-            internal static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
-            internal static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
-            internal static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
-            internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
-            internal static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
-            internal static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
-            internal static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
-            internal static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
-            internal static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
-            internal static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
-            internal static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
-            internal static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
-            internal static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
-
-        }
-
-        /// <summary>
-        /// Creates the slider control.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Slider() : this(NDalicPINVOKE.Slider_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal override bool IsCreateByXaml
-        {
-            get
-            {
-                return base.IsCreateByXaml;
-            }
-            set
-            {
-                base.IsCreateByXaml = value;
-
-                if (value == true)
-                {
-                    this.ValueChanged += (obj, e) => {
-                        this.Value = e.SlideValue;
-                        return true;
-                    };
-                }
-            }
-        }
-
-        internal Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Slider Assign(Slider handle)
-        {
-            Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Downcasts an object handle to the slider.<br />
-        /// If the handle points to a slider, then the downcast produces a valid handle.<br />
-        /// If not, then the returned handle is left uninitialized.<br />
-        /// </summary>
-        /// <param name="handle">The handle to an object.</param>
-        /// <returns>The handle to a slider or an uninitialized handle.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Slider DownCast(BaseHandle handle)
-        {
-            Slider ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as Slider;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SliderValueChangedSignal ValueChangedSignal()
-        {
-            SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SliderValueChangedSignal SlidingFinishedSignal()
-        {
-            SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SliderMarkReachedSignal MarkReachedSignal()
-        {
-            SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The lower bound property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float LowerBound
-        {
-            get
-            {
-                return (float)GetValue(LowerBoundProperty);
-            }
-            set
-            {
-                SetValue(LowerBoundProperty, value);
+                return (float)GetValue(LowerBoundProperty);
+            }
+            set
+            {
+                SetValue(LowerBoundProperty, value);
             }
         }
 
@@ -1052,6 +634,333 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-    }
+        internal override bool IsCreateByXaml
+        {
+            get
+            {
+                return base.IsCreateByXaml;
+            }
+            set
+            {
+                base.IsCreateByXaml = value;
 
+                if (value == true)
+                {
+                    this.ValueChanged += (obj, e) => {
+                        this.Value = e.SlideValue;
+                        return true;
+                    };
+                }
+            }
+        }
+
+        /// <summary>
+        /// Downcasts an object handle to the slider.<br />
+        /// If the handle points to a slider, then the downcast produces a valid handle.<br />
+        /// If not, then the returned handle is left uninitialized.<br />
+        /// </summary>
+        /// <param name="handle">The handle to an object.</param>
+        /// <returns>The handle to a slider or an uninitialized handle.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Slider DownCast(BaseHandle handle)
+        {
+            Slider ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Slider;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Gets the slider from the pointer.
+        /// </summary>
+        /// <param name="cPtr">The pointer of the slider.</param>
+        /// <returns>The object of the slider type.</returns>
+        internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
+        {
+            Slider ret = new Slider(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Slider Assign(Slider handle)
+        {
+            Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SliderValueChangedSignal ValueChangedSignal()
+        {
+            SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SliderValueChangedSignal SlidingFinishedSignal()
+        {
+            SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SliderMarkReachedSignal MarkReachedSignal()
+        {
+            SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+            if (this != null)
+            {
+                if (_sliderValueChangedCallbackDelegate != null)
+                {
+                    ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
+                }
+
+                if (_sliderSlidingFinishedCallbackDelegate != null)
+                {
+                    SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
+                }
+
+                if (_sliderMarkReachedCallbackDelegate != null)
+                {
+                    MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
+                }
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Slider(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        // Callback for Slider ValueChanged signal
+        private bool OnValueChanged(IntPtr slider, float slideValue)
+        {
+            ValueChangedEventArgs e = new ValueChangedEventArgs();
+
+            // Populate all members of "e" (ValueChangedEventArgs) with real page
+            e.Slider = Slider.GetSliderFromPtr(slider);
+            e.SlideValue = slideValue;
+
+            if (_sliderValueChangedEventHandler != null)
+            {
+                //here we send all page to user event handlers
+                return _sliderValueChangedEventHandler(this, e);
+            }
+            return false;
+        }
+
+        // Callback for Slider SlidingFinished signal
+        private bool OnSlidingFinished(IntPtr slider, float slideValue)
+        {
+            SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
+
+            // Populate all members of "e" (SlidingFinishedEventArgs) with real page
+            e.Slider = Slider.GetSliderFromPtr(slider);
+            e.SlideValue = slideValue;
+
+            if (_sliderSlidingFinishedEventHandler != null)
+            {
+                //here we send all page to user event handlers
+                return _sliderSlidingFinishedEventHandler(this, e);
+            }
+            return false;
+        }
+
+        // Callback for Slider MarkReached signal
+        private bool OnMarkReached(IntPtr slider, int slideValue)
+        {
+            MarkReachedEventArgs e = new MarkReachedEventArgs();
+
+            // Populate all members of "e" (MarkReachedEventArgs) with real page
+            e.Slider = Slider.GetSliderFromPtr(slider);
+            e.SlideValue = slideValue;
+
+            if (_sliderMarkReachedEventHandler != null)
+            {
+                //here we send all page to user event handlers
+                return _sliderMarkReachedEventHandler(this, e);
+            }
+            return false;
+        }
+
+        /// <summary>
+        /// The ValueChanged event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ValueChangedEventArgs : EventArgs
+        {
+            private Slider _slider;
+            private float _slideValue;
+
+            /// <summary>
+            /// The slider.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Slider Slider
+            {
+                get
+                {
+                    return _slider;
+                }
+                set
+                {
+                    _slider = value;
+                }
+            }
+
+            /// <summary>
+            /// The slider value.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float SlideValue
+            {
+                get
+                {
+                    return _slideValue;
+                }
+                set
+                {
+                    _slideValue = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// The SlidingFinished event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class SlidingFinishedEventArgs : EventArgs
+        {
+            private Slider _slider;
+            private float _slideValue;
+
+            /// <summary>
+            /// The slider.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Slider Slider
+            {
+                get
+                {
+                    return _slider;
+                }
+                set
+                {
+                    _slider = value;
+                }
+            }
+
+            /// <summary>
+            /// The slider value.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public float SlideValue
+            {
+                get
+                {
+                    return _slideValue;
+                }
+                set
+                {
+                    _slideValue = value;
+                }
+            }
+        }
+
+        /// <summary>
+        /// The MarkReached event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class MarkReachedEventArgs : EventArgs
+        {
+            private Slider _slider;
+            private int _slideValue;
+
+            /// <summary>
+            /// The slider.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Slider Slider
+            {
+                get
+                {
+                    return _slider;
+                }
+                set
+                {
+                    _slider = value;
+                }
+            }
+
+            /// <summary>
+            /// The slider value.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public int SlideValue
+            {
+                get
+                {
+                    return _slideValue;
+                }
+                set
+                {
+                    _slideValue = value;
+                }
+            }
+        }
+
+        internal new class Property
+        {
+            internal static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
+            internal static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
+            internal static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
+            internal static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
+            internal static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
+            internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
+            internal static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
+            internal static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
+            internal static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
+            internal static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
+            internal static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
+            internal static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
+            internal static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
+            internal static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
+            internal static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
+        }
+    }
 }
index 29b5f82..83cd4c5 100755 (executable)
@@ -19,7 +19,6 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// A ToggleButton allows the user to change a setting between two or more states.
     /// </summary>
@@ -36,7 +35,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(toggleButton.swigCPtr, ToggleButton.Property.STATE_VISUALS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var toggleButton = (ToggleButton)bindable;
             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
@@ -53,7 +52,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(toggleButton.swigCPtr, ToggleButton.Property.TOOLTIPS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var toggleButton = (ToggleButton)bindable;
             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
@@ -70,7 +69,7 @@ namespace Tizen.NUI
                 Tizen.NUI.Object.SetProperty(toggleButton.swigCPtr, ToggleButton.Property.CURRENT_STATE_INDEX, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
-        defaultValueCreator:(bindable) =>
+        defaultValueCreator: (bindable) =>
         {
             var toggleButton = (ToggleButton)bindable;
             int temp = 0;
@@ -80,11 +79,68 @@ namespace Tizen.NUI
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        /// <summary>
+        /// Create an instance for toggleButton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ToggleButton() : this(NDalicPINVOKE.ToggleButton_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal ToggleButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ToggleButton_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        /// <summary>
+        /// Gets and Sets the state visual array of toggle button.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyArray StateVisuals
+        {
+            get
+            {
+                return (PropertyArray)GetValue(StateVisualsProperty);
+            }
+            set
+            {
+                SetValue(StateVisualsProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets the tooltips of toggle button.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyArray Tooltips
+        {
+            get
+            {
+                return (PropertyArray)GetValue(TooltipsProperty);
+            }
+            set
+            {
+                SetValue(TooltipsProperty, value);
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets the current state index of toggle button.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int CurrentStateIndex
+        {
+            get
+            {
+                return (int)GetValue(CurrentStateIndexProperty);
+            }
+            set
+            {
+                SetValue(CurrentStateIndexProperty, value);
+            }
+        }
+
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ToggleButton obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
@@ -149,65 +205,5 @@ namespace Tizen.NUI
             /// <since_tizen> 3 </since_tizen>
             public static readonly int CURRENT_STATE_INDEX = NDalicPINVOKE.ToggleButton_Property_CURRENT_STATE_INDEX_get();
         }
-
-        /// <summary>
-        /// Create an instance for toggleButton.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ToggleButton() : this(NDalicPINVOKE.ToggleButton_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Gets and Sets the state visual array of toggle button.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyArray StateVisuals
-        {
-            get
-            {
-                return (PropertyArray)GetValue(StateVisualsProperty);
-            }
-            set
-            {
-                SetValue(StateVisualsProperty, value);
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets the tooltips of toggle button.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyArray Tooltips
-        {
-            get
-            {
-                return (PropertyArray)GetValue(TooltipsProperty);
-            }
-            set
-            {
-                SetValue(TooltipsProperty, value);
-            }
-        }
-
-        /// <summary>
-        /// Gets and Sets the current state index of toggle button.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int CurrentStateIndex
-        {
-            get
-            {
-                return (int)GetValue(CurrentStateIndexProperty);
-            }
-            set
-            {
-                SetValue(CurrentStateIndexProperty, value);
-            }
-        }
-
     }
-
 }
index a58fb03..6e7aef1 100755 (executable)
@@ -27,207 +27,20 @@ namespace Tizen.NUI
     [TypeConverter(typeof(Vector2TypeConverter))]
     public class Vector2 : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Vector2(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector2 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
-
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Vector2()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        /// <summary>
-        /// The addition operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator +(Vector2 arg1, Vector2 arg2)
-        {
-            return arg1.Add(arg2);
-        }
-
-        /// <summary>
-        /// The subtraction operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator -(Vector2 arg1, Vector2 arg2)
-        {
-            return arg1.Subtract(arg2);
-        }
-
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The target value.</param>
-        /// <returns>The vector containing the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator -(Vector2 arg1)
-        {
-            return arg1.Subtract();
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator *(Vector2 arg1, Vector2 arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// Th multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator *(Vector2 arg1, float arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the division.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator /(Vector2 arg1, Vector2 arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// Th division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator /(Vector2 arg1, float arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// The array subscript operator overload.
-        /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        internal static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr)
-        {
-            Vector2 ret = new Vector2(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// The default constructor initializes the vector to 0.
@@ -279,6 +92,25 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal Vector2(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~Vector2()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
         /// <summary>
         /// (1.0f,1.0f).
         /// </summary>
@@ -369,116 +201,177 @@ namespace Tizen.NUI
             }
         }
 
-        private Vector2 Add(Vector2 rhs)
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector2 AddAssign(Vector2 rhs)
+        /// <summary>
+        /// The width.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Width
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_Width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector2 Subtract(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 SubtractAssign(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_SubtractAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Multiply(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Multiply(float rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 MultiplyAssign(Vector2 rhs)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector2 MultiplyAssign(float rhs)
+        /// <summary>
+        /// The height.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Height
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_Height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector2 Divide(Vector2 rhs)
+        /// <summary>
+        /// The array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
-        private Vector2 Divide(float rhs)
+        /// <summary>
+        /// The addition operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator +(Vector2 arg1, Vector2 arg2)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Add(arg2);
         }
 
-        private Vector2 DivideAssign(Vector2 rhs)
+        /// <summary>
+        /// The subtraction operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator -(Vector2 arg1, Vector2 arg2)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Subtract(arg2);
         }
 
-        private Vector2 DivideAssign(float rhs)
+        /// <summary>
+        /// The unary negation operator.
+        /// </summary>
+        /// <param name="arg1">The target value.</param>
+        /// <returns>The vector containing the negation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator -(Vector2 arg1)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Subtract();
         }
 
-        private Vector2 Subtract()
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator *(Vector2 arg1, Vector2 arg2)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Multiply(arg2);
         }
 
-        private bool EqualTo(Vector2 rhs)
+        /// <summary>
+        /// Th multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator *(Vector2 arg1, float arg2)
         {
-            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Multiply(arg2);
         }
 
-        private bool NotEqualTo(Vector2 rhs)
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator /(Vector2 arg1, Vector2 arg2)
         {
-            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Divide(arg2);
         }
 
-        private float ValueOfIndex(uint index)
+        /// <summary>
+        /// Th division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator /(Vector2 arg1, float arg2)
         {
-            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Divide(arg2);
         }
 
         /// <summary>
@@ -555,6 +448,41 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        internal static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr)
+        {
+            Vector2 ret = new Vector2(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector2 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         internal SWIGTYPE_p_float AsFloat()
         {
             global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_AsFloat__SWIG_0(swigCPtr);
@@ -564,79 +492,150 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        /// <summary>
-        /// The width.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Width
-        {
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Vector2_Width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            get
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
+        private Vector2 Add(Vector2 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_Y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The height.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Height
+        private Vector2 AddAssign(Vector2 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_Height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Subtract(Vector2 rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 SubtractAssign(Vector2 rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_SubtractAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Multiply(Vector2 rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Multiply(float rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 MultiplyAssign(Vector2 rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 MultiplyAssign(float rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Divide(Vector2 rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Divide(float rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 DivideAssign(Vector2 rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 DivideAssign(float rhs)
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Subtract()
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Vector2 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Vector2 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
     }
index 614b657..a18f0c1 100755 (executable)
@@ -27,207 +27,19 @@ namespace Tizen.NUI
     [TypeConverter(typeof(Vector3TypeConverter))]
     public class Vector3 : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-
-        internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
-
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Vector3()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        /// <summary>
-        /// The addition operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Add(arg2);
-        }
-
-        /// <summary>
-        /// The subtraction operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Subtract(arg2);
-        }
-
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The target value.</param>
-        /// <returns>The vector containg the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator -(Vector3 arg1)
-        {
-            return arg1.Subtract();
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator *(Vector3 arg1, float arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the division.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator /(Vector3 arg1, float arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// An array subscript operator overload.
-        /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
-        {
-            Vector3 ret = new Vector3(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// The constructor.
@@ -280,6 +92,25 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~Vector3()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
         /// <summary>
         /// (1.0f,1.0f,1.0f).
         /// </summary>
@@ -400,137 +231,272 @@ namespace Tizen.NUI
             }
         }
 
-        private Vector3 Add(Vector3 rhs)
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 AddAssign(Vector3 rhs)
+        /// <summary>
+        /// The width component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Width
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 Subtract(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 SubtractAssign(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Multiply(Vector3 rhs)
+        /// <summary>
+        /// The red component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float R
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 Multiply(float rhs)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 MultiplyAssign(Vector3 rhs)
+        /// <summary>
+        /// The height component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Height
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 MultiplyAssign(float rhs)
+        /// <summary>
+        /// The green component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float G
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 MultiplyAssign(Rotation rhs)
+        /// <summary>
+        /// The z component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Z
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 Divide(Vector3 rhs)
+        /// <summary>
+        /// The depth component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Depth
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 Divide(float rhs)
+        /// <summary>
+        /// The blue component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float B
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector3 DivideAssign(Vector3 rhs)
+        /// <summary>
+        /// An array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
-        private Vector3 DivideAssign(float rhs)
+        /// <summary>
+        /// The addition operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Add(arg2);
         }
 
-        private Vector3 Subtract()
+        /// <summary>
+        /// The subtraction operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Subtract(arg2);
         }
 
-        private bool EqualTo(Vector3 rhs)
+        /// <summary>
+        /// The unary negation operator.
+        /// </summary>
+        /// <param name="arg1">The target value.</param>
+        /// <returns>The vector containg the negation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator -(Vector3 arg1)
         {
-            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Subtract();
         }
 
-        private bool NotEqualTo(Vector3 rhs)
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
         {
-            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Multiply(arg2);
         }
 
-        private float ValueOfIndex(uint index)
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator *(Vector3 arg1, float arg2)
         {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Multiply(arg2);
         }
 
-        internal float Dot(Vector3 other)
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
         {
-            float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Divide(arg2);
         }
 
-        internal Vector3 Cross(Vector3 other)
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator /(Vector3 arg1, float arg2)
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Divide(arg2);
         }
 
         /// <summary>
@@ -607,14 +573,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal SWIGTYPE_p_float AsFloat()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
-            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Returns the x and y components (or width and height, or r and g) as a Vector2.
         /// </summary>
@@ -640,174 +598,214 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public void Dispose()
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The width component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Width
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
-        /// <summary>
-        /// The red component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float R
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
+        internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector3 ret = new Vector3(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The height component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Height
+        internal SWIGTYPE_p_float AsFloat()
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
+            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The green component.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public float G
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        /// <summary>
-        /// The z component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Z
-        {
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            get
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
-        /// <summary>
-        /// The depth component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Depth
+        private Vector3 Add(Vector3 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The blue component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float B
+        private Vector3 AddAssign(Vector3 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Subtract(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 SubtractAssign(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Multiply(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Multiply(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 MultiplyAssign(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 MultiplyAssign(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 MultiplyAssign(Rotation rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Divide(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Divide(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 DivideAssign(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 DivideAssign(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Subtract()
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Vector3 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Vector3 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot(Vector3 other)
+        {
+            float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Vector3 Cross(Vector3 other)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
     }
index e0132de..b4402e7 100755 (executable)
@@ -27,207 +27,21 @@ namespace Tizen.NUI
     [TypeConverter(typeof(Vector4TypeConverter))]
     public class Vector4 : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Vector4()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        /// <summary>
-        /// The addition operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Add(arg2);
-        }
-
-        /// <summary>
-        /// The subtraction operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Subtract(arg2);
-        }
-
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The target value.</param>
-        /// <returns>The vector containing the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator -(Vector4 arg1)
-        {
-            return arg1.Subtract();
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator *(Vector4 arg1, float arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the division.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator /(Vector4 arg1, float arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// The array subscript operator overload.
-        /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
-        {
-            Vector4 ret = new Vector4(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// The default constructor initializes the vector to 0.
@@ -281,6 +95,25 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~Vector4()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
         /// <summary>
         /// (1.0f,1.0f,1.0f,1.0f).
         /// </summary>
@@ -356,272 +189,49 @@ namespace Tizen.NUI
             }
         }
 
-        private Vector4 Add(Vector4 rhs)
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector4 AddAssign(Vector4 rhs)
+        /// <summary>
+        /// The red component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float R
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private Vector4 Subtract(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 SubtractAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Multiply(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Multiply(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 MultiplyAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 MultiplyAssign(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Divide(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Divide(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 DivideAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 DivideAssign(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Subtract()
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool EqualTo(Vector4 rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool NotEqualTo(Vector4 rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot(Vector3 other)
-        {
-            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot(Vector4 other)
-        {
-            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot4(Vector4 other)
-        {
-            float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal Vector4 Cross(Vector4 other)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Vector4 vector4 = obj as Vector4;
-            bool equal = false;
-            if (X == vector4?.X && Y == vector4?.Y && Z == vector4?.Z && W == vector4?.W)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Vector4.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode();
-        }
-
-        /// <summary>
-        /// Returns the length of the vector.
-        /// </summary>
-        /// <returns>The length.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float Length()
-        {
-            float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Returns the length of the vector squared.<br />
-        /// This is faster than using Length() when performing
-        /// threshold checks as it avoids use of the square root.<br />
-        /// </summary>
-        /// <returns>The length of the vector squared.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float LengthSquared()
-        {
-            float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Normalizes the vector.<br />
-        /// Sets the vector to unit length whilst maintaining its direction.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Normalize()
-        {
-            NDalicPINVOKE.Vector4_Normalize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Clamps the vector between minimum and maximum vectors.
-        /// </summary>
-        /// <param name="min">The minimum vector.</param>
-        /// <param name="max">The maximum vector.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Clamp(Vector4 min, Vector4 max)
-        {
-            NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal SWIGTYPE_p_float AsFloat()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
-            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The red component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float R
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
-        /// The s component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float S
+        /// <summary>
+        /// The s component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float S
         {
             set
             {
@@ -807,6 +417,397 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// The array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
+        {
+            get
+            {
+                return ValueOfIndex(index);
+            }
+        }
+
+
+        /// <summary>
+        /// The addition operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Add(arg2);
+        }
+
+        /// <summary>
+        /// The subtraction operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Subtract(arg2);
+        }
+
+        /// <summary>
+        /// The unary negation operator.
+        /// </summary>
+        /// <param name="arg1">The target value.</param>
+        /// <returns>The vector containing the negation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator -(Vector4 arg1)
+        {
+            return arg1.Subtract();
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator *(Vector4 arg1, float arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator /(Vector4 arg1, float arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Vector4 vector4 = obj as Vector4;
+            bool equal = false;
+            if (X == vector4?.X && Y == vector4?.Y && Z == vector4?.Z && W == vector4?.W)
+            {
+                equal = true;
+            }
+            return equal;
+        }
+
+        /// <summary>
+        /// Gets the the hash code of this Vector4.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public override int GetHashCode()
+        {
+            return X.GetHashCode();
+        }
+
+        /// <summary>
+        /// Returns the length of the vector.
+        /// </summary>
+        /// <returns>The length.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float Length()
+        {
+            float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Returns the length of the vector squared.<br />
+        /// This is faster than using Length() when performing
+        /// threshold checks as it avoids use of the square root.<br />
+        /// </summary>
+        /// <returns>The length of the vector squared.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float LengthSquared()
+        {
+            float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Normalizes the vector.<br />
+        /// Sets the vector to unit length whilst maintaining its direction.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Normalize()
+        {
+            NDalicPINVOKE.Vector4_Normalize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Clamps the vector between minimum and maximum vectors.
+        /// </summary>
+        /// <param name="min">The minimum vector.</param>
+        /// <param name="max">The maximum vector.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Clamp(Vector4 min, Vector4 max)
+        {
+            NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
+        {
+            Vector4 ret = new Vector4(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_float AsFloat()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
+            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot(Vector3 other)
+        {
+            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot(Vector4 other)
+        {
+            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot4(Vector4 other)
+        {
+            float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Vector4 Cross(Vector4 other)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        private Vector4 Add(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 AddAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Subtract(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 SubtractAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Multiply(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Multiply(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 MultiplyAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 MultiplyAssign(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Divide(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Divide(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 DivideAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 DivideAssign(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Subtract()
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Vector4 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Vector4 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
     }
 
 }
\ No newline at end of file
index af4dc6d..e404ce5 100755 (executable)
@@ -25,14 +25,20 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ViewWrapper : View
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         internal ViewWrapperImpl viewWrapperImpl;
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         internal ViewWrapper(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.ViewWrapper_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        internal ViewWrapper(string typeName, ViewWrapperImpl implementation) : this(NDalicManualPINVOKE.ViewWrapper_New(typeName, ViewWrapperImpl.getCPtr(implementation)), true)
+        {
+            viewWrapperImpl = implementation;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewWrapper obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
@@ -74,12 +80,5 @@ namespace Tizen.NUI
 
             base.Dispose(type);
         }
-
-
-        internal ViewWrapper(string typeName, ViewWrapperImpl implementation) : this(NDalicManualPINVOKE.ViewWrapper_New(typeName, ViewWrapperImpl.getCPtr(implementation)), true)
-        {
-            viewWrapperImpl = implementation;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
     }
 }
\ No newline at end of file
index ef701cc..f4a5a68 100755 (executable)
@@ -32,52 +32,6 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal VisualBase(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualBase_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_VisualBase(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
         /// <summary>
         /// Creates an empty visual handle.
         /// </summary>
@@ -91,6 +45,10 @@ namespace Tizen.NUI
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
+        internal VisualBase(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualBase_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// The name of the visual.
@@ -108,17 +66,34 @@ namespace Tizen.NUI
             }
         }
 
-        internal void SetName(string name)
+        /// <summary>
+        /// The depth index of this visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int DepthIndex
         {
-            NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            set
+            {
+                SetDepthIndex(value);
+            }
+            get
+            {
+                return GetDepthIndex();
+            }
         }
 
-        internal string GetName()
+        /// <summary>
+        /// Creates the property map representing this visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap Creation
         {
-            string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                PropertyMap map = new PropertyMap();
+                CreatePropertyMap(map);
+                return map;
+            }
         }
 
         /// <summary>
@@ -172,21 +147,24 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// The depth index of this visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int DepthIndex
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj)
         {
-            set
-            {
-                SetDepthIndex(value);
-            }
-            get
-            {
-                return GetDepthIndex();
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
+
+        internal void SetName(string name)
+        {
+            NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal string GetName()
+        {
+            string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal void SetDepthIndex(int index)
         {
             NDalicPINVOKE.VisualBase_SetDepthIndex(swigCPtr, index);
@@ -200,24 +178,46 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal void CreatePropertyMap(PropertyMap map)
+        {
+            NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, PropertyMap.getCPtr(map));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
-        /// Creates the property map representing this visual.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Creation
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                PropertyMap map = new PropertyMap();
-                CreatePropertyMap(map);
-                return map;
+                return;
             }
-        }
 
-        internal void CreatePropertyMap(PropertyMap map)
-        {
-            NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, PropertyMap.getCPtr(map));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_VisualBase(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
     }
index afad177..6a9cef1 100755 (executable)
@@ -27,21 +27,39 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class VisualFactory : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         /// <summary>
         /// Instance of the VisualFactory singleton.
         /// </summary>
         private static VisualFactory instance;
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         internal VisualFactory(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualFactory_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj)
+        internal VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Retrieves the VisualFactory singleton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static VisualFactory Instance
+        {
+            get
+            {
+                if (!instance)
+                {
+                    instance = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+
+                return instance;
+            }
         }
 
         /// <summary>
@@ -58,12 +76,6 @@ namespace Tizen.NUI
             return VisualFactory.Instance;
         }
 
-        internal VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-
         /// <summary>
         /// Request the visual.
         /// </summary>
@@ -77,6 +89,11 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         internal VisualBase CreateVisual(Image image)
         {
             VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_1(swigCPtr, Image.getCPtr(image)), true);
@@ -84,24 +101,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Retrieves the VisualFactory singleton.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static VisualFactory Instance
-        {
-            get
-            {
-                if (!instance)
-                {
-                  instance = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
-                  if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-
-                return instance;
-            }
-        }
-
     }
 
 }
\ No newline at end of file
index 9d788e7..36589c1 100755 (executable)
@@ -27,6 +27,49 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class VisualMap
     {
+        /// <summary>
+        /// outputVisualMap.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected PropertyMap _outputVisualMap = null;
+
+        /// <summary>
+        /// The shader of the visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected PropertyMap _shader = null;
+        //private PropertyMap _transform = null;
+
+        /// <summary>
+        /// The premultipliedAlpha of the visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool? _premultipliedAlpha = null;
+
+        /// <summary>
+        /// The mixColor of the Visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected Color _mixColor = null;
+
+        /// <summary>
+        /// The opacity of the visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected float? _opacity = null;
+
+        /// <summary>
+        /// The FittingMode of the visual.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        protected VisualFittingModeType? _visualFittingMode = null;
+
+        /// <summary>
+        /// The map for visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected PropertyMap _commonlyUsedMap = null;
+
         private Vector2 _visualSize = null;
         private Vector2 _visualOffset = null;
         private Vector2 _visualOffsetPolicy = null;
@@ -39,30 +82,6 @@ namespace Tizen.NUI
         private int? _depthIndex = null;
 
         /// <summary>
-        /// outputVisualMap.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected PropertyMap _outputVisualMap = null;
-
-        internal string Name
-        {
-            set;
-            get;
-        }
-
-        internal int VisualIndex
-        {
-            set;
-            get;
-        }
-
-        internal VisualView Parent
-        {
-            set;
-            get;
-        }
-
-        /// <summary>
         /// Constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -447,17 +466,6 @@ namespace Tizen.NUI
             }
         }
 
-        private void ComposingTransformMap()
-        {
-            _visualTransformMap = new PropertyMap();
-            if (_visualSize != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize)); }
-            if (_visualOffset != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset)); }
-            if (_visualOffsetPolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy)); }
-            if (_visualSizePolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy)); }
-            if (_visualOrigin != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin)); }
-            if (_visualAnchorPoint != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint)); }
-        }
-
         /// <summary>
         /// Gets the transform map used by the visual.
         /// </summary>
@@ -472,15 +480,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Compose the out visual map.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void ComposingPropertyMap()
-        {
-            _outputVisualMap = new PropertyMap();
-        }
-
-        /// <summary>
         /// Gets the property map to create the visual.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -493,55 +492,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal void UpdateVisual()
-        {
-            if (VisualIndex > 0)
-            {
-                NUILog.Debug("UpdateVisual()! VisualIndex=" + VisualIndex);
-                Parent.UpdateVisual(VisualIndex, Name, this);
-            }
-            else
-            {
-                NUILog.Debug("VisualIndex was not set");
-            }
-        }
-
-        /// <summary>
-        /// The shader of the visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected PropertyMap _shader = null;
-        //private PropertyMap _transform = null;
-
-        /// <summary>
-        /// The premultipliedAlpha of the visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool? _premultipliedAlpha = null;
-
-        /// <summary>
-        /// The mixColor of the Visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected Color _mixColor = null;
-
-        /// <summary>
-        /// The opacity of the visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected float? _opacity = null;
-
-        /// <summary>
-        /// The FittingMode of the visual.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        protected VisualFittingModeType? _visualFittingMode = null;
-
-        /// <summary>
-        /// The map for visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected PropertyMap _commonlyUsedMap = null;
 
         /// <summary>
         /// The shader to use in the visual.
@@ -646,6 +596,58 @@ namespace Tizen.NUI
                 UpdateVisual();
             }
         }
+
+        internal string Name
+        {
+            set;
+            get;
+        }
+
+        internal int VisualIndex
+        {
+            set;
+            get;
+        }
+
+        internal VisualView Parent
+        {
+            set;
+            get;
+        }
+
+        internal void UpdateVisual()
+        {
+            if (VisualIndex > 0)
+            {
+                NUILog.Debug("UpdateVisual()! VisualIndex=" + VisualIndex);
+                Parent.UpdateVisual(VisualIndex, Name, this);
+            }
+            else
+            {
+                NUILog.Debug("VisualIndex was not set");
+            }
+        }
+
+        /// <summary>
+        /// Compose the out visual map.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+        }
+
+        private void ComposingTransformMap()
+        {
+            _visualTransformMap = new PropertyMap();
+            if (_visualSize != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize)); }
+            if (_visualOffset != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset)); }
+            if (_visualOffsetPolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy)); }
+            if (_visualSizePolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy)); }
+            if (_visualOrigin != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin)); }
+            if (_visualAnchorPoint != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint)); }
+        }
+
     }
 
     /// <summary>
@@ -654,14 +656,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ImageVisual : VisualMap
     {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ImageVisual() : base()
-        {
-        }
-
         private string _url = null;
         private string _alphaMaskUrl = null;
         private string _auxiliaryImageUrl = null;
@@ -683,6 +677,14 @@ namespace Tizen.NUI
         private bool? _atlasing = false;
 
         /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ImageVisual() : base()
+        {
+        }
+
+        /// <summary>
         /// Gets or sets the URL of the image.<br />
         /// Mandatory.
         /// </summary>
@@ -1092,14 +1094,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class TextVisual : VisualMap
     {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public TextVisual() : base()
-        {
-        }
-
         private string _text = null;
         private string _fontFamily = null;
         private PropertyMap _fontStyle = null;
@@ -1115,6 +1109,14 @@ namespace Tizen.NUI
         private PropertyMap _background = null;
 
         /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public TextVisual() : base()
+        {
+        }
+
+        /// <summary>
         /// Gets or sets the text to display in the UTF-8 format.<br />
         /// Mandatory.
         /// </summary>
@@ -1449,6 +1451,10 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class BorderVisual : VisualMap
     {
+        private Color _color = null;
+        private float? _size = null;
+        private bool? _antiAliasing = null;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -1457,10 +1463,6 @@ namespace Tizen.NUI
         {
         }
 
-        private Color _color = null;
-        private float? _size = null;
-        private bool? _antiAliasing = null;
-
         /// <summary>
         /// Gets or sets the color of the border.<br />
         /// Mandatory.
@@ -1544,6 +1546,9 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ColorVisual : VisualMap
     {
+        private Color _mixColorForColorVisual = null;
+        private bool? _renderIfTransparent = false;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -1552,9 +1557,6 @@ namespace Tizen.NUI
         {
         }
 
-        private Color _mixColorForColorVisual = null;
-        private bool? _renderIfTransparent = false;
-
         /// <summary>
         /// Gets or sets the solid color required.<br />
         /// Mandatory.
@@ -1617,14 +1619,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class GradientVisual : VisualMap
     {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public GradientVisual() : base()
-        {
-        }
-
         private Vector2 _startPosition = null;
         private Vector2 _endPosition = null;
         private Vector2 _center = null;
@@ -1635,6 +1629,14 @@ namespace Tizen.NUI
         private GradientVisualSpreadMethodType? _spreadMethod = null;
 
         /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public GradientVisual() : base()
+        {
+        }
+
+        /// <summary>
         /// Gets or sets the start position of a linear gradient.<br />
         /// Mandatory for linear.<br />
         /// </summary>
@@ -1817,14 +1819,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class MeshVisual : VisualMap
     {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public MeshVisual() : base()
-        {
-        }
-
         private string _objectURL = null;
         private string _materialtURL = null;
         private string _texturesPath = null;
@@ -1834,6 +1828,14 @@ namespace Tizen.NUI
         private Vector3 _lightPosition = null;
 
         /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public MeshVisual() : base()
+        {
+        }
+
+        /// <summary>
         /// Gets or sets the location of the ".obj" file.<br />
         /// Mandatory.
         /// </summary>
@@ -1998,14 +2000,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class PrimitiveVisual : VisualMap
     {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PrimitiveVisual() : base()
-        {
-        }
-
         private PrimitiveVisualShapeType? _shape = null;
         private Color _mixColorForPrimitiveVisual = null;
         private int? _slices = null;
@@ -2020,6 +2014,14 @@ namespace Tizen.NUI
         private Vector3 _lightPosition = null;
 
         /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PrimitiveVisual() : base()
+        {
+        }
+
+        /// <summary>
         /// Gets or sets the specific shape to render.<br />
         /// If not specified, the default is PrimitiveVisualShapeType.Sphere.<br />
         /// Optional.
@@ -2313,6 +2315,10 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class NPatchVisual : VisualMap
     {
+        private string _url = null;
+        private bool? _borderOnly = null;
+        private Rectangle _border = null;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2321,10 +2327,6 @@ namespace Tizen.NUI
         {
         }
 
-        private string _url = null;
-        private bool? _borderOnly = null;
-        private Rectangle _border = null;
-
         /// <summary>
         /// Gets or sets the URL of the image.<br />
         /// Mandatory.
@@ -2410,6 +2412,8 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class SVGVisual : VisualMap
     {
+        private string _url = null;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2418,8 +2422,6 @@ namespace Tizen.NUI
         {
         }
 
-        private string _url = null;
-
         /// <summary>
         /// The url of the svg resource.
         /// </summary>
@@ -2463,6 +2465,12 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class AnimatedImageVisual : VisualMap
     {
+        private List<string> _urls = null;
+        private int? _batchSize = null;
+        private int? _cacheSize = null;
+        private float? _frameDelay = null;
+        private float? _loopCount = null;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2471,12 +2479,6 @@ namespace Tizen.NUI
         {
         }
 
-        private List<string> _urls = null;
-        private int? _batchSize = null;
-        private int? _cacheSize = null;
-        private float? _frameDelay = null;
-        private float? _loopCount = null;
-
         /// <summary>
         /// Gets and Sets the url in the AnimatedImageVisual.
         /// </summary>
@@ -2639,6 +2641,13 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class VisualAnimator : VisualMap
     {
+        private string _alphaFunction = null;
+        private int _startTime = 0;
+        private int _endTime = 0;
+        private string _target = null;
+        private string _propertyIndex = null;
+        private object _destinationValue = null;
+
         /// <summary>
         /// Create VisualAnimator object.
         /// </summary>
@@ -2647,13 +2656,6 @@ namespace Tizen.NUI
         {
         }
 
-        private string _alphaFunction = null;
-        private int _startTime = 0;
-        private int _endTime = 0;
-        private string _target = null;
-        private string _propertyIndex = null;
-        private object _destinationValue = null;
-
         /// <summary>
         /// Sets and Gets the AlphaFunction of this transition.
         /// </summary>
index 7c0f63d..ee5c316 100755 (executable)
@@ -26,120 +26,47 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class WatchTime : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal WatchTime(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WatchTime obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool disposed = false;
 
-        /// <summary>
-        /// Distructor.
-        /// </summary>
-        ~WatchTime()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// To make watch time instance be disposed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
-        /// you can override it to clean-up your own resources.
+        /// Constructor.
         /// </summary>
-        /// <param name="type">DisposeTypes</param>
         /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public WatchTime() : this(NDalicManualPINVOKE.new_WatchTime(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_WatchTime(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static WatchTime GetWatchTimeFromPtr(global::System.IntPtr cPtr)
+        internal WatchTime(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            WatchTime ret = new WatchTime(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Constructor.
+        /// Distructor.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public WatchTime() : this(NDalicManualPINVOKE.new_WatchTime(), true)
+        ~WatchTime()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
@@ -155,13 +82,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetHour()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetHour(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current hour24.
         /// </summary>
@@ -175,13 +95,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetHour24()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetHour24(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current minute.
         /// </summary>
@@ -195,13 +108,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetMinute()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetMinute(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current second.
         /// </summary>
@@ -215,13 +121,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetSecond()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetSecond(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current millisecond.
         /// </summary>
@@ -235,13 +134,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetMillisecond()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetMillisecond(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current year.
         /// </summary>
@@ -255,13 +147,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetYear()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetYear(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current month.
         /// </summary>
@@ -275,13 +160,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetMonth()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetMonth(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current day.
         /// </summary>
@@ -295,13 +173,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetDay()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetDay(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the current week.
         /// </summary>
@@ -315,27 +186,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetDayOfWeek()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetDayOfWeek(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_tm GetUtcTime()
-        {
-            SWIGTYPE_p_tm ret = new SWIGTYPE_p_tm(NDalicManualPINVOKE.WatchTime_GetUtcTime(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_time_t GetUtcTimeStamp()
-        {
-            SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(NDalicManualPINVOKE.WatchTime_GetUtcTimeStamp(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the ID of timezone.
         /// </summary>
@@ -354,13 +204,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal string GetTimeZone()
-        {
-            string ret = NDalicManualPINVOKE.WatchTime_GetTimeZone(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the daylight saving time status.
         /// </summary>
@@ -374,6 +217,69 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// To make watch time instance be disposed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WatchTime obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static WatchTime GetWatchTimeFromPtr(global::System.IntPtr cPtr)
+        {
+            WatchTime ret = new WatchTime(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetDayOfWeek()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetDayOfWeek(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_tm GetUtcTime()
+        {
+            SWIGTYPE_p_tm ret = new SWIGTYPE_p_tm(NDalicManualPINVOKE.WatchTime_GetUtcTime(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_time_t GetUtcTimeStamp()
+        {
+            SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(NDalicManualPINVOKE.WatchTime_GetUtcTimeStamp(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal string GetTimeZone()
+        {
+            string ret = NDalicManualPINVOKE.WatchTime_GetTimeZone(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal bool GetDaylightSavingTimeStatus()
         {
             bool ret = NDalicManualPINVOKE.WatchTime_GetDaylightSavingTimeStatus(swigCPtr);
@@ -381,6 +287,99 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal int GetHour()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetHour(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetHour24()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetHour24(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetMinute()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMinute(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetSecond()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetSecond(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetMillisecond()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMillisecond(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetYear()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetYear(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetMonth()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMonth(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetDay()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetDay(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// you can override it to clean-up your own resources.
+        /// </summary>
+        /// <param name="type">DisposeTypes</param>
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_WatchTime(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
+        }
+
     }
 
 }
index 3898712..ae18c53 100755 (executable)
@@ -27,110 +27,83 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Wheel : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wheel obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
-        /// Destructor.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Wheel()
+        public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="type">The type of the wheel event.</param>
+        /// <param name="direction">The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel).</param>
+        /// <param name="modifiers">Modifier keys pressed during the event (such as Shift, Alt, and Ctrl).</param>
+        /// <param name="point">The coordinates of the cursor relative to the top-left of the screen.</param>
+        /// <param name="z">The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise).</param>
+        /// <param name="timeStamp">The time the wheel is being rolled.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public Wheel(Wheel.WheelType type, int direction, uint modifiers, Vector2 point, int z, uint timeStamp) : this(NDalicPINVOKE.new_Wheel__SWIG_1((int)type, direction, modifiers, Vector2.getCPtr(point), z, timeStamp), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Dispose.
+        /// Destructor.
         /// </summary>
-        /// <param name="type">The type dispose, it could be from user, or called by DisposeQueue.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~Wheel()
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            if(!isDisposeQueued)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Wheel(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            disposed = true;
         }
 
-
-        internal static Wheel GetWheelFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// The type of the wheel event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum WheelType
         {
-            Wheel ret = new Wheel(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Mouse wheel event.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            MouseWheel,
+
+            /// <summary>
+            /// Custom wheel event.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CustomWheel
         }
 
         /// <summary>
@@ -205,66 +178,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The default constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="type">The type of the wheel event.</param>
-        /// <param name="direction">The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel).</param>
-        /// <param name="modifiers">Modifier keys pressed during the event (such as Shift, Alt, and Ctrl).</param>
-        /// <param name="point">The coordinates of the cursor relative to the top-left of the screen.</param>
-        /// <param name="z">The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise).</param>
-        /// <param name="timeStamp">The time the wheel is being rolled.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Wheel(Wheel.WheelType type, int direction, uint modifiers, Vector2 point, int z, uint timeStamp) : this(NDalicPINVOKE.new_Wheel__SWIG_1((int)type, direction, modifiers, Vector2.getCPtr(point), z, timeStamp), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Checks to see if the Shift key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Shift modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsShiftModifier()
-        {
-            bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Ctrl (control) key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Ctrl modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsCtrlModifier()
-        {
-            bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Alt key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Alt modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsAltModifier()
-        {
-            bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         private Wheel.WheelType type
         {
             set
@@ -356,23 +269,111 @@ namespace Tizen.NUI
             }
         }
 
+
         /// <summary>
-        /// The type of the wheel event.
+        /// Checks to see if the Shift key modifier has been supplied.
         /// </summary>
+        /// <returns>True if Shift modifier.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public enum WheelType
+        public bool IsShiftModifier()
         {
-            /// <summary>
-            /// Mouse wheel event.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            MouseWheel,
+            bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            /// <summary>
-            /// Custom wheel event.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CustomWheel
+        /// <summary>
+        /// Checks to see if Ctrl (control) key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Ctrl modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsCtrlModifier()
+        {
+            bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Alt key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Alt modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsAltModifier()
+        {
+            bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wheel obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal static Wheel GetWheelFromPtr(global::System.IntPtr cPtr)
+        {
+            Wheel ret = new Wheel(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The type dispose, it could be from user, or called by DisposeQueue.</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Wheel(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
     }
index cd4fc57..9ee703a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *Z:\Desktop\shared\tizenfx\src\Tizen.NUI\src\public\BaseComponents\CustomView.cs
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
@@ -25,8 +25,17 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class Widget : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         internal WidgetImpl widgetImpl;
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        /// <summary>
+        /// Creates a Widget handle.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public Widget() : this(new WidgetImpl(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         internal Widget(WidgetImpl widgetImpl, bool swigCMemOwn) : this(NDalicManualPINVOKE.Widget_New__SWIG_1(WidgetImpl.getCPtr(widgetImpl)), swigCMemOwn)
         {
@@ -46,72 +55,6 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        private void OnWidgetInstanceCreated(object sender, WidgetImpl.WIdgetInstanceOnCreateArgs e)
-        {
-            OnCreate(e.ContentInfo, e.Window);
-        }
-
-        private void OnWidgetInstanceDestroyed(object sender, WidgetImpl.WIdgetInstanceOnDestroyArgs e)
-        {
-            OnTerminate(e.ContentInfo, e.TerminateType);
-        }
-
-        private void OnWidgetInstancePaused(object sender, EventArgs e)
-        {
-            OnPause();
-        }
-
-        private void OnWidgetInstanceResumed(object sender, EventArgs e)
-        {
-            OnResume();
-        }
-
-        private void OnWidgetInstanceResized(object sender, WidgetImpl.WidgetInstanceOnResizeArgs e)
-        {
-            OnResize(e.Window);
-        }
-
-        private void OnWidgetInstanceUpdated(object sender, WidgetImpl.WidgetInstanceOnUpdateArgs e)
-        {
-            OnUpdate(e.ContentInfo, e.Force);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Widget obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_Widget(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
         /// <summary>
         /// Enumeration for termination type of widget
         /// </summary>
@@ -131,13 +74,24 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates a Widget handle.
+        /// Set content info to WidgetView.
         /// </summary>
+        /// <param name="contentInfo">Content info is kind of context information which contains current status of widget.</param>
         /// <since_tizen> 4 </since_tizen>
-        public Widget () : this (new WidgetImpl(), true) {
-                       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-               }
+        public void SetContentInfo(string contentInfo)
+        {
+            widgetImpl.SetContentInfo(contentInfo);
+        }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Widget obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal System.IntPtr GetIntPtr()
+        {
+            return swigCPtr.Handle;
+        }
         internal Widget Assign(Widget widget)
         {
             Widget ret = new Widget(NDalicManualPINVOKE.Widget_Assign(swigCPtr, Widget.getCPtr(widget)), false);
@@ -201,18 +155,65 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Set content info to WidgetView.
+        /// Dispose.
         /// </summary>
-        /// <param name="contentInfo">Content info is kind of context information which contains current status of widget.</param>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 4 </since_tizen>
-        public void SetContentInfo(string contentInfo)
+        protected override void Dispose(DisposeTypes type)
         {
-            widgetImpl.SetContentInfo(contentInfo);
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_Widget(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal System.IntPtr GetIntPtr()
+        private void OnWidgetInstanceCreated(object sender, WidgetImpl.WIdgetInstanceOnCreateArgs e)
         {
-            return swigCPtr.Handle;
+            OnCreate(e.ContentInfo, e.Window);
+        }
+
+        private void OnWidgetInstanceDestroyed(object sender, WidgetImpl.WIdgetInstanceOnDestroyArgs e)
+        {
+            OnTerminate(e.ContentInfo, e.TerminateType);
+        }
+
+        private void OnWidgetInstancePaused(object sender, EventArgs e)
+        {
+            OnPause();
+        }
+
+        private void OnWidgetInstanceResumed(object sender, EventArgs e)
+        {
+            OnResume();
+        }
+
+        private void OnWidgetInstanceResized(object sender, WidgetImpl.WidgetInstanceOnResizeArgs e)
+        {
+            OnResize(e.Window);
+        }
+
+        private void OnWidgetInstanceUpdated(object sender, WidgetImpl.WidgetInstanceOnUpdateArgs e)
+        {
+            OnUpdate(e.ContentInfo, e.Force);
         }
     }
 }
index 10da2ef..4b7357f 100755 (executable)
@@ -39,97 +39,18 @@ namespace Tizen.NUI
     public class WidgetView : View
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal WidgetView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetView_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetView obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// To make the Button instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (_widgetAddedEventCallback != null)
-            {
-                this.WidgetAddedSignal().Disconnect(_widgetAddedEventCallback);
-            }
-
-            if (_widgetContentUpdatedEventCallback != null)
-            {
-                this.WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
-            }
-
-            if (_widgetCreationAbortedEventCallback != null)
-            {
-                this.WidgetCreationAbortedSignal().Disconnect(_widgetCreationAbortedEventCallback);
-            }
-
-            if (_widgetDeletedEventCallback != null)
-            {
-                this.WidgetDeletedSignal().Disconnect(_widgetDeletedEventCallback);
-            }
-
-            if (_widgetFaultedEventCallback != null)
-            {
-                this.WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
-            }
-
-            if (_widgetUpdatePeriodChangedEventCallback != null)
-            {
-                this.WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_WidgetView(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            base.Dispose(type);
-        }
-
-        internal new class Property
-        {
-            internal static readonly int WIDGET_ID = NDalicManualPINVOKE.WidgetView_Property_WIDGET_ID_get();
-            internal static readonly int INSTANCE_ID = NDalicManualPINVOKE.WidgetView_Property_INSTANCE_ID_get();
-            internal static readonly int CONTENT_INFO = NDalicManualPINVOKE.WidgetView_Property_CONTENT_INFO_get();
-            internal static readonly int TITLE = NDalicManualPINVOKE.WidgetView_Property_TITLE_get();
-            internal static readonly int UPDATE_PERIOD = NDalicManualPINVOKE.WidgetView_Property_UPDATE_PERIOD_get();
-            internal static readonly int PREVIEW = NDalicManualPINVOKE.WidgetView_Property_PREVIEW_get();
-            internal static readonly int LOADING_TEXT = NDalicManualPINVOKE.WidgetView_Property_LOADING_TEXT_get();
-            internal static readonly int WIDGET_STATE_FAULTED = NDalicManualPINVOKE.WidgetView_Property_WIDGET_STATE_FAULTED_get();
-            internal static readonly int PERMANENT_DELETE = NDalicManualPINVOKE.WidgetView_Property_PERMANENT_DELETE_get();
-            internal static readonly int RETRY_TEXT = NDalicManualPINVOKE.WidgetView_Property_RETRY_TEXT_get();
-            internal static readonly int EFFECT = NDalicManualPINVOKE.WidgetView_Property_EFFECT_get();
-        }
-
+        private EventHandler<WidgetViewEventArgs> _widgetAddedEventHandler;
+        private WidgetAddedEventCallbackType _widgetAddedEventCallback;
+        private EventHandler<WidgetViewEventArgs> _widgetContentUpdatedEventHandler;
+        private WidgetContentUpdatedEventCallbackType _widgetContentUpdatedEventCallback;
+        private EventHandler<WidgetViewEventArgs> _widgetDeletedEventHandler;
+        private WidgetDeletedEventCallbackType _widgetDeletedEventCallback;
+        private EventHandler<WidgetViewEventArgs> _widgetCreationAbortedEventHandler;
+        private WidgetCreationAbortedEventCallbackType _widgetCreationAbortedEventCallback;
+        private EventHandler<WidgetViewEventArgs> _widgetUpdatePeriodChangedEventHandler;
+        private WidgetUpdatePeriodChangedEventCallbackType _widgetUpdatePeriodChangedEventCallback;
+        private EventHandler<WidgetViewEventArgs> _widgetFaultedEventHandler;
+        private WidgetFaultedEventCallbackType _widgetFaultedEventCallback;
         /// <summary>
         /// Creates a new WidgetView.
         /// </summary>
@@ -140,61 +61,27 @@ namespace Tizen.NUI
 
         }
 
-        internal static WidgetView DownCast(BaseHandle handle)
+        internal WidgetView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetView_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
-
         internal WidgetView(WidgetView handle) : this(NDalicManualPINVOKE.new_WidgetView__SWIG_1(WidgetView.getCPtr(handle)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal WidgetView Assign(WidgetView handle)
-        {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_Assign(swigCPtr, WidgetView.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static WidgetView GetWidgetViewFromPtr(global::System.IntPtr cPtr)
-        {
-            WidgetView ret = new WidgetView(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Event arguments of the widget view.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class WidgetViewEventArgs : EventArgs
-        {
-            private WidgetView _widgetView;
-
-            /// <summary>
-            /// The widet view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public WidgetView WidgetView
-            {
-                get
-                {
-                    return _widgetView;
-                }
-                set
-                {
-                    _widgetView = value;
-                }
-            }
-        }
-
-        private EventHandler<WidgetViewEventArgs> _widgetAddedEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void WidgetAddedEventCallbackType(IntPtr data);
-        private WidgetAddedEventCallbackType _widgetAddedEventCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetContentUpdatedEventCallbackType(IntPtr data);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetDeletedEventCallbackType(IntPtr data);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetCreationAbortedEventCallbackType(IntPtr data);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetUpdatePeriodChangedEventCallbackType(IntPtr data);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetFaultedEventCallbackType(IntPtr data);
 
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
@@ -226,26 +113,36 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for WidgetView WidgetAdded signal
-        private void OnWidgetAdded(IntPtr data)
+        /// <summary>
+        /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// This signal is emitted after all resources required by a control are loaded and ready.<br />
+        /// Most resources are only loaded when the control is placed on the stage.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<WidgetViewEventArgs> WidgetContentUpdated
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            add
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                if (_widgetContentUpdatedEventHandler == null)
+                {
+                    _widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
+                    WidgetContentUpdatedSignal().Connect(_widgetContentUpdatedEventCallback);
+                }
+
+                _widgetContentUpdatedEventHandler += value;
             }
 
-            if (_widgetAddedEventHandler != null)
+            remove
             {
-                _widgetAddedEventHandler(this, e);
+                _widgetContentUpdatedEventHandler -= value;
+
+                if (_widgetContentUpdatedEventHandler == null && WidgetContentUpdatedSignal().Empty() == false)
+                {
+                    WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
+                }
             }
         }
 
-        private EventHandler<WidgetViewEventArgs> _widgetDeletedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetDeletedEventCallbackType(IntPtr data);
-        private WidgetDeletedEventCallbackType _widgetDeletedEventCallback;
-
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
@@ -276,26 +173,6 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for WidgetView WidgetDeleted signal
-        private void OnWidgetDeleted(IntPtr data)
-        {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
-            {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
-            }
-
-            if (_widgetDeletedEventHandler != null)
-            {
-                _widgetDeletedEventHandler(this, e);
-            }
-        }
-
-        private EventHandler<WidgetViewEventArgs> _widgetCreationAbortedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetCreationAbortedEventCallbackType(IntPtr data);
-        private WidgetCreationAbortedEventCallbackType _widgetCreationAbortedEventCallback;
-
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
@@ -326,168 +203,241 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for WidgetView WidgetCreationAborted signal
-        private void OnWidgetCreationAborted(IntPtr data)
-        {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
-            {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
-            }
-
-            if (_widgetCreationAbortedEventHandler != null)
-            {
-                _widgetCreationAbortedEventHandler(this, e);
-            }
-        }
-
-        private EventHandler<WidgetViewEventArgs> _widgetContentUpdatedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetContentUpdatedEventCallbackType(IntPtr data);
-        private WidgetContentUpdatedEventCallbackType _widgetContentUpdatedEventCallback;
-
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
         /// Most resources are only loaded when the control is placed on the stage.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetContentUpdated
+        public event EventHandler<WidgetViewEventArgs> WidgetUpdatePeriodChanged
         {
             add
             {
-                if (_widgetContentUpdatedEventHandler == null)
+                if (_widgetUpdatePeriodChangedEventHandler == null)
                 {
-                    _widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
-                    WidgetContentUpdatedSignal().Connect(_widgetContentUpdatedEventCallback);
+                    _widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
+                    WidgetUpdatePeriodChangedSignal().Connect(_widgetUpdatePeriodChangedEventCallback);
                 }
 
-                _widgetContentUpdatedEventHandler += value;
+                _widgetUpdatePeriodChangedEventHandler += value;
             }
 
             remove
             {
-                _widgetContentUpdatedEventHandler -= value;
+                _widgetUpdatePeriodChangedEventHandler -= value;
 
-                if (_widgetContentUpdatedEventHandler == null && WidgetContentUpdatedSignal().Empty() == false)
+                if (_widgetUpdatePeriodChangedEventHandler == null && WidgetUpdatePeriodChangedSignal().Empty() == false)
                 {
-                    WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
+                    WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
                 }
             }
         }
 
-        // Callback for WidgetView WidgetContentUpdated signal
-        private void OnWidgetContentUpdated(IntPtr data)
-        {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
-            {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
-            }
-
-            if (_widgetContentUpdatedEventHandler != null)
-            {
-                _widgetContentUpdatedEventHandler(this, e);
-            }
-        }
-
-        private EventHandler<WidgetViewEventArgs> _widgetUpdatePeriodChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetUpdatePeriodChangedEventCallbackType(IntPtr data);
-        private WidgetUpdatePeriodChangedEventCallbackType _widgetUpdatePeriodChangedEventCallback;
-
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
         /// Most resources are only loaded when the control is placed on the stage.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetUpdatePeriodChanged
+        public event EventHandler<WidgetViewEventArgs> WidgetFaulted
         {
             add
             {
-                if (_widgetUpdatePeriodChangedEventHandler == null)
+                if (_widgetFaultedEventHandler == null)
                 {
-                    _widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
-                    WidgetUpdatePeriodChangedSignal().Connect(_widgetUpdatePeriodChangedEventCallback);
+                    _widgetFaultedEventCallback = OnWidgetFaulted;
+                    WidgetFaultedSignal().Connect(_widgetFaultedEventCallback);
                 }
 
-                _widgetUpdatePeriodChangedEventHandler += value;
+                _widgetFaultedEventHandler += value;
             }
 
             remove
             {
-                _widgetUpdatePeriodChangedEventHandler -= value;
+                _widgetFaultedEventHandler -= value;
 
-                if (_widgetUpdatePeriodChangedEventHandler == null && WidgetUpdatePeriodChangedSignal().Empty() == false)
+                if (_widgetFaultedEventHandler == null && WidgetFaultedSignal().Empty() == false)
                 {
-                    WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+                    WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
                 }
             }
         }
 
-        // Callback for WidgetView WidgetUpdatePeriodChanged signal
-        private void OnWidgetUpdatePeriodChanged(IntPtr data)
+        /// <summary>
+        /// Gets the ID of the widget.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string WidgetID
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                string temp;
+                GetProperty(WidgetView.Property.WIDGET_ID).Get(out temp);
+                return temp;
             }
+        }
 
-            if (_widgetUpdatePeriodChangedEventHandler != null)
+        /// <summary>
+        /// Gets the ID of the instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string InstanceID
+        {
+            get
             {
-                _widgetUpdatePeriodChangedEventHandler(this, e);
+                string temp;
+                GetProperty(WidgetView.Property.INSTANCE_ID).Get(out temp);
+                return temp;
             }
         }
 
-        private EventHandler<WidgetViewEventArgs> _widgetFaultedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetFaultedEventCallbackType(IntPtr data);
-        private WidgetFaultedEventCallbackType _widgetFaultedEventCallback;
+        /// <summary>
+        /// Gets the content info.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string ContentInfo
+        {
+            get
+            {
+                string temp;
+                GetProperty(WidgetView.Property.CONTENT_INFO).Get(out temp);
+                return temp;
+            }
+        }
 
         /// <summary>
-        /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
-        /// This signal is emitted after all resources required by a control are loaded and ready.<br />
-        /// Most resources are only loaded when the control is placed on the stage.<br />
+        /// Gets the title.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetFaulted
+        public string Title
         {
-            add
+            get
             {
-                if (_widgetFaultedEventHandler == null)
-                {
-                    _widgetFaultedEventCallback = OnWidgetFaulted;
-                    WidgetFaultedSignal().Connect(_widgetFaultedEventCallback);
-                }
+                string temp;
+                GetProperty(WidgetView.Property.TITLE).Get(out temp);
+                return temp;
+            }
+        }
 
-                _widgetFaultedEventHandler += value;
+        /// <summary>
+        /// Gets the update peroid.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float UpdatePeriod
+        {
+            get
+            {
+                float temp;
+                GetProperty(WidgetView.Property.UPDATE_PERIOD).Get(out temp);
+                return temp;
             }
+        }
 
-            remove
+        /// <summary>
+        /// Gets or sets the preview.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Preview
+        {
+            get
             {
-                _widgetFaultedEventHandler -= value;
+                bool temp;
+                GetProperty(WidgetView.Property.PREVIEW).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.PREVIEW, new Tizen.NUI.PropertyValue(value));
+            }
+        }
 
-                if (_widgetFaultedEventHandler == null && WidgetFaultedSignal().Empty() == false)
-                {
-                    WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
-                }
+        /// <summary>
+        /// Gets or sets the loading text.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool LoadingText
+        {
+            get
+            {
+                bool temp;
+                GetProperty(WidgetView.Property.LOADING_TEXT).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.LOADING_TEXT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        // Callback for WidgetView WidgetFaulted signal
-        private void OnWidgetFaulted(IntPtr data)
+        /// <summary>
+        /// Gets or sets whether the widget state is faulted or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool WidgetStateFaulted
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                bool temp;
+                GetProperty(WidgetView.Property.WIDGET_STATE_FAULTED).Get(out temp);
+                return temp;
             }
+            set
+            {
+                SetProperty(WidgetView.Property.WIDGET_STATE_FAULTED, new Tizen.NUI.PropertyValue(value));
+            }
+        }
 
-            if (_widgetFaultedEventHandler != null)
+        /// <summary>
+        /// Gets or sets whether the widget is to delete permanently or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool PermanentDelete
+        {
+            get
             {
-                _widgetFaultedEventHandler(this, e);
+                bool temp;
+                GetProperty(WidgetView.Property.PERMANENT_DELETE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.PERMANENT_DELETE, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets retry text.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyMap RetryText
+        {
+            get
+            {
+                PropertyMap temp = new PropertyMap();
+                GetProperty(WidgetView.Property.RETRY_TEXT).Get(temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.RETRY_TEXT, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets effect.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyMap Effect
+        {
+            get
+            {
+                PropertyMap temp = new PropertyMap();
+                GetProperty(WidgetView.Property.EFFECT).Get(temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.EFFECT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
@@ -518,7 +468,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Cancels the touch event procedure.
         /// If you call this function after feed the touch down event, the widget will get ON_HOLD events.
-       ///  If a widget gets ON_HOLD event, it will not do anything even if you feed touch up event.
+        ///  If a widget gets ON_HOLD event, it will not do anything even if you feed touch up event.
         /// </summary>
         /// <returns>True on success, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
@@ -552,6 +502,32 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal static WidgetView DownCast(BaseHandle handle)
+        {
+            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static WidgetView GetWidgetViewFromPtr(global::System.IntPtr cPtr)
+        {
+            WidgetView ret = new WidgetView(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetView obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        internal WidgetView Assign(WidgetView handle)
+        {
+            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_Assign(swigCPtr, WidgetView.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal WidgetViewSignal WidgetAddedSignal()
         {
             WidgetViewSignal ret = new WidgetViewSignal(NDalicManualPINVOKE.WidgetView_WidgetAddedSignal(swigCPtr), false);
@@ -595,183 +571,202 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the ID of the widget.
+        /// To make the Button instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string WidgetID
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                string temp;
-                GetProperty(WidgetView.Property.WIDGET_ID).Get(out temp);
-                return temp;
+                return;
             }
-        }
 
-        /// <summary>
-        /// Gets the ID of the instance.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string InstanceID
-        {
-            get
+            if (type == DisposeTypes.Explicit)
             {
-                string temp;
-                GetProperty(WidgetView.Property.INSTANCE_ID).Get(out temp);
-                return temp;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-        }
 
-        /// <summary>
-        /// Gets the content info.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string ContentInfo
-        {
-            get
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (_widgetAddedEventCallback != null)
             {
-                string temp;
-                GetProperty(WidgetView.Property.CONTENT_INFO).Get(out temp);
-                return temp;
+                this.WidgetAddedSignal().Disconnect(_widgetAddedEventCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets the title.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Title
-        {
-            get
+            if (_widgetContentUpdatedEventCallback != null)
             {
-                string temp;
-                GetProperty(WidgetView.Property.TITLE).Get(out temp);
-                return temp;
+                this.WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
             }
+
+            if (_widgetCreationAbortedEventCallback != null)
+            {
+                this.WidgetCreationAbortedSignal().Disconnect(_widgetCreationAbortedEventCallback);
+            }
+
+            if (_widgetDeletedEventCallback != null)
+            {
+                this.WidgetDeletedSignal().Disconnect(_widgetDeletedEventCallback);
+            }
+
+            if (_widgetFaultedEventCallback != null)
+            {
+                this.WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
+            }
+
+            if (_widgetUpdatePeriodChangedEventCallback != null)
+            {
+                this.WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_WidgetView(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// Gets the update peroid.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float UpdatePeriod
+
+        // Callback for WidgetView WidgetAdded signal
+        private void OnWidgetAdded(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                float temp;
-                GetProperty(WidgetView.Property.UPDATE_PERIOD).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+            }
+
+            if (_widgetAddedEventHandler != null)
+            {
+                _widgetAddedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets the preview.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Preview
+        // Callback for WidgetView WidgetDeleted signal
+        private void OnWidgetDeleted(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.PREVIEW).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetDeletedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.PREVIEW, new Tizen.NUI.PropertyValue(value));
+                _widgetDeletedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets the loading text.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool LoadingText
+        // Callback for WidgetView WidgetCreationAborted signal
+        private void OnWidgetCreationAborted(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.LOADING_TEXT).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetCreationAbortedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.LOADING_TEXT, new Tizen.NUI.PropertyValue(value));
+                _widgetCreationAbortedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets whether the widget state is faulted or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool WidgetStateFaulted
+
+
+        // Callback for WidgetView WidgetContentUpdated signal
+        private void OnWidgetContentUpdated(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.WIDGET_STATE_FAULTED).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetContentUpdatedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.WIDGET_STATE_FAULTED, new Tizen.NUI.PropertyValue(value));
+                _widgetContentUpdatedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets whether the widget is to delete permanently or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool PermanentDelete
+        // Callback for WidgetView WidgetUpdatePeriodChanged signal
+        private void OnWidgetUpdatePeriodChanged(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.PERMANENT_DELETE).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetUpdatePeriodChangedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.PERMANENT_DELETE, new Tizen.NUI.PropertyValue(value));
+                _widgetUpdatePeriodChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets retry text.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyMap RetryText
+        // Callback for WidgetView WidgetFaulted signal
+        private void OnWidgetFaulted(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(WidgetView.Property.RETRY_TEXT).Get(temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetFaultedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.RETRY_TEXT, new Tizen.NUI.PropertyValue(value));
+                _widgetFaultedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// Gets or sets effect.
+        /// Event arguments of the widget view.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyMap Effect
+        /// <since_tizen> 3 </since_tizen>
+        public class WidgetViewEventArgs : EventArgs
         {
-            get
-            {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(WidgetView.Property.EFFECT).Get(temp);
-                return temp;
-            }
-            set
+            private WidgetView _widgetView;
+
+            /// <summary>
+            /// The widet view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public WidgetView WidgetView
             {
-                SetProperty(WidgetView.Property.EFFECT, new Tizen.NUI.PropertyValue(value));
+                get
+                {
+                    return _widgetView;
+                }
+                set
+                {
+                    _widgetView = value;
+                }
             }
         }
 
+        internal new class Property
+        {
+            internal static readonly int WIDGET_ID = NDalicManualPINVOKE.WidgetView_Property_WIDGET_ID_get();
+            internal static readonly int INSTANCE_ID = NDalicManualPINVOKE.WidgetView_Property_INSTANCE_ID_get();
+            internal static readonly int CONTENT_INFO = NDalicManualPINVOKE.WidgetView_Property_CONTENT_INFO_get();
+            internal static readonly int TITLE = NDalicManualPINVOKE.WidgetView_Property_TITLE_get();
+            internal static readonly int UPDATE_PERIOD = NDalicManualPINVOKE.WidgetView_Property_UPDATE_PERIOD_get();
+            internal static readonly int PREVIEW = NDalicManualPINVOKE.WidgetView_Property_PREVIEW_get();
+            internal static readonly int LOADING_TEXT = NDalicManualPINVOKE.WidgetView_Property_LOADING_TEXT_get();
+            internal static readonly int WIDGET_STATE_FAULTED = NDalicManualPINVOKE.WidgetView_Property_WIDGET_STATE_FAULTED_get();
+            internal static readonly int PERMANENT_DELETE = NDalicManualPINVOKE.WidgetView_Property_PERMANENT_DELETE_get();
+            internal static readonly int RETRY_TEXT = NDalicManualPINVOKE.WidgetView_Property_RETRY_TEXT_get();
+            internal static readonly int EFFECT = NDalicManualPINVOKE.WidgetView_Property_EFFECT_get();
+        }
     }
 
 }
index 85247d5..f7899eb 100755 (executable)
@@ -37,28 +37,72 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        /// <summary>
+        /// Creates a new widgetView manager object.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public WidgetViewManager(NUIApplication nuiApplication, string appId) : this(NDalicManualPINVOKE.WidgetViewManager_New(Application.getCPtr(nuiApplication.ApplicationHandle), appId), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
         internal WidgetViewManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetViewManager_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        /// <summary>
+        /// Creates a new widget view object.
+        /// </summary>
+        /// <param name="widgetId">The widget ID.</param>
+        /// <param name="contentInfo">Contents that will be given to the widget instance.</param>
+        /// <param name="width">The widget width.</param>
+        /// <param name="height">The widget height.</param>
+        /// <param name="updatePeriod">The period of updating contents of the widget.</param>
+        /// <returns>A handle to WidgetView.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public WidgetView AddWidget(string widgetId, string contentInfo, int width, int height, float updatePeriod)
+        {
+            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetViewManager_AddWidget(swigCPtr, widgetId, contentInfo, width, height, updatePeriod), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetViewManager obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        internal static WidgetViewManager DownCast(BaseHandle handle)
+        {
+            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal WidgetViewManager(WidgetViewManager handle) : this(NDalicManualPINVOKE.new_WidgetViewManager__SWIG_1(WidgetViewManager.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal WidgetViewManager Assign(WidgetViewManager handle)
+        {
+            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_Assign(swigCPtr, WidgetViewManager.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// To make WidgetViewManager instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected override void Dispose(DisposeTypes type)
         {
-            if(disposed)
+            if (disposed)
             {
                 return;
             }
 
-            if(type == DisposeTypes.Explicit)
+            if (type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -80,51 +124,6 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        /// <summary>
-        /// Creates a new widgetView manager object.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public WidgetViewManager(NUIApplication nuiApplication, string appId) : this(NDalicManualPINVOKE.WidgetViewManager_New(Application.getCPtr(nuiApplication.ApplicationHandle), appId), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static WidgetViewManager DownCast(BaseHandle handle)
-        {
-            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal WidgetViewManager(WidgetViewManager handle) : this(NDalicManualPINVOKE.new_WidgetViewManager__SWIG_1(WidgetViewManager.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal WidgetViewManager Assign(WidgetViewManager handle)
-        {
-            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_Assign(swigCPtr, WidgetViewManager.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Creates a new widget view object.
-        /// </summary>
-        /// <param name="widgetId">The widget ID.</param>
-        /// <param name="contentInfo">Contents that will be given to the widget instance.</param>
-        /// <param name="width">The widget width.</param>
-        /// <param name="height">The widget height.</param>
-        /// <param name="updatePeriod">The period of updating contents of the widget.</param>
-        /// <returns>A handle to WidgetView.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public WidgetView AddWidget(string widgetId, string contentInfo, int width, int height, float updatePeriod)
-        {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetViewManager_AddWidget(swigCPtr, widgetId, contentInfo, width, height, updatePeriod), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
     }
 
 }
\ No newline at end of file
index 3a8a2b2..e87a41c 100755 (executable)
@@ -34,15 +34,24 @@ namespace Tizen.NUI
         private readonly global::System.Runtime.InteropServices.HandleRef rootLayoutCPtr;
         private Layer _rootLayer;
         private string _windowTitle;
+        private readonly LayoutItem rootLayoutItem;
 
         private List<Layer> _childLayers = new List<Layer>();
-        internal List<Layer> LayersChildren
-        {
-            get
-            {
-                return _childLayers;
-            }
-        }
+        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
+        private RootLayerTouchDataCallbackType _rootLayerTouchDataCallback;
+        private WheelEventCallbackType _wheelEventCallback;
+        private EventCallbackDelegateType1 _stageKeyCallbackDelegate;
+        private EventCallbackDelegateType0 _stageEventProcessingFinishedEventCallbackDelegate;
+        private EventHandler _stageContextLostEventHandler;
+        private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
+        private EventHandler _stageContextRegainedEventHandler;
+        private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
+        private EventHandler _stageSceneCreatedEventHandler;
+        private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
+        private WindowResizedEventCallbackType _windowResizedEventCallback;
+        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback2;
+
+        private static readonly Window instance = Application.Instance.GetWindow();
 
         internal Window(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Window_SWIGUpcast(cPtr), cMemoryOwn)
         {
@@ -59,185 +68,388 @@ namespace Tizen.NUI
                 Layer rootLayer = GetRootLayer();
                 // Add the root layout created above to the root layer.
                 NDalicPINVOKE.Actor_Add(  Layer.getCPtr(rootLayer), rootLayoutCPtr );
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                global::System.IntPtr rootControlLayoutIntPtr = Tizen.NUI.NDalicManualPINVOKE.GetLayout__SWIG_1(rootLayoutCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                rootLayoutItem = new LayoutItem(rootControlLayoutIntPtr, true);
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
+        internal Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static Window GetCurrent()
+        internal Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true)
         {
-            Window ret = new Window(NDalicPINVOKE.Stage_GetCurrent(), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal static bool IsInstalled()
+        internal Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
         {
-            bool ret = NDalicPINVOKE.Stage_IsInstalled();
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Sets whether the window accepts a focus or not.
-        /// </summary>
-        /// <param name="accept">If a focus is accepted or not. The default is true.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetAcceptFocus(bool accept)
+        internal Window(Rectangle windowPosition, string name, string className) : this(NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true)
         {
-            NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool RootLayerTouchDataCallbackType(IntPtr view, IntPtr touchData);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowResizedEventCallbackType(IntPtr windowSize);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowFocusChangedEventCallbackType2(bool focusGained);
+
         /// <summary>
-        /// Returns whether the window accepts a focus or not.
+        /// FocusChanged event.
         /// </summary>
-        /// <returns>True if the window accepts a focus, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsFocusAcceptable()
+        public event EventHandler<FocusChangedEventArgs> FocusChanged
         {
-            bool ret = NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            add
+            {
+                if (_windowFocusChangedEventHandler == null)
+                {
+                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
+                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
+                }
 
-            return ret;
-        }
+                _windowFocusChangedEventHandler += value;
+            }
+            remove
+            {
+                _windowFocusChangedEventHandler -= value;
 
-        /// <summary>
-        /// Shows the window if it is hidden.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Show()
-        {
-            NDalicPINVOKE.Show(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback != null)
+                {
+                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
+                }
+            }
         }
 
         /// <summary>
-        /// Hides the window if it is showing.
+        /// This event is emitted when the screen is touched and when the touch ends.<br />
+        /// If there are multiple touch points, then this will be emitted when the first touch occurs and
+        /// then when the last finger is lifted.<br />
+        /// An interrupted event will also be emitted (if it occurs).<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Hide()
+        public event EventHandler<TouchEventArgs> TouchEvent
         {
-            NDalicPINVOKE.Hide(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            add
+            {
+                if (_rootLayerTouchDataEventHandler == null)
+                {
+                    _rootLayerTouchDataCallback = OnWindowTouch;
+                    this.TouchDataSignal().Connect(_rootLayerTouchDataCallback);
+                }
+                _rootLayerTouchDataEventHandler += value;
+            }
+            remove
+            {
+                _rootLayerTouchDataEventHandler -= value;
+                if (_rootLayerTouchDataEventHandler == null && TouchSignal().Empty() == false)
+                {
+                    this.TouchDataSignal().Disconnect(_rootLayerTouchDataCallback);
+                }
+            }
         }
 
         /// <summary>
-        /// Retrieves whether the window is visible or not.
+        /// This event is emitted when the wheel event is received.
         /// </summary>
-        /// <returns>True if the window is visible.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsVisible()
+        public event EventHandler<WheelEventArgs> WheelEvent
         {
-            bool temp = NDalicPINVOKE.IsVisible(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return temp;
+            add
+            {
+                if (_stageWheelHandler == null)
+                {
+                    _wheelEventCallback = OnStageWheel;
+                    this.StageWheelEventSignal().Connect(_wheelEventCallback);
+                }
+                _stageWheelHandler += value;
+            }
+            remove
+            {
+                _stageWheelHandler -= value;
+                if (_stageWheelHandler == null && StageWheelEventSignal().Empty() == false)
+                {
+                    this.StageWheelEventSignal().Disconnect(_wheelEventCallback);
+                }
+            }
         }
 
         /// <summary>
-        /// Gets the count of supported auxiliary hints of the window.
+        /// This event is emitted when the key event is received.
         /// </summary>
-        /// <returns>The number of supported auxiliary hints.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public uint GetSupportedAuxiliaryHintCount()
+        public event EventHandler<KeyEventArgs> KeyEvent
         {
-            uint ret = NDalicPINVOKE.GetSupportedAuxiliaryHintCount(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            add
+            {
+                if (_stageKeyHandler == null)
+                {
+                    _stageKeyCallbackDelegate = OnStageKey;
+                    KeyEventSignal().Connect(_stageKeyCallbackDelegate);
+                }
+                _stageKeyHandler += value;
+            }
+            remove
+            {
+                _stageKeyHandler -= value;
+                if (_stageKeyHandler == null && KeyEventSignal().Empty() == false)
+                {
+                    KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
+                }
+            }
         }
 
         /// <summary>
-        /// Gets the supported auxiliary hint string of the window.
+        /// This event is emitted when the window resized.
         /// </summary>
-        /// <param name="index">The index of the supported auxiliary hint lists.</param>
-        /// <returns>The auxiliary hint string of the index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public string GetSupportedAuxiliaryHint(uint index)
+        public event EventHandler<ResizedEventArgs> Resized
         {
-            string ret = NDalicPINVOKE.GetSupportedAuxiliaryHint(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            add
+            {
+                if (_windowResizedEventHandler == null)
+                {
+                    _windowResizedEventCallback = OnResized;
+                    ResizedSignal().Connect(_windowResizedEventCallback);
+                }
 
-        /// <summary>
-        /// Creates an auxiliary hint of the window.
-        /// </summary>
-        /// <param name="hint">The auxiliary hint string.</param>
-        /// <param name="value">The value string.</param>
-        /// <returns>The ID of created auxiliary hint, or 0 on failure.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint AddAuxiliaryHint(string hint, string value)
-        {
-            uint ret = NDalicPINVOKE.AddAuxiliaryHint(swigCPtr, hint, value);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+                _windowResizedEventHandler += value;
+            }
+            remove
+            {
+                _windowResizedEventHandler -= value;
 
-        /// <summary>
-        /// Removes an auxiliary hint of the window.
-        /// </summary>
-        /// <param name="id">The ID of the auxiliary hint.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool RemoveAuxiliaryHint(uint id)
-        {
-            bool ret = NDalicPINVOKE.RemoveAuxiliaryHint(swigCPtr, id);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+                if (_windowResizedEventHandler == null && ResizedSignal().Empty() == false && _windowResizedEventCallback != null)
+                {
+                    ResizedSignal().Disconnect(_windowResizedEventCallback);
+                }
+            }
         }
 
         /// <summary>
-        /// Changes a value of the auxiliary hint.
+        /// Please do not use! this will be deprecated. Please use 'FocusChanged' event instead.
         /// </summary>
-        /// <param name="id">The auxiliary hint ID.</param>
-        /// <param name="value">The value string to be set.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool SetAuxiliaryHintValue(uint id, string value)
+        /// Please do not use! this will be deprecated!
+        /// Instead please use FocusChanged.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusChanged instead! " +
+            "Like: " +
+            "Window.Instance.FocusChanged = OnFocusChanged; " +
+            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler<FocusChangedEventArgs> WindowFocusChanged
         {
-            bool ret = NDalicPINVOKE.SetAuxiliaryHintValue(swigCPtr, id, value);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            add
+            {
+                if (_windowFocusChangedEventHandler2 == null)
+                {
+                    _windowFocusChangedEventCallback2 = OnWindowFocusedChanged2;
+                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback2);
+                }
+
+                _windowFocusChangedEventHandler2 += value;
+            }
+            remove
+            {
+                _windowFocusChangedEventHandler2 -= value;
+
+                if (_windowFocusChangedEventHandler2 == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback2 != null)
+                {
+                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback2);
+                }
+            }
         }
 
-        /// <summary>
-        /// Gets a value of the auxiliary hint.
+        internal event EventHandler EventProcessingFinished
+        {
+            add
+            {
+                if (_stageEventProcessingFinishedEventHandler == null)
+                {
+                    _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
+                    EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
+                }
+                _stageEventProcessingFinishedEventHandler += value;
+
+            }
+            remove
+            {
+                _stageEventProcessingFinishedEventHandler -= value;
+                if (_stageEventProcessingFinishedEventHandler == null && EventProcessingFinishedSignal().Empty() == false)
+                {
+                    EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
+                }
+            }
+        }
+
+        internal event EventHandler ContextLost
+        {
+            add
+            {
+                if (_stageContextLostEventHandler == null)
+                {
+                    _stageContextLostEventCallbackDelegate = OnContextLost;
+                    ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
+                }
+                _stageContextLostEventHandler += value;
+            }
+            remove
+            {
+                _stageContextLostEventHandler -= value;
+                if (_stageContextLostEventHandler == null && ContextLostSignal().Empty() == false)
+                {
+                    ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
+                }
+            }
+        }
+
+        internal event EventHandler ContextRegained
+        {
+            add
+            {
+                if (_stageContextRegainedEventHandler == null)
+                {
+                    _stageContextRegainedEventCallbackDelegate = OnContextRegained;
+                    ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
+                }
+                _stageContextRegainedEventHandler += value;
+            }
+            remove
+            {
+                _stageContextRegainedEventHandler -= value;
+                if (_stageContextRegainedEventHandler == null && ContextRegainedSignal().Empty() == false)
+                {
+                    this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
+                }
+            }
+        }
+
+        internal event EventHandler SceneCreated
+        {
+            add
+            {
+                if (_stageSceneCreatedEventHandler == null)
+                {
+                    _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
+                    SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
+                }
+                _stageSceneCreatedEventHandler += value;
+            }
+            remove
+            {
+                _stageSceneCreatedEventHandler -= value;
+                if (_stageSceneCreatedEventHandler == null && SceneCreatedSignal().Empty() == false)
+                {
+                    SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
+                }
+            }
+        }
+
+        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler;
+        private event EventHandler<TouchEventArgs> _rootLayerTouchDataEventHandler;
+        private event EventHandler<WheelEventArgs> _stageWheelHandler;
+        private event EventHandler<KeyEventArgs> _stageKeyHandler;
+        private event EventHandler _stageEventProcessingFinishedEventHandler;
+        private event EventHandler<ResizedEventArgs> _windowResizedEventHandler;
+        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler2;
+
+        /// <summary>
+        /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
         /// </summary>
-        /// <param name="id">The auxiliary hint ID.</param>
-        /// <returns>The string value of the auxiliary hint ID, or an empty string if none exists.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public string GetAuxiliaryHintValue(uint id)
+        public enum WindowOrientation
         {
-            string ret = NDalicPINVOKE.GetAuxiliaryHintValue(swigCPtr, id);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Portrait orientation. The height of the display area is greater than the width.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Portrait = 0,
+            /// <summary>
+            /// Landscape orientation. A wide view area is needed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Landscape = 90,
+            /// <summary>
+            /// Portrait inverse orientation.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            PortraitInverse = 180,
+            /// <summary>
+            /// Landscape inverse orientation.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            LandscapeInverse = 270
         }
 
         /// <summary>
-        /// Gets an ID of the auxiliary hint string.
+        /// Enumeration for the key grab mode for platform-level APIs.
         /// </summary>
-        /// <param name="hint">The auxiliary hint string.</param>
-        /// <returns>The ID of auxiliary hint string, or 0 on failure.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public uint GetAuxiliaryHintId(string hint)
+        public enum KeyGrabMode
         {
-            uint ret = NDalicPINVOKE.GetAuxiliaryHintId(swigCPtr, hint);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Grabs a key only when on the top of the grabbing-window stack mode.
+            /// </summary>
+            Topmost = 0,
+            /// <summary>
+            /// Grabs a key together with the other client window(s) mode.
+            /// </summary>
+            Shared,
+            /// <summary>
+            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack with the possibility of overriding the grab by the other client window mode.
+            /// </summary>
+            OverrideExclusive,
+            /// <summary>
+            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack mode.
+            /// </summary>
+            Exclusive
+        };
+
+        /// <summary>
+        /// Enumeration for opacity of the indicator.
+        /// </summary>
+        internal enum IndicatorBackgroundOpacity
+        {
+            Opaque = 100,
+            Translucent = 50,
+            Transparent = 0
         }
 
         /// <summary>
-        /// Sets a region to accept input events.
+        /// Enumeration for visible mode of the indicator.
+        /// </summary>
+        internal enum IndicatorVisibleMode
+        {
+            Invisible = 0,
+            Visible = 1,
+            Auto = 2
+        }
+
+        /// <summary>
+        /// The stage instance property (read-only).<br />
+        /// Gets the current window.<br />
         /// </summary>
-        /// <param name="inputRegion">The region to accept input events.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetInputRegion(Rectangle inputRegion)
+        public static Window Instance
         {
-            NDalicPINVOKE.SetInputRegion(swigCPtr, Rectangle.getCPtr(inputRegion));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return instance;
+            }
         }
 
         /// <summary>
@@ -260,412 +472,505 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets a priority level for the specified notification window.
+        /// Gets/Sets a window title.
         /// </summary>
-        /// <param name="level">The notification window level.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool SetNotificationLevel(NotificationLevel level)
+        /// <since_tizen> 4 </since_tizen>
+        public string Title
         {
-            bool ret = NDalicPINVOKE.SetNotificationLevel(swigCPtr, (int)level);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return _windowTitle;
+            }
+            set
+            {
+                _windowTitle = value;
+                SetClass(_windowTitle, "");
+            }
         }
 
         /// <summary>
-        /// Gets a priority level for the specified notification window.
+        /// The rendering behavior of a Window.
         /// </summary>
-        /// <returns>The notification window level.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public NotificationLevel GetNotificationLevel()
+        /// <since_tizen> 5 </since_tizen>
+        public RenderingBehaviorType RenderingBehavior
         {
-            NotificationLevel ret = (NotificationLevel)NDalicPINVOKE.GetNotificationLevel(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetRenderingBehavior();
+            }
+            set
+            {
+                SetRenderingBehavior(value);
+            }
         }
 
         /// <summary>
-        /// Sets a transparent window's visual state to opaque. <br />
-        /// If a visual state of a transparent window is opaque, <br />
-        /// then the window manager could handle it as an opaque window when calculating visibility.
+        /// The window size property (read-only).
         /// </summary>
-        /// <param name="opaque">Whether the window's visual state is opaque.</param>
-        /// <remarks>This will have no effect on an opaque window. <br />
-        /// It doesn't change transparent window to opaque window but lets the window manager know the visual state of the window.
-        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public void SetOpaqueState(bool opaque)
+        public Size2D Size
         {
-            NDalicPINVOKE.SetOpaqueState(swigCPtr, opaque);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                Size2D ret = GetSize();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// Returns whether a transparent window's visual state is opaque or not.
+        /// The background color property.
         /// </summary>
-        /// <returns>True if the window's visual state is opaque, false otherwise.</returns>
-        /// <remarks> The return value has no meaning on an opaque window. </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsOpaqueState()
+        public Color BackgroundColor
         {
-            bool ret = NDalicPINVOKE.IsOpaqueState(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                SetBackgroundColor(value);
+            }
+            get
+            {
+                Color ret = GetBackgroundColor();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// Sets a window's screen off mode.
+        /// The DPI property (read-only).<br />
+        /// Retrieves the DPI of the display device to which the Window is connected.<br />
         /// </summary>
-        /// <param name="screenOffMode">The screen mode.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool SetScreenOffMode(ScreenOffMode screenOffMode)
-        {
-            bool ret = NDalicPINVOKE.SetScreenOffMode(swigCPtr, (int)screenOffMode);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Gets the screen mode of the window.
-        /// </summary>
-        /// <returns>The screen off mode.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public ScreenOffMode GetScreenOffMode()
-        {
-            ScreenOffMode ret = (ScreenOffMode)NDalicPINVOKE.GetScreenOffMode(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets preferred brightness of the window.
-        /// </summary>
-        /// <param name="brightness">The preferred brightness (0 to 100).</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool SetBrightness(int brightness)
+        public Vector2 Dpi
         {
-            bool ret = NDalicPINVOKE.SetBrightness(swigCPtr, brightness);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetDpi();
+            }
         }
 
         /// <summary>
-        /// Gets the preferred brightness of the window.
+        /// The layer count property (read-only).<br />
+        /// Queries the number of on-Window layers.<br />
         /// </summary>
-        /// <returns>The preferred brightness.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public int GetBrightness()
+        public uint LayerCount
         {
-            int ret = NDalicPINVOKE.GetBrightness(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetLayerCount();
+            }
         }
 
         /// <summary>
-        /// The focus changed event argument.
+        /// Gets or sets a size of the window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class FocusChangedEventArgs : EventArgs
+        /// <since_tizen> 4 </since_tizen>
+        public Size2D WindowSize
         {
-            /// <summary>
-            /// FocusGained flag.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public bool FocusGained
+            get
             {
-                get;
-                set;
+                return GetWindowSize();
+            }
+            set
+            {
+                SetWindowSize(value);
             }
         }
 
-        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
-        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler;
-
         /// <summary>
-        /// FocusChanged event.
+        /// Gets or sets a position of the window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<FocusChangedEventArgs> FocusChanged
+        /// <since_tizen> 4 </since_tizen>
+        public Position2D WindowPosition
         {
-            add
+            get
             {
-                if (_windowFocusChangedEventHandler == null)
-                {
-                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
-                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
-                }
-
-                _windowFocusChangedEventHandler += value;
+                return GetPosition();
             }
-            remove
+            set
             {
-                _windowFocusChangedEventHandler -= value;
-
-                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback != null)
-                {
-                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
-                }
+                SetPosition(value);
             }
         }
-
-        private void OnWindowFocusedChanged(bool focusGained)
+        internal static Vector4 DEFAULT_BACKGROUND_COLOR
         {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.FocusGained = focusGained;
-
-            if (_windowFocusChangedEventHandler != null)
+            get
             {
-                _windowFocusChangedEventHandler(this, e);
+                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEFAULT_BACKGROUND_COLOR_get();
+                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        /// <summary>
-        /// Gets/Sets a window title.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public string Title
+        internal static Vector4 DEBUG_BACKGROUND_COLOR
         {
             get
             {
-                return _windowTitle;
-            }
-            set
-            {
-                _windowTitle = value;
-                SetClass(_windowTitle, "");
+                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEBUG_BACKGROUND_COLOR_get();
+                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        /// <summary>
-        /// The rendering behavior of a Window.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public RenderingBehaviorType RenderingBehavior
+        internal List<Layer> LayersChildren
         {
             get
             {
-                return GetRenderingBehavior();
-            }
-            set
-            {
-                SetRenderingBehavior(value);
+                return _childLayers;
             }
         }
 
-        internal WindowFocusSignalType WindowFocusChangedSignal()
+        /// <summary>
+        /// Feed a key-event into the window.
+        /// </summary>
+        /// <param name="keyEvent">The key event to feed.</param>
+        /// <since_tizen> 4 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use FeedKey(Key keyEvent) instead!")]
+        public static void FeedKeyEvent(Key keyEvent)
         {
-            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
+        /// <summary>
+        /// Sets whether the window accepts a focus or not.
+        /// </summary>
+        /// <param name="accept">If a focus is accepted or not. The default is true.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetAcceptFocus(bool accept)
         {
+            NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true)
+        /// <summary>
+        /// Returns whether the window accepts a focus or not.
+        /// </summary>
+        /// <returns>True if the window accepts a focus, false otherwise.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsFocusAcceptable()
         {
+            bool ret = NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            return ret;
         }
 
-        internal Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
+        /// <summary>
+        /// Shows the window if it is hidden.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Show()
         {
+            NDalicPINVOKE.Show(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Window(Rectangle windowPosition, string name, string className) : this(NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true)
+        /// <summary>
+        /// Hides the window if it is showing.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Hide()
         {
+            NDalicPINVOKE.Hide(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
+        /// <summary>
+        /// Retrieves whether the window is visible or not.
+        /// </summary>
+        /// <returns>True if the window is visible.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsVisible()
         {
-            NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
+            bool temp = NDalicPINVOKE.IsVisible(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return temp;
         }
 
-        internal void SetIndicatorBackgroundOpacity(Window.IndicatorBackgroundOpacity opacity)
+        /// <summary>
+        /// Gets the count of supported auxiliary hints of the window.
+        /// </summary>
+        /// <returns>The number of supported auxiliary hints.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint GetSupportedAuxiliaryHintCount()
         {
-            NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
+            uint ret = NDalicPINVOKE.GetSupportedAuxiliaryHintCount(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void RotateIndicator(Window.WindowOrientation orientation)
+        /// <summary>
+        /// Gets the supported auxiliary hint string of the window.
+        /// </summary>
+        /// <param name="index">The index of the supported auxiliary hint lists.</param>
+        /// <returns>The auxiliary hint string of the index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public string GetSupportedAuxiliaryHint(uint index)
         {
-            NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+            string ret = NDalicPINVOKE.GetSupportedAuxiliaryHint(swigCPtr, index);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Sets the window name and the class string.
+        /// Creates an auxiliary hint of the window.
         /// </summary>
-        /// <param name="name">The name of the window.</param>
-        /// <param name="klass">The class of the window.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void SetClass(string name, string klass)
+        /// <param name="hint">The auxiliary hint string.</param>
+        /// <param name="value">The value string.</param>
+        /// <returns>The ID of created auxiliary hint, or 0 on failure.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint AddAuxiliaryHint(string hint, string value)
         {
-            NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
+            uint ret = NDalicPINVOKE.AddAuxiliaryHint(swigCPtr, hint, value);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Raises the window to the top of the window stack.
+        /// Removes an auxiliary hint of the window.
         /// </summary>
+        /// <param name="id">The ID of the auxiliary hint.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public void Raise()
+        public bool RemoveAuxiliaryHint(uint id)
         {
-            NDalicPINVOKE.Window_Raise(swigCPtr);
+            bool ret = NDalicPINVOKE.RemoveAuxiliaryHint(swigCPtr, id);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Lowers the window to the bottom of the window stack.
+        /// Changes a value of the auxiliary hint.
         /// </summary>
+        /// <param name="id">The auxiliary hint ID.</param>
+        /// <param name="value">The value string to be set.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public void Lower()
+        public bool SetAuxiliaryHintValue(uint id, string value)
         {
-            NDalicPINVOKE.Window_Lower(swigCPtr);
+            bool ret = NDalicPINVOKE.SetAuxiliaryHintValue(swigCPtr, id, value);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Activates the window to the top of the window stack even it is iconified.
+        /// Gets a value of the auxiliary hint.
         /// </summary>
+        /// <param name="id">The auxiliary hint ID.</param>
+        /// <returns>The string value of the auxiliary hint ID, or an empty string if none exists.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public void Activate()
+        public string GetAuxiliaryHintValue(uint id)
         {
-            NDalicPINVOKE.Window_Activate(swigCPtr);
+            string ret = NDalicPINVOKE.GetAuxiliaryHintValue(swigCPtr, id);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void AddAvailableOrientation(Window.WindowOrientation orientation)
+        /// <summary>
+        /// Gets an ID of the auxiliary hint string.
+        /// </summary>
+        /// <param name="hint">The auxiliary hint string.</param>
+        /// <returns>The ID of auxiliary hint string, or 0 on failure.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint GetAuxiliaryHintId(string hint)
         {
-            NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
+            uint ret = NDalicPINVOKE.GetAuxiliaryHintId(swigCPtr, hint);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
+        /// <summary>
+        /// Sets a region to accept input events.
+        /// </summary>
+        /// <param name="inputRegion">The region to accept input events.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetInputRegion(Rectangle inputRegion)
         {
-            NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
+            NDalicPINVOKE.SetInputRegion(swigCPtr, Rectangle.getCPtr(inputRegion));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void SetPreferredOrientation(Window.WindowOrientation orientation)
+        /// <summary>
+        /// Sets a priority level for the specified notification window.
+        /// </summary>
+        /// <param name="level">The notification window level.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool SetNotificationLevel(NotificationLevel level)
         {
-            NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
+            bool ret = NDalicPINVOKE.SetNotificationLevel(swigCPtr, (int)level);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal Window.WindowOrientation GetPreferredOrientation()
+        /// <summary>
+        /// Gets a priority level for the specified notification window.
+        /// </summary>
+        /// <returns>The notification window level.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public NotificationLevel GetNotificationLevel()
         {
-            Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
+            NotificationLevel ret = (NotificationLevel)NDalicPINVOKE.GetNotificationLevel(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal DragAndDropDetector GetDragAndDropDetector()
+        /// <summary>
+        /// Sets a transparent window's visual state to opaque. <br />
+        /// If a visual state of a transparent window is opaque, <br />
+        /// then the window manager could handle it as an opaque window when calculating visibility.
+        /// </summary>
+        /// <param name="opaque">Whether the window's visual state is opaque.</param>
+        /// <remarks>This will have no effect on an opaque window. <br />
+        /// It doesn't change transparent window to opaque window but lets the window manager know the visual state of the window.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetOpaqueState(bool opaque)
         {
-            DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
+            NDalicPINVOKE.SetOpaqueState(swigCPtr, opaque);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Returns whether a transparent window's visual state is opaque or not.
+        /// </summary>
+        /// <returns>True if the window's visual state is opaque, false otherwise.</returns>
+        /// <remarks> The return value has no meaning on an opaque window. </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsOpaqueState()
+        {
+            bool ret = NDalicPINVOKE.IsOpaqueState(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal Any GetNativeHandle()
+        /// <summary>
+        /// Sets a window's screen off mode.
+        /// </summary>
+        /// <param name="screenOffMode">The screen mode.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool SetScreenOffMode(ScreenOffMode screenOffMode)
         {
-            Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
+            bool ret = NDalicPINVOKE.SetScreenOffMode(swigCPtr, (int)screenOffMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal WindowFocusSignalType FocusChangedSignal()
+        /// <summary>
+        /// Gets the screen mode of the window.
+        /// </summary>
+        /// <returns>The screen off mode.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public ScreenOffMode GetScreenOffMode()
         {
-            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+            ScreenOffMode ret = (ScreenOffMode)NDalicPINVOKE.GetScreenOffMode(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Gets the default ( root ) layer.
+        /// Sets preferred brightness of the window.
         /// </summary>
-        /// <returns>The root layer.</returns>
+        /// <param name="brightness">The preferred brightness (0 to 100).</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Layer GetDefaultLayer()
+        public bool SetBrightness(int brightness)
         {
-            return this.GetRootLayer();
+            bool ret = NDalicPINVOKE.SetBrightness(swigCPtr, brightness);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void Add(Layer layer)
+        /// <summary>
+        /// Gets the preferred brightness of the window.
+        /// </summary>
+        /// <returns>The preferred brightness.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public int GetBrightness()
         {
-            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
+            int ret = NDalicPINVOKE.GetBrightness(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            LayersChildren.Add(layer);
+            return ret;
         }
 
-        internal void Remove(Layer layer)
+        /// <summary>
+        /// Sets the window name and the class string.
+        /// </summary>
+        /// <param name="name">The name of the window.</param>
+        /// <param name="klass">The class of the window.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void SetClass(string name, string klass)
         {
-            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
+            NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            LayersChildren.Remove(layer);
         }
 
         /// <summary>
-        /// Add a child view to window.
+        /// Raises the window to the top of the window stack.
         /// </summary>
-        /// <param name="view">the child should be added to the window.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Add(View view)
+        public void Raise()
         {
-            NDalicPINVOKE.Actor_Add( rootLayoutCPtr, View.getCPtr(view) );
+            NDalicPINVOKE.Window_Raise(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            this.GetRootLayer().AddViewToLayerList(view); // Maintain the children list in the Layer
-            view.InternalParent = this.GetRootLayer();
         }
 
         /// <summary>
-        /// Remove a child view from window.
+        /// Lowers the window to the bottom of the window stack.
         /// </summary>
-        /// <param name="view">the child to be removed.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Remove(View view)
+        public void Lower()
         {
-            NDalicPINVOKE.Actor_Remove( rootLayoutCPtr, View.getCPtr(view) );
-            this.GetRootLayer().RemoveViewFromLayerList(view); // Maintain the children list in the Layer
-            view.InternalParent = null;
+            NDalicPINVOKE.Window_Lower(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector2 GetSize()
+        /// <summary>
+        /// Activates the window to the top of the window stack even it is iconified.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Activate()
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(stageCPtr), true);
+            NDalicPINVOKE.Window_Activate(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal RenderTaskList GetRenderTaskList()
+        /// <summary>
+        /// Gets the default ( root ) layer.
+        /// </summary>
+        /// <returns>The root layer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Layer GetDefaultLayer()
         {
-            RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(stageCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return this.GetRootLayer();
         }
 
         /// <summary>
-        /// Queries the number of on-window layers.
+        /// Add a child view to window.
         /// </summary>
-        /// <returns>The number of layers.</returns>
-        /// <remarks>Note that a default layer is always provided (count >= 1).</remarks>
-        internal uint GetLayerCount()
+        /// <param name="view">the child should be added to the window.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Add(View view)
         {
-            if (LayersChildren == null || LayersChildren.Count < 0)
-                return 0;
+            NDalicPINVOKE.Actor_Add(rootLayoutCPtr, View.getCPtr(view));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            this.GetRootLayer().AddViewToLayerList(view); // Maintain the children list in the Layer
+            view.InternalParent = this.GetRootLayer();
+        }
 
-            return (uint) LayersChildren.Count;
+        /// <summary>
+        /// Remove a child view from window.
+        /// </summary>
+        /// <param name="view">the child to be removed.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Remove(View view)
+        {
+            NDalicPINVOKE.Actor_Remove(rootLayoutCPtr, View.getCPtr(view));
+            this.GetRootLayer().RemoveViewFromLayerList(view); // Maintain the children list in the Layer
+            view.InternalParent = null;
         }
 
         /// <summary>
@@ -687,777 +992,396 @@ namespace Tizen.NUI
             }
         }
 
-        internal Layer GetRootLayer()
-        {
-            // Window.IsInstalled() is actually true only when called from event thread and
-            // Core has been initialized, not when Stage is ready.
-            if (_rootLayer == null && Window.IsInstalled())
-            {
-                _rootLayer = new Layer(NDalicPINVOKE.Stage_GetRootLayer(stageCPtr), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                LayersChildren.Add(_rootLayer);
-            }
-            return _rootLayer;
-        }
-
-        internal void SetBackgroundColor(Vector4 color)
+        /// <summary>
+        /// Keep rendering for at least the given amount of time.
+        /// </summary>
+        /// <param name="durationSeconds">Time to keep rendering, 0 means render at least one more frame.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void KeepRendering(float durationSeconds)
         {
-            NDalicPINVOKE.Stage_SetBackgroundColor(stageCPtr, Vector4.getCPtr(color));
+            NDalicPINVOKE.Stage_KeepRendering(stageCPtr, durationSeconds);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector4 GetBackgroundColor()
+        /// <summary>
+        /// Grabs the key specified by a key for a window only when a window is the topmost window.<br />
+        /// This function can be used for following example scenarios: <br />
+        /// - Mobile - Using volume up or down as zoom up or down in camera apps.<br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to grab.</param>
+        /// <returns>True if the grab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool GrabKeyTopmost(int DaliKey)
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.GrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal Vector2 GetDpi()
+        /// <summary>
+        /// Ungrabs the key specified by a key for the window.<br />
+        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event.<br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to ungrab.</param>
+        /// <returns>True if the ungrab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool UngrabKeyTopmost(int DaliKey)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.UngrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal ObjectRegistry GetObjectRegistry()
+        /// <summary>
+        ///  Grabs the key specified by a key for a window in a GrabMode. <br />
+        ///  Details: This function can be used for following example scenarios: <br />
+        ///  - TV - A user might want to change the volume or channel of the background TV contents while focusing on the foregrund app. <br />
+        ///  - Mobile - When a user presses the Home key, the homescreen appears regardless of the current foreground app. <br />
+        ///  - Mobile - Using the volume up or down as zoom up or down in camera apps. <br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to grab.</param>
+        /// <param name="GrabMode">The grab mode for the key.</param>
+        /// <returns>True if the grab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool GrabKey(int DaliKey, KeyGrabMode GrabMode)
         {
-            ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.GrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey, (int)GrabMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Keep rendering for at least the given amount of time.
+        /// Ungrabs the key specified by a key for a window.<br />
+        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event. <br />
         /// </summary>
-        /// <param name="durationSeconds">Time to keep rendering, 0 means render at least one more frame.</param>
+        /// <param name="DaliKey">The key code to ungrab.</param>
+        /// <returns>True if the ungrab succeeds.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public void KeepRendering(float durationSeconds)
+        public bool UngrabKey(int DaliKey)
         {
-            NDalicPINVOKE.Stage_KeepRendering(stageCPtr, durationSeconds);
+            bool ret = NDalicManualPINVOKE.UngrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void SetRenderingBehavior(RenderingBehaviorType renderingBehavior)
-        {
-            NDalicPINVOKE.Stage_SetRenderingBehavior(stageCPtr, (int)renderingBehavior);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal RenderingBehaviorType GetRenderingBehavior()
+        /// <summary>
+        /// Sets the keyboard repeat information.
+        /// </summary>
+        /// <param name="rate">The key repeat rate value in seconds.</param>
+        /// <param name="delay">The key repeat delay value in seconds.</param>
+        /// <returns>True if setting the keyboard repeat succeeds.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool SetKeyboardRepeatInfo(float rate, float delay)
         {
-            RenderingBehaviorType ret = (RenderingBehaviorType)NDalicPINVOKE.Stage_GetRenderingBehavior(stageCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            bool ret = NDalicManualPINVOKE.SetKeyboardRepeatInfo(rate, delay);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal KeyEventSignal KeyEventSignal()
+        /// <summary>
+        /// Gets the keyboard repeat information.
+        /// </summary>
+        /// <param name="rate">The key repeat rate value in seconds.</param>
+        /// <param name="delay">The key repeat delay value in seconds.</param>
+        /// <returns>True if setting the keyboard repeat succeeds.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool GetKeyboardRepeatInfo(out float rate, out float delay)
         {
-            KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(stageCPtr), false);
+            bool ret = NDalicManualPINVOKE.GetKeyboardRepeatInfo(out rate, out delay);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal VoidSignal EventProcessingFinishedSignal()
+        /// <summary>
+        /// Adds a layer to the stage.
+        /// </summary>
+        /// <param name="layer">Layer to add.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void AddLayer(Layer layer)
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(stageCPtr), false);
+            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Add(layer);
         }
 
-        internal TouchSignal TouchSignal()
+        /// <summary>
+        /// Removes a layer from the stage.
+        /// </summary>
+        /// <param name="layer">Layer to remove.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void RemoveLayer(Layer layer)
         {
-            TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(stageCPtr), false);
+            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Remove(layer);
         }
 
-        internal TouchDataSignal TouchDataSignal()
+        /// <summary>
+        /// Feeds a key event into the window.
+        /// </summary>
+        /// <param name="keyEvent">The key event to feed.</param>
+        /// <since_tizen> 5 </since_tizen>
+        public void FeedKey(Key keyEvent)
         {
-            TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(Layer.getCPtr(GetRootLayer())), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private StageWheelSignal WheelEventSignal()
+        /// <summary>
+        /// Allows at least one more render, even when paused.
+        /// The window should be shown, not minimised.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public void RenderOnce()
         {
-            StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(stageCPtr), false);
+            NDalicManualPINVOKE.Window_RenderOnce(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
-        private WheelSignal StageWheelEventSignal()
+        internal static Window GetCurrent()
         {
-            WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(Layer.getCPtr(this.GetRootLayer())), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            Window ret = new Window(NDalicPINVOKE.Stage_GetCurrent(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-
-        internal VoidSignal ContextLostSignal()
+        internal static bool IsInstalled()
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(stageCPtr), false);
+            bool ret = NDalicPINVOKE.Stage_IsInstalled();
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal VoidSignal ContextRegainedSignal()
+        internal WindowFocusSignalType WindowFocusChangedSignal()
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(stageCPtr), false);
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal VoidSignal SceneCreatedSignal()
+        internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(stageCPtr), false);
+            NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal ResizedSignal ResizedSignal()
+        internal void SetIndicatorBackgroundOpacity(Window.IndicatorBackgroundOpacity opacity)
         {
-            ResizedSignal ret = new ResizedSignal(NDalicManualPINVOKE.Window_ResizedSignal(swigCPtr), false);
+            NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal static Vector4 DEFAULT_BACKGROUND_COLOR
+        internal void RotateIndicator(Window.WindowOrientation orientation)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEFAULT_BACKGROUND_COLOR_get();
-                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static Vector4 DEBUG_BACKGROUND_COLOR
+        internal void AddAvailableOrientation(Window.WindowOrientation orientation)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEBUG_BACKGROUND_COLOR_get();
-                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private static readonly Window instance = Application.Instance.GetWindow();
+        internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
+        {
+            NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-        /// <summary>
-        /// The stage instance property (read-only).<br />
-        /// Gets the current window.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Window Instance
+        internal void SetPreferredOrientation(Window.WindowOrientation orientation)
         {
-            get
-            {
-                return instance;
-            }
+            NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Grabs the key specified by a key for a window only when a window is the topmost window.<br />
-        /// This function can be used for following example scenarios: <br />
-        /// - Mobile - Using volume up or down as zoom up or down in camera apps.<br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to grab.</param>
-        /// <returns>True if the grab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool GrabKeyTopmost(int DaliKey)
+        internal Window.WindowOrientation GetPreferredOrientation()
         {
-            bool ret = NDalicManualPINVOKE.GrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Ungrabs the key specified by a key for the window.<br />
-        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event.<br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to ungrab.</param>
-        /// <returns>True if the ungrab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool UngrabKeyTopmost(int DaliKey)
+        internal DragAndDropDetector GetDragAndDropDetector()
         {
-            bool ret = NDalicManualPINVOKE.UngrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        ///  Grabs the key specified by a key for a window in a GrabMode. <br />
-        ///  Details: This function can be used for following example scenarios: <br />
-        ///  - TV - A user might want to change the volume or channel of the background TV contents while focusing on the foregrund app. <br />
-        ///  - Mobile - When a user presses the Home key, the homescreen appears regardless of the current foreground app. <br />
-        ///  - Mobile - Using the volume up or down as zoom up or down in camera apps. <br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to grab.</param>
-        /// <param name="GrabMode">The grab mode for the key.</param>
-        /// <returns>True if the grab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool GrabKey(int DaliKey, KeyGrabMode GrabMode)
+        internal Any GetNativeHandle()
         {
-            bool ret = NDalicManualPINVOKE.GrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey, (int)GrabMode);
+            Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Ungrabs the key specified by a key for a window.<br />
-        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event. <br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to ungrab.</param>
-        /// <returns>True if the ungrab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool UngrabKey(int DaliKey)
+        internal WindowFocusSignalType FocusChangedSignal()
         {
-            bool ret = NDalicManualPINVOKE.UngrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Sets the keyboard repeat information.
-        /// </summary>
-        /// <param name="rate">The key repeat rate value in seconds.</param>
-        /// <param name="delay">The key repeat delay value in seconds.</param>
-        /// <returns>True if setting the keyboard repeat succeeds.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool SetKeyboardRepeatInfo(float rate, float delay)
+        internal void Add(Layer layer)
         {
-            bool ret = NDalicManualPINVOKE.SetKeyboardRepeatInfo(rate, delay);
+            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Add(layer);
         }
 
-        /// <summary>
-        /// Gets the keyboard repeat information.
-        /// </summary>
-        /// <param name="rate">The key repeat rate value in seconds.</param>
-        /// <param name="delay">The key repeat delay value in seconds.</param>
-        /// <returns>True if setting the keyboard repeat succeeds.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool GetKeyboardRepeatInfo(out float rate, out float delay)
+        internal void Remove(Layer layer)
         {
-            bool ret = NDalicManualPINVOKE.GetKeyboardRepeatInfo(out rate, out delay);
+            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Remove(layer);
         }
 
-        internal System.IntPtr GetNativeWindowHandler()
+        internal Vector2 GetSize()
         {
-            System.IntPtr ret = NDalicManualPINVOKE.GetNativeWindowHandler(HandleRef.ToIntPtr(this.swigCPtr));
+            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(stageCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum WindowOrientation
+        internal RenderTaskList GetRenderTaskList()
         {
-            /// <summary>
-            /// Portrait orientation. The height of the display area is greater than the width.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Portrait = 0,
-            /// <summary>
-            /// Landscape orientation. A wide view area is needed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Landscape = 90,
-            /// <summary>
-            /// Portrait inverse orientation.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            PortraitInverse = 180,
-            /// <summary>
-            /// Landscape inverse orientation.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            LandscapeInverse = 270
+            RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Enumeration for the key grab mode for platform-level APIs.
+        /// Queries the number of on-window layers.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum KeyGrabMode
-        {
-            /// <summary>
-            /// Grabs a key only when on the top of the grabbing-window stack mode.
-            /// </summary>
-            Topmost = 0,
-            /// <summary>
-            /// Grabs a key together with the other client window(s) mode.
-            /// </summary>
-            Shared,
-            /// <summary>
-            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack with the possibility of overriding the grab by the other client window mode.
-            /// </summary>
-            OverrideExclusive,
-            /// <summary>
-            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack mode.
-            /// </summary>
-            Exclusive
-        };
-
-        /// <summary>
-        /// Enumeration for opacity of the indicator.
-        /// </summary>
-        internal enum IndicatorBackgroundOpacity
-        {
-            Opaque = 100,
-            Translucent = 50,
-            Transparent = 0
-        }
-
-        /// <summary>
-        /// Enumeration for visible mode of the indicator.
-        /// </summary>
-        internal enum IndicatorVisibleMode
-        {
-            Invisible = 0,
-            Visible = 1,
-            Auto = 2
-        }
-
-        /// <summary>
-        /// The touch event argument.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TouchEventArgs : EventArgs
-        {
-            private Touch _touch;
-
-            /// <summary>
-            /// Touch.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Touch Touch
-            {
-                get
-                {
-                    return _touch;
-                }
-                set
-                {
-                    _touch = value;
-                }
-            }
-        }
-
-
-        private event EventHandler<TouchEventArgs> _rootLayerTouchDataEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool RootLayerTouchDataCallbackType(IntPtr view, IntPtr touchData);
-        private RootLayerTouchDataCallbackType _rootLayerTouchDataCallback;
-        /// <summary>
-        /// This event is emitted when the screen is touched and when the touch ends.<br />
-        /// If there are multiple touch points, then this will be emitted when the first touch occurs and
-        /// then when the last finger is lifted.<br />
-        /// An interrupted event will also be emitted (if it occurs).<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<TouchEventArgs> TouchEvent
-        {
-            add
-            {
-                if (_rootLayerTouchDataEventHandler == null)
-                {
-                    _rootLayerTouchDataCallback = OnWindowTouch;
-                    this.TouchDataSignal().Connect(_rootLayerTouchDataCallback);
-                }
-                _rootLayerTouchDataEventHandler += value;
-            }
-            remove
-            {
-                _rootLayerTouchDataEventHandler -= value;
-                if (_rootLayerTouchDataEventHandler == null && TouchSignal().Empty() == false)
-                {
-                    this.TouchDataSignal().Disconnect(_rootLayerTouchDataCallback);
-                }
-            }
-        }
-
-        private bool OnWindowTouch(IntPtr view, IntPtr touchData)
-        {
-            if (touchData == global::System.IntPtr.Zero)
-            {
-                NUILog.Error("touchData should not be null!");
-                return false;
-            }
-
-            TouchEventArgs e = new TouchEventArgs();
-
-            e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
-
-            if (_rootLayerTouchDataEventHandler != null)
-            {
-                _rootLayerTouchDataEventHandler(this, e);
-            }
-            return false;
-        }
-
-        /// <summary>
-        /// Wheel event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class WheelEventArgs : EventArgs
+        /// <returns>The number of layers.</returns>
+        /// <remarks>Note that a default layer is always provided (count >= 1).</remarks>
+        internal uint GetLayerCount()
         {
-            private Wheel _wheel;
-
-            /// <summary>
-            /// Wheel.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Wheel Wheel
-            {
-                get
-                {
-                    return _wheel;
-                }
-                set
-                {
-                    _wheel = value;
-                }
-            }
-        }
-
-        private event EventHandler<WheelEventArgs> _stageWheelHandler;
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
-        private WheelEventCallbackType _wheelEventCallback;
+            if (LayersChildren == null || LayersChildren.Count < 0)
+                return 0;
 
-        /// <summary>
-        /// This event is emitted when the wheel event is received.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WheelEventArgs> WheelEvent
-        {
-            add
-            {
-                if (_stageWheelHandler == null)
-                {
-                    _wheelEventCallback = OnStageWheel;
-                    this.StageWheelEventSignal().Connect(_wheelEventCallback);
-                }
-                _stageWheelHandler += value;
-            }
-            remove
-            {
-                _stageWheelHandler -= value;
-                if (_stageWheelHandler == null && StageWheelEventSignal().Empty() == false)
-                {
-                    this.StageWheelEventSignal().Disconnect(_wheelEventCallback);
-                }
-            }
+            return (uint) LayersChildren.Count;
         }
 
-        private bool OnStageWheel(IntPtr rootLayer, IntPtr wheelEvent)
-        {
-            if (wheelEvent == global::System.IntPtr.Zero)
+        internal Layer GetRootLayer()
         {
-                NUILog.Error("wheelEvent should not be null!");
-                return true;
-            }
-
-            WheelEventArgs e = new WheelEventArgs();
-
-            e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
-
-            if (_stageWheelHandler != null)
+            // Window.IsInstalled() is actually true only when called from event thread and
+            // Core has been initialized, not when Stage is ready.
+            if (_rootLayer == null && Window.IsInstalled())
             {
-                _stageWheelHandler(this, e);
+                _rootLayer = new Layer(NDalicPINVOKE.Stage_GetRootLayer(stageCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                LayersChildren.Add(_rootLayer);
             }
-            return true;
+            return _rootLayer;
         }
 
-        /// <summary>
-        /// Key event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class KeyEventArgs : EventArgs
+        internal void SetBackgroundColor(Vector4 color)
         {
-            private Key _key;
-
-            /// <summary>
-            /// Key.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Key Key
-            {
-                get
-                {
-                    return _key;
-                }
-                set
-                {
-                    _key = value;
-                }
-            }
+            NDalicPINVOKE.Stage_SetBackgroundColor(stageCPtr, Vector4.getCPtr(color));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private event EventHandler<KeyEventArgs> _stageKeyHandler;
-        private EventCallbackDelegateType1 _stageKeyCallbackDelegate;
-
-        /// <summary>
-        /// This event is emitted when the key event is received.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<KeyEventArgs> KeyEvent
+        internal Vector4 GetBackgroundColor()
         {
-            add
-            {
-                if (_stageKeyHandler == null)
-                {
-                    _stageKeyCallbackDelegate = OnStageKey;
-                    KeyEventSignal().Connect(_stageKeyCallbackDelegate);
-                }
-                _stageKeyHandler += value;
-            }
-            remove
-            {
-                _stageKeyHandler -= value;
-                if (_stageKeyHandler == null && KeyEventSignal().Empty() == false)
-                {
-                    KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
-                }
-            }
+            Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        // Callback for Stage KeyEventsignal
-        private void OnStageKey(IntPtr data)
+        internal Vector2 GetDpi()
         {
-            KeyEventArgs e = new KeyEventArgs();
-
-            if (data != null)
-            {
-                e.Key = Tizen.NUI.Key.GetKeyFromPtr(data);
-            }
-
-            if (_stageKeyHandler != null)
-            {
-                //here we send all data to user event handlers
-                _stageKeyHandler(this, e);
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-
-        private event EventHandler _stageEventProcessingFinishedEventHandler;
-        private EventCallbackDelegateType0 _stageEventProcessingFinishedEventCallbackDelegate;
-
-        internal event EventHandler EventProcessingFinished
+        internal ObjectRegistry GetObjectRegistry()
         {
-            add
-            {
-                if (_stageEventProcessingFinishedEventHandler == null)
-                {
-                    _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
-                    EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
-                }
-                _stageEventProcessingFinishedEventHandler += value;
-
-            }
-            remove
-            {
-                _stageEventProcessingFinishedEventHandler -= value;
-                if (_stageEventProcessingFinishedEventHandler == null && EventProcessingFinishedSignal().Empty() == false)
-                {
-                    EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
-                }
-            }
+            ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        // Callback for Stage EventProcessingFinishedSignal
-        private void OnEventProcessingFinished()
+        internal void SetRenderingBehavior(RenderingBehaviorType renderingBehavior)
         {
-            if (_stageEventProcessingFinishedEventHandler != null)
-            {
-                _stageEventProcessingFinishedEventHandler(this, null);
-            }
+            NDalicPINVOKE.Stage_SetRenderingBehavior(stageCPtr, (int)renderingBehavior);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        private EventHandler _stageContextLostEventHandler;
-        private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
-
-        internal event EventHandler ContextLost
+        internal RenderingBehaviorType GetRenderingBehavior()
         {
-            add
-            {
-                if (_stageContextLostEventHandler == null)
-                {
-                    _stageContextLostEventCallbackDelegate = OnContextLost;
-                    ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
-                }
-                _stageContextLostEventHandler += value;
-            }
-            remove
-            {
-                _stageContextLostEventHandler -= value;
-                if (_stageContextLostEventHandler == null && ContextLostSignal().Empty() == false)
-                {
-                    ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
-                }
-            }
+            RenderingBehaviorType ret = (RenderingBehaviorType)NDalicPINVOKE.Stage_GetRenderingBehavior(stageCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        // Callback for Stage ContextLostSignal
-        private void OnContextLost()
+        internal KeyEventSignal KeyEventSignal()
         {
-            if (_stageContextLostEventHandler != null)
-            {
-                _stageContextLostEventHandler(this, null);
-            }
+            KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-
-        private EventHandler _stageContextRegainedEventHandler;
-        private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
-
-        internal event EventHandler ContextRegained
+        internal VoidSignal EventProcessingFinishedSignal()
         {
-            add
-            {
-                if (_stageContextRegainedEventHandler == null)
-                {
-                    _stageContextRegainedEventCallbackDelegate = OnContextRegained;
-                    ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
-                }
-                _stageContextRegainedEventHandler += value;
-            }
-            remove
-            {
-                _stageContextRegainedEventHandler -= value;
-                if (_stageContextRegainedEventHandler == null && ContextRegainedSignal().Empty() == false)
-                {
-                    this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
-                }
-            }
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        // Callback for Stage ContextRegainedSignal
-        private void OnContextRegained()
+        internal TouchSignal TouchSignal()
         {
-            if (_stageContextRegainedEventHandler != null)
-            {
-                _stageContextRegainedEventHandler(this, null);
-            }
+            TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-
-        private EventHandler _stageSceneCreatedEventHandler;
-        private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
-
-        internal event EventHandler SceneCreated
+        internal TouchDataSignal TouchDataSignal()
         {
-            add
-            {
-                if (_stageSceneCreatedEventHandler == null)
-                {
-                    _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
-                    SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
-                }
-                _stageSceneCreatedEventHandler += value;
-            }
-            remove
-            {
-                _stageSceneCreatedEventHandler -= value;
-                if (_stageSceneCreatedEventHandler == null && SceneCreatedSignal().Empty() == false)
-                {
-                    SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
-                }
-            }
+            TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(Layer.getCPtr(GetRootLayer())), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        // Callback for Stage SceneCreatedSignal
-        private void OnSceneCreated()
+        internal VoidSignal ContextLostSignal()
         {
-            if (_stageSceneCreatedEventHandler != null)
-            {
-                _stageSceneCreatedEventHandler(this, null);
-            }
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// This resized event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ResizedEventArgs : EventArgs
+        internal VoidSignal ContextRegainedSignal()
         {
-            Size2D _windowSize;
-
-            /// <summary>
-            /// This window size.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public Size2D WindowSize
-            {
-                get
-                {
-                    return _windowSize;
-                }
-                set
-                {
-                    _windowSize = value;
-                }
-            }
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        private WindowResizedEventCallbackType _windowResizedEventCallback;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowResizedEventCallbackType(IntPtr windowSize);
-        private event EventHandler<ResizedEventArgs> _windowResizedEventHandler;
-
-        /// <summary>
-        /// This event is emitted when the window resized.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
+        internal VoidSignal SceneCreatedSignal()
         {
-            add
-            {
-                if (_windowResizedEventHandler == null)
-                {
-                    _windowResizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_windowResizedEventCallback);
-                }
-
-                _windowResizedEventHandler += value;
-            }
-            remove
-            {
-                _windowResizedEventHandler -= value;
-
-                if (_windowResizedEventHandler == null && ResizedSignal().Empty() == false && _windowResizedEventCallback != null)
-                {
-                    ResizedSignal().Disconnect(_windowResizedEventCallback);
-                }
-            }
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        private void OnResized(IntPtr windowSize)
+        internal ResizedSignal ResizedSignal()
         {
-            ResizedEventArgs e = new ResizedEventArgs();
-            var val = new Uint16Pair(windowSize, false);
-            e.WindowSize = new Size2D(val.GetWidth(), val.GetHeight());
-            val.Dispose();
-
-            if (_windowResizedEventHandler != null)
-            {
-                _windowResizedEventHandler(this, e);
-            }
+            ResizedSignal ret = new ResizedSignal(NDalicManualPINVOKE.Window_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal void SetWindowSize(Size2D size)
@@ -1466,6 +1390,11 @@ namespace Tizen.NUI
             NDalicManualPINVOKE.SetSize(swigCPtr, Uint16Pair.getCPtr(val));
 
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if(rootLayoutItem != null)
+            {
+                rootLayoutItem.RequestLayout();
+            }
         }
 
         internal Size2D GetWindowSize()
@@ -1483,6 +1412,11 @@ namespace Tizen.NUI
             NDalicManualPINVOKE.SetPosition(swigCPtr, Uint16Pair.getCPtr(val));
 
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if(rootLayoutItem != null)
+            {
+                rootLayoutItem.RequestLayout();
+            }
         }
 
         internal Position2D GetPosition()
@@ -1494,6 +1428,18 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal void SetPositionSize(Rectangle positionSize)
+        {
+            NDalicPINVOKE.Window_SetPositionSize(swigCPtr, Rectangle.getCPtr(positionSize));
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if(rootLayoutItem != null)
+            {
+                rootLayoutItem.RequestLayout();
+            }
+        }
+
         /// <summary>
         /// Sets whether the window is transparent or not.
         /// </summary>
@@ -1502,104 +1448,168 @@ namespace Tizen.NUI
         public void SetTransparency(bool transparent) {
             NDalicManualPINVOKE.SetTransparency(swigCPtr, transparent);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if(rootLayoutItem != null)
+            {
+                rootLayoutItem.RequestLayout();
+            }
         }
 
-        /// <summary>
-        /// The window size property (read-only).
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Size2D Size
+        internal System.IntPtr GetNativeWindowHandler()
         {
-            get
+            System.IntPtr ret = NDalicManualPINVOKE.GetNativeWindowHandler(HandleRef.ToIntPtr(this.swigCPtr));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private void OnWindowFocusedChanged(bool focusGained)
+        {
+            FocusChangedEventArgs e = new FocusChangedEventArgs();
+
+            e.FocusGained = focusGained;
+
+            if (_windowFocusChangedEventHandler != null)
             {
-                Size2D ret = GetSize();
-                return ret;
+                _windowFocusChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// The background color property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Color BackgroundColor
+        private StageWheelSignal WheelEventSignal()
         {
-            set
+            StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private WheelSignal StageWheelEventSignal()
+        {
+            WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(Layer.getCPtr(this.GetRootLayer())), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool OnWindowTouch(IntPtr view, IntPtr touchData)
+        {
+            if (touchData == global::System.IntPtr.Zero)
             {
-                SetBackgroundColor(value);
+                NUILog.Error("touchData should not be null!");
+                return false;
             }
-            get
+
+            TouchEventArgs e = new TouchEventArgs();
+
+            e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
+
+            if (_rootLayerTouchDataEventHandler != null)
             {
-                Color ret = GetBackgroundColor();
-                return ret;
+                _rootLayerTouchDataEventHandler(this, e);
             }
+            return false;
         }
 
-        /// <summary>
-        /// The DPI property (read-only).<br />
-        /// Retrieves the DPI of the display device to which the Window is connected.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 Dpi
+        private bool OnStageWheel(IntPtr rootLayer, IntPtr wheelEvent)
+        {
+            if (wheelEvent == global::System.IntPtr.Zero)
+        {
+                NUILog.Error("wheelEvent should not be null!");
+                return true;
+            }
+
+            WheelEventArgs e = new WheelEventArgs();
+
+            e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
+
+            if (_stageWheelHandler != null)
+            {
+                _stageWheelHandler(this, e);
+            }
+            return true;
+        }
+
+        // Callback for Stage KeyEventsignal
+        private void OnStageKey(IntPtr data)
+        {
+            KeyEventArgs e = new KeyEventArgs();
+                       e.Key = Tizen.NUI.Key.GetKeyFromPtr(data);
+
+
+            if (_stageKeyHandler != null)
+            {
+                //here we send all data to user event handlers
+                _stageKeyHandler(this, e);
+            }
+        }
+
+        // Callback for Stage EventProcessingFinishedSignal
+        private void OnEventProcessingFinished()
+        {
+            if (_stageEventProcessingFinishedEventHandler != null)
+            {
+                _stageEventProcessingFinishedEventHandler(this, null);
+            }
+        }
+
+        // Callback for Stage ContextLostSignal
+        private void OnContextLost()
+        {
+            if (_stageContextLostEventHandler != null)
+            {
+                _stageContextLostEventHandler(this, null);
+            }
+        }
+
+        // Callback for Stage ContextRegainedSignal
+        private void OnContextRegained()
         {
-            get
+            if (_stageContextRegainedEventHandler != null)
             {
-                return GetDpi();
+                _stageContextRegainedEventHandler(this, null);
             }
         }
 
-        /// <summary>
-        /// The layer count property (read-only).<br />
-        /// Queries the number of on-Window layers.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public uint LayerCount
+        // Callback for Stage SceneCreatedSignal
+        private void OnSceneCreated()
         {
-            get
+            if (_stageSceneCreatedEventHandler != null)
             {
-                return GetLayerCount();
+                _stageSceneCreatedEventHandler(this, null);
             }
         }
 
-
-        /// <summary>
-        /// Adds a layer to the stage.
-        /// </summary>
-        /// <param name="layer">Layer to add.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void AddLayer(Layer layer)
+        private void OnResized(IntPtr windowSize)
         {
-            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            ResizedEventArgs e = new ResizedEventArgs();
+            var val = new Uint16Pair(windowSize, false);
+            e.WindowSize = new Size2D(val.GetWidth(), val.GetHeight());
+            val.Dispose();
 
-            LayersChildren.Add(layer);
+            if (_windowResizedEventHandler != null)
+            {
+                _windowResizedEventHandler(this, e);
+            }
         }
 
-        /// <summary>
-        /// Removes a layer from the stage.
-        /// </summary>
-        /// <param name="layer">Layer to remove.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void RemoveLayer(Layer layer)
+        private void OnWindowFocusedChanged2(bool focusGained)
         {
-            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            FocusChangedEventArgs e = new FocusChangedEventArgs();
 
-            LayersChildren.Remove(layer);
+            e.FocusGained = focusGained;
+
+            if (_windowFocusChangedEventHandler2 != null)
+            {
+                _windowFocusChangedEventHandler2(this, e);
+            }
         }
 
         /// <summary>
-        /// Please do not use! this will be deprecated
+        /// The focus changed event argument.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusChangedEventArgs instead! " +
-            "Like: " +
-            "Window.Instance.FocusChanged = OnFocusChanged; " +
-            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public class WindowFocusChangedEventArgs : EventArgs
+        public class FocusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Please do not use! this will be deprecated
+            /// FocusGained flag.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
             public bool FocusGained
@@ -1609,121 +1619,147 @@ namespace Tizen.NUI
             }
         }
 
-        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback2;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowFocusChangedEventCallbackType2(bool focusGained);
-        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler2;
-
         /// <summary>
-        /// Please do not use! this will be deprecated. Please use 'FocusChanged' event instead.
+        /// The touch event argument.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use FocusChanged.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusChanged instead! " +
-            "Like: " +
-            "Window.Instance.FocusChanged = OnFocusChanged; " +
-            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public event EventHandler<FocusChangedEventArgs> WindowFocusChanged
+        public class TouchEventArgs : EventArgs
         {
-            add
+            private Touch _touch;
+
+            /// <summary>
+            /// Touch.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Touch Touch
             {
-                if (_windowFocusChangedEventHandler2 == null)
+                get
                 {
-                    _windowFocusChangedEventCallback2 = OnWindowFocusedChanged2;
-                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback2);
+                    return _touch;
                 }
-
-                _windowFocusChangedEventHandler2 += value;
-            }
-            remove
-            {
-                _windowFocusChangedEventHandler2 -= value;
-
-                if (_windowFocusChangedEventHandler2 == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback2 != null)
+                set
                 {
-                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback2);
+                    _touch = value;
                 }
             }
         }
 
-        private void OnWindowFocusedChanged2(bool focusGained)
+        /// <summary>
+        /// Wheel event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class WheelEventArgs : EventArgs
         {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.FocusGained = focusGained;
+            private Wheel _wheel;
 
-            if (_windowFocusChangedEventHandler2 != null)
+            /// <summary>
+            /// Wheel.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Wheel Wheel
             {
-                _windowFocusChangedEventHandler2(this, e);
+                get
+                {
+                    return _wheel;
+                }
+                set
+                {
+                    _wheel = value;
+                }
             }
         }
 
         /// <summary>
-        /// Gets or sets a size of the window.
+        /// Key event arguments.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Size2D WindowSize
+        /// <since_tizen> 3 </since_tizen>
+        public class KeyEventArgs : EventArgs
         {
-            get
-            {
-                return GetWindowSize();
-            }
-            set
+            private Key _key;
+
+            /// <summary>
+            /// Key.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Key Key
             {
-                SetWindowSize(value);
+                get
+                {
+                    return _key;
+                }
+                set
+                {
+                    _key = value;
+                }
             }
         }
 
         /// <summary>
-        /// Gets or sets a position of the window.
+        /// Sets position and size of the window. This API guarantees that
+        /// both moving and resizing of window will appear on the screen at once.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Position2D WindowPosition
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Rectangle WindowPositionSize
         {
             get
             {
-                return GetPosition();
+                Position2D position = GetPosition();
+                Size2D size = GetSize();
+                Rectangle ret = new Rectangle(position.X, position.Y, size.Width, size.Height);
+                return ret;
             }
             set
             {
-                SetPosition(value);
+                SetPositionSize(value);
             }
         }
 
         /// <summary>
         /// Feeds a key event into the window.
+        /// This resized event arguments.
         /// </summary>
-        /// <param name="keyEvent">The key event to feed.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public void FeedKey(Key keyEvent)
+        /// <since_tizen> 3 </since_tizen>
+        public class ResizedEventArgs : EventArgs
         {
-            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            Size2D _windowSize;
 
-        /// <summary>
-        /// Feed a key-event into the window.
-        /// </summary>
-        /// <param name="keyEvent">The key event to feed.</param>
-        /// <since_tizen> 4 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use FeedKey(Key keyEvent) instead!")]
-        public static void FeedKeyEvent(Key keyEvent)
-        {
-            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// This window size.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public Size2D WindowSize
+            {
+                get
+                {
+                    return _windowSize;
+                }
+                set
+                {
+                    _windowSize = value;
+                }
+            }
         }
 
         /// <summary>
-        /// Allows at least one more render, even when paused.
-        /// The window should be shown, not minimised.
+        /// Please do not use! this will be deprecated
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void RenderOnce()
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusChangedEventArgs instead! " +
+            "Like: " +
+            "Window.Instance.FocusChanged = OnFocusChanged; " +
+            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class WindowFocusChangedEventArgs : EventArgs
         {
-            NDalicManualPINVOKE.Window_RenderOnce(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// Please do not use! this will be deprecated
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool FocusGained
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
@@ -1762,5 +1798,63 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Disconnect all native signals
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        internal void DisconnectNativeSignals() 
+        {
+            if( _windowFocusChangedEventCallback != null )
+            {
+                WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
+            }
+
+            if( _rootLayerTouchDataCallback != null )
+            {
+                TouchDataSignal().Disconnect(_rootLayerTouchDataCallback);
+            }
+
+            if( _wheelEventCallback != null )
+            {
+                StageWheelEventSignal().Disconnect(_wheelEventCallback);
+            }
+
+            if( _stageKeyCallbackDelegate != null )
+            {
+                KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
+            }
+
+            if( _stageEventProcessingFinishedEventCallbackDelegate != null )
+            {
+                EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
+            }
+
+            if( _stageContextLostEventCallbackDelegate != null )
+            {
+                ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
+            }
+
+            if( _stageContextRegainedEventCallbackDelegate != null )
+            {
+                ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
+            }
+
+            if( _stageSceneCreatedEventCallbackDelegate != null )
+            {
+                SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
+            }
+
+            if( _windowResizedEventCallback != null )
+            {
+                ResizedSignal().Disconnect(_windowResizedEventCallback);
+            }
+
+            if( _windowFocusChangedEventCallback2 != null )
+            {
+                WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback2);
+            }
+
+        }
+
     }
 }
diff --git a/test/NUITestSample/NUITestSample/examples/text-test3.cs b/test/NUITestSample/NUITestSample/examples/text-test3.cs
new file mode 100755 (executable)
index 0000000..9eeb95b
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2017 Samsung Electronics Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+using System;
+using Tizen.NUI;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.UIComponents;
+
+namespace Tizen.NUI.Examples
+{
+    public class TextPropertyTest : NUIApplication
+    {
+        TextLabel label1;
+        TextLabel label2;
+        TextField field1;
+        TextField field2;
+        TextEditor editor1;
+        TextEditor editor2;
+        Window window;
+
+        protected override void OnCreate()
+        {
+            base.OnCreate();
+            window = Window.Instance;
+            window.BackgroundColor = Color.White;
+            label1 = new TextLabel()
+            {
+                Size2D = new Size2D(300, 156),
+                Position2D = new Position2D(100, 300),
+                BackgroundColor = Color.Green,
+                PointSize = 28,
+                Focusable = true,
+                MultiLine = true,
+                HorizontalAlignment = HorizontalAlignment.End,
+                MatchSystemLanguageDirection = false,
+                Text = "Hello world \nﻡﺮﺤﺑﺍ."
+            };
+
+            label2 = new TextLabel()
+            {
+                Size2D = new Size2D(300, 156),
+                Position2D = new Position2D(100, 500),
+                BackgroundColor = Color.Green,
+                PointSize = 28,
+                Focusable = true,
+                MultiLine = true,
+                HorizontalAlignment = HorizontalAlignment.End,
+                MatchSystemLanguageDirection = true,
+                Text = "Hello world \nﻡﺮﺤﺑﺍ."
+            };
+            field1 = new TextField()
+            {
+                Size2D = new Size2D(300, 156),
+                Position2D = new Position2D(500, 300),
+                BackgroundColor = Color.Yellow,
+                PointSize = 28,
+                Focusable = true,
+                HorizontalAlignment = HorizontalAlignment.End,
+                MatchSystemLanguageDirection = false,
+                Text = "ﻡﺮﺤﺑﺍ."
+            };
+
+            field2 = new TextField()
+            {
+                Size2D = new Size2D(300, 156),
+                Position2D = new Position2D(500, 500),
+                BackgroundColor = Color.Yellow,
+                PointSize = 28,
+                Focusable = true,
+
+                HorizontalAlignment = HorizontalAlignment.End,
+                MatchSystemLanguageDirection = true,
+                Text = "ﻡﺮﺤﺑﺍ."
+            };
+            editor1 = new TextEditor()
+            {
+                Size2D = new Size2D(300, 156),
+                Position2D = new Position2D(900, 300),
+                BackgroundColor = Color.Cyan,
+                PointSize = 28,
+                Focusable = true,
+                HorizontalAlignment = HorizontalAlignment.End,
+                MatchSystemLanguageDirection = false,
+                Text = "Hello world \nﻡﺮﺤﺑﺍ."
+            };
+
+            editor2 = new TextEditor()
+            {
+                Size2D = new Size2D(300, 156),
+                Position2D = new Position2D(900, 500),
+                BackgroundColor = Color.Cyan,
+                PointSize = 28,
+                Focusable = true,
+                HorizontalAlignment = HorizontalAlignment.End,
+                MatchSystemLanguageDirection = true,
+                Text = "Hello world \nﻡﺮﺤﺑﺍ."
+            };
+
+            window.Add(label1);
+            window.Add(label2);
+            window.Add(field1);
+            window.Add(field2);
+            window.Add(editor1);
+            window.Add(editor2);
+        }
+    }
+}