[NUI] temporary fix! fix wrong value of screen position in object dump
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / View.cs
index bbfd422..e91526c 100755 (executable)
@@ -1,32 +1,34 @@
-/** 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.
-*
-*/
+/*
+ * 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 System.ComponentModel;
+using System.Runtime.InteropServices;
 
 namespace Tizen.NUI.BaseComponents
 {
-
-    using System;
-    using System.Runtime.InteropServices;
-
     /// <summary>
     /// View is the base class for all views.
     /// </summary>
+    /// <since_tizen> 3 </since_tizen>
     public class View : Container
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+
         internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
@@ -43,101 +45,89 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Adds a child view to this view.
         /// </summary>
-        /// <seealso cref="Container.Add">
-        /// </seealso>
+        /// <seealso cref="Container.Add" />
         /// <since_tizen> 4 </since_tizen>
         public override void Add(View child)
         {
             NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            Children.Add(child);
         }
 
         /// <summary>
         /// Removes a child view from this View. If the view was not a child of this view, this is a no-op.
         /// </summary>
-        /// <seealso cref="Container.Remove">
-        /// </seealso>
+        /// <seealso cref="Container.Remove" />
         /// <since_tizen> 4 </since_tizen>
         public override void Remove(View child)
         {
             NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            Children.Remove(child);
         }
 
         /// <summary>
         /// Retrieves a child view by index.
         /// </summary>
-        /// <seealso cref="Container.GetChildAt">
-        /// </seealso>
+        /// <seealso cref="Container.GetChildAt" />
         /// <since_tizen> 4 </since_tizen>
         public override View GetChildAt(uint index)
         {
-            IntPtr cPtr = NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index);
-
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret ?? null;
+            if (index < Children.Count)
+            {
+                return Children[Convert.ToInt32(index)];
+            }
+            else
+            {
+                return null;
+            }
         }
 
         /// <summary>
         /// Retrieves the number of children held by the view.
         /// </summary>
-        /// <seealso cref="Container.GetChildCount">
-        /// </seealso>
-        protected override uint GetChildCount()
+        /// <seealso cref="Container.GetChildCount" />
+        /// <since_tizen> 4 </since_tizen>
+        public override uint GetChildCount()
         {
-            uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return Convert.ToUInt32(Children.Count);
         }
 
         /// <summary>
         /// Gets the views parent.
         /// </summary>
-        /// <seealso cref="Container.GetParent()">
-        protected override Container GetParent()
+        /// <seealso cref="Container.GetParent()" />
+        /// <since_tizen> 4 </since_tizen>
+        public override Container GetParent()
         {
-            Container ret;
             IntPtr cPtr = NDalicPINVOKE.Actor_GetParent(swigCPtr);
 
             BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(cPtr);
 
-            if(basehandle is Layer)
-            {
-                ret = basehandle as Layer;
-            }
-            else
-            {
-                ret = basehandle as View;
-            }
-
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        //This is temporal API. Currently Parent returns View but Container class has been introduced so 'View Parent' will be changed 'Container Parent' later soon, then this will be removed
-        [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
-        public Container GetContainerParent()
-        {
-            return this.GetParent();
+            return basehandle as Container;
         }
 
         internal bool IsTopLevelView()
         {
-            if(GetContainerParent() is Layer)
+            if(GetParent() is Layer)
             {
                 return true;
             }
             return false;
         }
 
-        // you can override it to clean-up your own resources.
+        /// <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)
@@ -169,6 +159,7 @@ namespace Tizen.NUI.BaseComponents
             }
 
             base.Dispose(type);
+
         }
 
         private void DisConnectFromSignals()
@@ -270,8 +261,8 @@ namespace Tizen.NUI.BaseComponents
         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 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>
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler FocusGained
@@ -313,8 +304,8 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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
@@ -352,6 +343,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Event arguments that passed via the KeyEvent signal.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public class KeyEventArgs : EventArgs
         {
             private Key _key;
@@ -379,10 +371,10 @@ namespace Tizen.NUI.BaseComponents
         private KeyCallbackType _keyCallback;
 
         /// <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>
+        /// 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> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
         {
             add
@@ -435,8 +427,8 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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>
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler Relayout
@@ -476,6 +468,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Event arguments that passed via the touch signal.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public class TouchEventArgs : EventArgs
         {
             private Touch _touch;
@@ -503,10 +496,10 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public event EventHandlerWithReturnType<object, TouchEventArgs, bool> TouchEvent
         {
             add
@@ -550,6 +543,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Event arguments that passed via the hover signal.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public class HoverEventArgs : EventArgs
         {
             private Hover _hover;
@@ -577,10 +571,10 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public event EventHandlerWithReturnType<object, HoverEventArgs, bool> HoverEvent
         {
             add
@@ -624,6 +618,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Event arguments that passed via the wheel signal.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public class WheelEventArgs : EventArgs
         {
             private Wheel _wheel;
@@ -651,10 +646,10 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelEvent
         {
             add
@@ -701,8 +696,8 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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
@@ -745,8 +740,8 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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
@@ -785,6 +780,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Event arguments of visibility changed.
         /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public class VisibilityChangedEventArgs : EventArgs
         {
             private View _view;
@@ -846,8 +842,8 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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
@@ -895,6 +891,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Event arguments of layout direction changed.
         /// </summary>
+        /// <since_tizen> 4 </since_tizen>
         public class LayoutDirectionChangedEventArgs : EventArgs
         {
             private View _view;
@@ -939,8 +936,8 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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
@@ -997,10 +994,10 @@ namespace Tizen.NUI.BaseComponents
         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>
+        /// 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> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public event EventHandler ResourcesLoaded
         {
             add
@@ -1095,13 +1092,14 @@ namespace Tizen.NUI.BaseComponents
             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 PADDING = NDalicPINVOKE.Actor_Property_PADDING_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>
@@ -1110,11 +1108,35 @@ namespace Tizen.NUI.BaseComponents
         /// <since_tizen> 3 </since_tizen>
         public enum FocusDirection
         {
+            /// <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
         }
 
@@ -1133,13 +1155,15 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Downcasts a handle to view handle.<br>
-        /// If handle points to a view, the downcast produces a valid handle.<br>
-        /// If not, the returned handle is left uninitialized.<br>
+        /// Downcasts a handle to view handle.<br />
+        /// If handle points to a view, the downcast produces a valid handle.<br />
+        /// If not, the returned handle is left uninitialized.<br />
         /// </summary>
         /// <param name="handle">A handle to an object.</param>
         /// <returns>A handle to a view or an uninitialized handle.</returns>
-        [Obsolete("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!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static View DownCast(BaseHandle handle)
         {
             View ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as View;
@@ -1147,7 +1171,12 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        [Obsolete("Please do not use! this will be deprecated, instead please use as keyword.")]
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated, instead please use as keyword.")]
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public static T DownCast<T>(View view) where T : View
         {
             T ret = Registry.GetManagedBaseHandleFromNativePtr(view) as T;
@@ -1332,7 +1361,7 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// The mutually exclusive with BACKGROUND_IMAGE & BACKGROUND type Vector4.
+        /// The mutually exclusive with BACKGROUND_IMAGE and BACKGROUND type Vector4.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public Color BackgroundColor
@@ -1361,7 +1390,7 @@ namespace Tizen.NUI.BaseComponents
         /// 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> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public Animation AnimateBackgroundColor( object destinationValue,
                                                  int startTime,
                                                  int endTime,
@@ -1383,7 +1412,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Creates an animation to animate the mixColor of the named visual.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public Animation AnimateColor( string targetVisual, object destinationColor, int startTime, int endTime, AlphaFunction.BuiltinFunctions? alphaFunction = null, object initialColor = null )
         {
             Animation animation = null;
@@ -1422,7 +1451,7 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// The mutually exclusive with BACKGROUND_COLOR & BACKGROUND type Map.
+        /// The mutually exclusive with BACKGROUND_COLOR and BACKGROUND type Map.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public string BackgroundImage
@@ -1447,6 +1476,10 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
+        /// <summary>
+        /// The background of view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public Tizen.NUI.PropertyMap Background
         {
             get
@@ -1643,9 +1676,9 @@ 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>
+        /// 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 float Flex
@@ -1663,8 +1696,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -1682,8 +1715,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// The Child property of FlexContainer.<br>
-        /// The space around the flex item.<br>
+        /// The Child property of FlexContainer.<br />
+        /// The space around the flex item.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public Vector4 FlexMargin
@@ -1867,9 +1900,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -1885,14 +1918,21 @@ namespace Tizen.NUI.BaseComponents
             }
             set
             {
-                LeftFocusableViewId = (int)value.GetId();
+                if(value)
+                {
+                    LeftFocusableViewId = (int)value.GetId();
+                }
+                else
+                {
+                    LeftFocusableViewId = -1;
+                }
             }
         }
 
         /// <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>
+        /// 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 View RightFocusableView
@@ -1908,14 +1948,21 @@ namespace Tizen.NUI.BaseComponents
             }
             set
             {
-                RightFocusableViewId = (int)value.GetId();
+                if(value)
+                {
+                    RightFocusableViewId = (int)value.GetId();
+                }
+                else
+                {
+                    RightFocusableViewId = -1;
+                }
             }
         }
 
         /// <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>
+        /// 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 View UpFocusableView
@@ -1931,14 +1978,21 @@ namespace Tizen.NUI.BaseComponents
             }
             set
             {
-                UpFocusableViewId = (int)value.GetId();
+                if(value)
+                {
+                    UpFocusableViewId = (int)value.GetId();
+                }
+                else
+                {
+                    UpFocusableViewId = -1;
+                }
             }
         }
 
         /// <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>
+        /// 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
@@ -1954,7 +2008,14 @@ namespace Tizen.NUI.BaseComponents
             }
             set
             {
-                DownFocusableViewId = (int)value.GetId();
+                if(value)
+                {
+                    DownFocusableViewId = (int)value.GetId();
+                }
+                else
+                {
+                    DownFocusableViewId = -1;
+                }
             }
         }
 
@@ -1995,8 +2056,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        ///  Retrieves the position of the view.<br>
-        ///  The coordinates are relative to the view's parent.<br>
+        ///  Retrieves the position of the view.<br />
+        ///  The coordinates are relative to the view's parent.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public Position CurrentPosition
@@ -2008,10 +2069,10 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
         /// <since_tizen> 3 </since_tizen>
         public Size2D Size2D
@@ -2030,8 +2091,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        ///  Retrieves the size of the view.<br>
-        ///  The coordinates are relative to the view's parent.<br>
+        ///  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
@@ -2042,7 +2103,12 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated. Please use Visibility instead.")]
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated. Please use Visibility instead.")]
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Visibility instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public bool Visible
         {
             get
@@ -2052,7 +2118,7 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Retrieves and sets the view's opacity.<br>
+        /// Retrieves and sets the view's opacity.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public float Opacity
@@ -2070,9 +2136,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
         /// <since_tizen> 3 </since_tizen>
         public Position2D Position2D
@@ -2090,7 +2156,7 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Retrieves the screen postion of the view.<br>
+        /// Retrieves the screen postion of the view.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public Vector2 ScreenPosition
@@ -2099,6 +2165,10 @@ namespace Tizen.NUI.BaseComponents
             {
                 Vector2 temp = new Vector2(0.0f, 0.0f);
                 GetProperty(View.Property.SCREEN_POSITION).Get(temp);
+                // Dali's default layer is default center origin. need to change as top left.
+                // NUI's Layer is like a transparent film which covers entire window. (Layer is not an actor of Dali)
+                // otherwise, this makes ScreenPosition as wrong value.
+                temp -= (Window.Instance.GetSize() * 0.5f);
                 return temp;
             }
         }
@@ -2110,7 +2180,7 @@ namespace Tizen.NUI.BaseComponents
         /// <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> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public bool PositionUsesPivotPoint
         {
             get
@@ -2125,7 +2195,18 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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
         {
             get
@@ -2153,8 +2234,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -2206,7 +2287,14 @@ namespace Tizen.NUI.BaseComponents
         /// <remarks>
         /// Deriving classes stipulate the natural size and by default a view has a zero natural size.
         /// </remarks>
-        [Obsolete("Please do not use! this will be deprecated, please use NaturalSize2D instead")]
+        /// /// Please do not use! this will be deprecated!
+        /// Instead please use NaturalSize2D.
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use NaturalSize2D instead! " +
+            "Like: " +
+            "TextLabel label = new TextLabel(\"Hello World!\"); " +
+            "Size2D size = label.NaturalSize2D;")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector3 NaturalSize
         {
             get
@@ -2265,6 +2353,21 @@ namespace Tizen.NUI.BaseComponents
 
         internal void Raise()
         {
+            var parentChildren = Parent?.Children;
+
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+
+                // If the view is not already the last item in the list.
+                if (currentIndex != parentChildren.Count -1)
+                {
+                    View temp = parentChildren[currentIndex + 1];
+                    parentChildren[currentIndex + 1] = this;
+                    parentChildren[currentIndex] = temp;
+                }
+            }
+
             NDalicPINVOKE.Raise(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -2272,6 +2375,21 @@ namespace Tizen.NUI.BaseComponents
 
         internal void Lower()
         {
+            var parentChildren = Parent?.Children;
+
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+
+                // If the view is not already the first item in the list.
+                if (currentIndex > 0)
+                {
+                    View temp = parentChildren[currentIndex - 1];
+                    parentChildren[currentIndex - 1] = this;
+                    parentChildren[currentIndex] = temp;
+                }
+            }
+
             NDalicPINVOKE.Lower(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -2287,6 +2405,14 @@ namespace Tizen.NUI.BaseComponents
         /// <since_tizen> 3 </since_tizen>
         public void RaiseToTop()
         {
+            var parentChildren = Parent?.Children;
+
+            if (parentChildren != null)
+            {
+                parentChildren.Remove(this);
+                parentChildren.Add(this);
+            }
+
             NDalicPINVOKE.RaiseToTop(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -2302,6 +2428,14 @@ namespace Tizen.NUI.BaseComponents
         /// <since_tizen> 3 </since_tizen>
         public void LowerToBottom()
         {
+            var parentChildren = Parent?.Children;
+
+            if (parentChildren != null)
+            {
+                parentChildren.Remove(this);
+                parentChildren.Insert(0, this);
+            }
+
             NDalicPINVOKE.LowerToBottom(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -2312,7 +2446,7 @@ namespace Tizen.NUI.BaseComponents
         /// </summary>
         /// <remarks>Most resources are only loaded when the control is placed on the stage.
         /// </remarks>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public bool IsResourceReady()
         {
             bool ret = NDalicPINVOKE.IsResourceReady(swigCPtr);
@@ -2331,6 +2465,21 @@ namespace Tizen.NUI.BaseComponents
         /// <param name="target">Will be raised above this view.</param>
         internal void RaiseAbove(View target)
         {
+            var parentChildren = Parent?.Children;
+
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+                int targetIndex = parentChildren.IndexOf(target);
+
+                // 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.RaiseAbove(swigCPtr, View.getCPtr(target));
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -2346,7 +2495,23 @@ namespace Tizen.NUI.BaseComponents
         /// <param name="target">Will be lowered below this view.</param>
         internal void LowerBelow(View target)
         {
-            NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
+            var parentChildren = Parent?.Children;
+
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+                int targetIndex = parentChildren.IndexOf(target);
+
+                // 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.LowerBelow(swigCPtr, View.getCPtr(target));
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
@@ -2389,7 +2554,15 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        internal Layer GetLayer()
+        /// <summary>
+        /// Gets the parent layer of this view.If a view has no parent, this method does nothing.
+        /// </summary>
+        /// <pre>The view has been initialized. </pre>
+        /// <returns>the parent layer of view </returns>
+        /// <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 Layer GetLayer()
         {
             IntPtr cPtr = NDalicPINVOKE.Actor_GetLayer(swigCPtr);
             Layer ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Layer;
@@ -2406,9 +2579,7 @@ namespace Tizen.NUI.BaseComponents
         /// <since_tizen> 4 </since_tizen>
         public void Unparent()
         {
-            NDalicPINVOKE.Actor_Unparent(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            GetParent()?.Remove(this);
         }
 
         /// <summary>
@@ -2877,10 +3048,10 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Sets the relative to parent size factor of the 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>
+        /// 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>
@@ -2901,9 +3072,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
@@ -2917,9 +3088,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
@@ -2932,6 +3103,12 @@ namespace Tizen.NUI.BaseComponents
             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);
@@ -2940,6 +3117,11 @@ namespace Tizen.NUI.BaseComponents
             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));
@@ -2947,6 +3129,11 @@ namespace Tizen.NUI.BaseComponents
                 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)
         {
             NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
@@ -2992,7 +3179,7 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public uint AddRenderer(Renderer renderer)
         {
             uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
@@ -3009,7 +3196,7 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public Renderer GetRendererAt(uint index)
         {
             IntPtr cPtr = NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index);
@@ -3020,7 +3207,7 @@ namespace Tizen.NUI.BaseComponents
             return ret;
         }
 
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public void RemoveRenderer(Renderer renderer)
         {
             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
@@ -3028,7 +3215,7 @@ namespace Tizen.NUI.BaseComponents
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public void RemoveRenderer(uint index)
         {
             NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
@@ -3106,10 +3293,10 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
@@ -3170,11 +3357,11 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
@@ -3271,9 +3458,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -3389,8 +3576,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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>
@@ -3409,7 +3596,7 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Gets or sets the world orientation of the view.<br>
+        /// Gets or sets the world orientation of the view.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public Rotation WorldOrientation
@@ -3423,7 +3610,7 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Gets or sets the scale factor applied to the view.<br>
+        /// Gets or sets the scale factor applied to the view.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public Vector3 Scale
@@ -3666,12 +3853,12 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -3702,9 +3889,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -3804,8 +3991,8 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <summary>
-        /// Gets or sets the policy to use when setting size with size negotiation.<br>
-        /// Defaults to SizeScalePolicyType.UseSizeSet.<br>
+        /// 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
@@ -3898,12 +4085,12 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Gets or sets the padding for use in layout.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector4 Padding
+        /// <since_tizen> 4 </since_tizen>
+        public Extents Padding
         {
             get
             {
-                Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+                Extents temp = new Extents(0, 0, 0, 0);
                 GetProperty(View.Property.PADDING).Get(temp);
                 return temp;
             }
@@ -3950,9 +4137,9 @@ namespace Tizen.NUI.BaseComponents
         }
 
         /// <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>
+        /// 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
@@ -3988,6 +4175,8 @@ namespace Tizen.NUI.BaseComponents
                     return ClippingModeType.Disabled;
                     case "CLIP_CHILDREN":
                     return ClippingModeType.ClipChildren;
+                    case "CLIP_TO_BOUNDING_BOX":
+                    return ClippingModeType.ClipToBoundingBox;
                     default:
                     return ClippingModeType.Disabled;
                 }
@@ -4001,7 +4190,7 @@ namespace Tizen.NUI.BaseComponents
         /// <summary>
         /// Gets the number of renderers held by the view.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
+        /// <since_tizen> 3 </since_tizen>
         public uint RendererCount
         {
             get
@@ -4012,8 +4201,14 @@ namespace Tizen.NUI.BaseComponents
 
 
 
-
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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 TouchEvent.
+        [Obsolete("Please do not use! This will be deprecated! Please use TouchEvent instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandlerWithReturnType<object, TouchEventArgs, bool> Touched
         {
             add
@@ -4039,7 +4234,14 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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 HoverEvent.
+        [Obsolete("Please do not use! This will be deprecated! Please use HoverEvent instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandlerWithReturnType<object, HoverEventArgs, bool> Hovered
         {
             add
@@ -4065,7 +4267,14 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <summary>
+        /// 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 WheelEvent.
+        [Obsolete("Please do not use! This will be deprecated! Please use WheelEvent instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelMoved
         {
             add
@@ -4091,7 +4300,18 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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
@@ -4106,7 +4326,15 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated, please use Size2D instead")]
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use Size2D instead! " +
+            "Like: " +
+            "View view = new View(); " +
+            "view.Size2D = new Size2D(100, 100);")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Size Size
         {
             get
@@ -4121,7 +4349,14 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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 AddedToWindow.
+        [Obsolete("Please do not use! This will be deprecated! Please use AddedToWindow instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler OnWindowEvent
         {
             add
@@ -4146,7 +4381,14 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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 RemovedFromWindow.
+        [Obsolete("Please do not use! This will be deprecated! Please use RemovedFromWindow instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler OffWindowEvent
         {
             add
@@ -4171,7 +4413,14 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        [Obsolete("Please do not use! this will be deprecated")]
+        /// <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 Relayout.
+        [Obsolete("Please do not use! This will be deprecated! Please use Relayout instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler OnRelayoutEvent
         {
             add
@@ -4197,8 +4446,15 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        //"Please DO NOT use! This will be deprecated! Please use 'Container GetParent() for derived class' instead!"
-        [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
+        /// <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
         {
             get
@@ -4261,6 +4517,46 @@ namespace Tizen.NUI.BaseComponents
                 SetProperty(View.Property.LAYOUT_DIRECTION, new Tizen.NUI.PropertyValue((int)value));
             }
         }
+
+        /// <summary>
+        /// Gets or sets the Margin for use in layout.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public Extents Margin
+        {
+            get
+            {
+                Extents temp = new Extents(0, 0, 0, 0);
+                GetProperty(View.Property.MARGIN).Get(temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.MARGIN, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// </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
+        {
+            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));
+            }
+        }
     }
 
     /// <summary>
@@ -4269,7 +4565,15 @@ namespace Tizen.NUI.BaseComponents
     /// <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
     }
-}
\ No newline at end of file
+}