[NUI] Refactor dispose pattern to reduce duplication (#1112)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / UIComponents / Popup.cs
index 3da49bf..1202f40 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2019 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.
@@ -18,6 +18,7 @@ using System;
 using System.ComponentModel;
 using System.Runtime.InteropServices;
 using Tizen.NUI.BaseComponents;
+using Tizen.NUI.Binding;
 
 namespace Tizen.NUI.UIComponents
 {
@@ -25,154 +26,574 @@ namespace Tizen.NUI.UIComponents
     /// The Popup widget provides a configurable popup dialog with a built-in layout of three main fields.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
+    /// This will be deprecated
+    [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+    [EditorBrowsable(EditorBrowsableState.Never)]
     public class Popup : View
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn)
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TitleProperty = BindableProperty.Create("Title", typeof(PropertyMap), typeof(Popup), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj)
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TITLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
         {
-            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)
+            var popup = (Popup)bindable;
+            PropertyMap temp = new PropertyMap();
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TITLE).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ContentProperty = BindableProperty.Create("Content", typeof(PropertyMap), typeof(Popup), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
-            if (disposed)
+            var popup = (Popup)bindable;
+            if (newValue != null)
             {
-                return;
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.CONTENT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
-
-            if (type == DisposeTypes.Explicit)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            PropertyMap temp = new PropertyMap();
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.CONTENT).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty FooterProperty = BindableProperty.Create("Footer", typeof(PropertyMap), typeof(Popup), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.FOOTER, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
             }
-
-            //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 (_popUpHiddenEventCallbackDelegate != null)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            PropertyMap temp = new PropertyMap();
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.FOOTER).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty DisplayStateProperty = BindableProperty.Create("DisplayState", typeof(DisplayStateType), typeof(Popup), DisplayStateType.Hidden, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            string valueToString = "";
+            if (newValue != null)
             {
-                HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
+                switch ((DisplayStateType)newValue)
+                {
+                    case DisplayStateType.Showing:
+                        {
+                            valueToString = "SHOWING";
+                            break;
+                        }
+                    case DisplayStateType.Shown:
+                        {
+                            valueToString = "SHOWN";
+                            break;
+                        }
+                    case DisplayStateType.Hiding:
+                        {
+                            valueToString = "HIDING";
+                            break;
+                        }
+                    case DisplayStateType.Hidden:
+                        {
+                            valueToString = "HIDDEN";
+                            break;
+                        }
+                    default:
+                        {
+                            valueToString = "HIDDEN";
+                            break;
+                        }
+                }
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.DISPLAY_STATE, new Tizen.NUI.PropertyValue(valueToString));
             }
-
-            if (_popUpHidingEventCallbackDelegate != null)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            if (Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.DISPLAY_STATE).Get(out temp) == false)
+            {
+                NUILog.Error("DisplayState get error!");
+            }
+            switch (temp)
+            {
+                case "SHOWING":
+                    return DisplayStateType.Showing;
+                case "SHOWN":
+                    return DisplayStateType.Shown;
+                case "HIDING":
+                    return DisplayStateType.Hiding;
+                case "HIDDEN":
+                    return DisplayStateType.Hidden;
+                default:
+                    return DisplayStateType.Hidden;
+            }
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TouchTransparentProperty = BindableProperty.Create("TouchTransparent", typeof(bool), typeof(Popup), false, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
             {
-                HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TOUCH_TRANSPARENT, new Tizen.NUI.PropertyValue((bool)newValue));
             }
-
-            if (_popUpShownEventCallbackDelegate != null)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            bool temp = false;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TOUCH_TRANSPARENT).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TailVisibilityProperty = BindableProperty.Create("TailVisibility", typeof(bool), typeof(Popup), false, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
             {
-                ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TAIL_VISIBILITY, new Tizen.NUI.PropertyValue((bool)newValue));
             }
-
-            if (_popUpShowingEventCallbackDelegate != null)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            bool temp = false;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TAIL_VISIBILITY).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TailPositionProperty = BindableProperty.Create("TailPosition", typeof(Vector3), typeof(Popup), Vector3.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
             {
-                ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TAIL_POSITION, new Tizen.NUI.PropertyValue((Vector3)newValue));
             }
-
-            if (_popUpOutsideTouchedEventCallbackDelegate != null)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TAIL_POSITION).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ContextualModeProperty = BindableProperty.Create("ContextualMode", typeof(ContextualModeType), typeof(Popup), ContextualModeType.Below, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            string valueToString = "";
+            if (newValue != null)
             {
-                this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
+                switch ((ContextualModeType)newValue)
+                {
+                    case ContextualModeType.NonContextual:
+                    {
+                        valueToString = "NON_CONTEXTUAL";
+                        break;
+                    }
+                    case ContextualModeType.Above:
+                    {
+                        valueToString = "ABOVE";
+                        break;
+                    }
+                    case ContextualModeType.Rright:
+                    {
+                        valueToString = "RIGHT";
+                        break;
+                    }
+                    case ContextualModeType.Below:
+                    {
+                        valueToString = "BELOW";
+                        break;
+                    }
+                    case ContextualModeType.Left:
+                    {
+                        valueToString = "LEFT";
+                        break;
+                    }
+                    default:
+                    {
+                        valueToString = "BELOW";
+                        break;
+                    }
+                }
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.CONTEXTUAL_MODE, new Tizen.NUI.PropertyValue(valueToString));
             }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            if (Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.CONTEXTUAL_MODE).Get(out temp) == false)
+            {
+                NUILog.Error("ContextualMode get error!");
+            }
+            switch (temp)
+            {
+                case "NON_CONTEXTUAL":
+                    return ContextualModeType.NonContextual;
+                case "ABOVE":
+                    return ContextualModeType.Above;
+                case "RIGHT":
+                    return ContextualModeType.Rright;
+                case "BELOW":
+                    return ContextualModeType.Below;
+                case "LEFT":
+                    return ContextualModeType.Left;
+                default:
+                    return ContextualModeType.Below;
+            }
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AnimationDurationProperty = BindableProperty.Create("AnimationDuration", typeof(float), typeof(Popup), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.ANIMATION_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            float temp = 0.0f;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.ANIMATION_DURATION).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AnimationModeProperty = BindableProperty.Create("AnimationMode", typeof(AnimationModeType), typeof(Popup), AnimationModeType.Fade, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            string valueToString = "";
+            if (newValue != null)
             {
-                if (swigCMemOwn)
+                switch ((AnimationModeType)newValue)
                 {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Popup(swigCPtr);
+                    case AnimationModeType.None:
+                    {
+                        valueToString = "NONE";
+                        break;
+                    }
+                    case AnimationModeType.Zoom:
+                    {
+                        valueToString = "ZOOM";
+                        break;
+                    }
+                    case AnimationModeType.Fade:
+                    {
+                        valueToString = "FADE";
+                        break;
+                    }
+                    case AnimationModeType.Custom:
+                    {
+                        valueToString = "CUSTOM";
+                        break;
+                    }
+                    default:
+                    {
+                        valueToString = "FADE";
+                        break;
+                    }
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.ANIMATION_MODE, new Tizen.NUI.PropertyValue(valueToString));
             }
-
-            base.Dispose(type);
-        }
-
-
-
-
-        /// <summary>
-        /// Event arguments that passed via the OutsideTouchedEvent.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TouchedOutsideEventArgs : EventArgs
+        },
+        defaultValueCreator:(bindable) =>
         {
-        }
-
-        /// <summary>
-        /// Event arguments that passed via the ShowingEventArgs.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ShowingEventArgs : EventArgs
+            var popup = (Popup)bindable;
+            string temp;
+            if (Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.ANIMATION_MODE).Get(out temp) == false)
+            {
+                NUILog.Error("AnimationMode get error!");
+            }
+            switch (temp)
+            {
+                case "NONE":
+                    return AnimationModeType.None;
+                case "ZOOM":
+                    return AnimationModeType.Zoom;
+                case "FADE":
+                    return AnimationModeType.Fade;
+                case "CUSTOM":
+                    return AnimationModeType.Custom;
+                default:
+                    return AnimationModeType.Fade;
+            }
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty EntryAnimationProperty = BindableProperty.Create("EntryAnimation", typeof(PropertyMap), typeof(Popup), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
-        }
-
-        /// <summary>
-        /// Event arguments that passed via the ShownEventArgs.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ShownEventArgs : EventArgs
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.ENTRY_ANIMATION, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
         {
-        }
+            var popup = (Popup)bindable;
+            PropertyMap temp = new PropertyMap();
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.ENTRY_ANIMATION).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty ExitAnimationProperty = BindableProperty.Create("ExitAnimation", typeof(PropertyMap), typeof(Popup), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.EXIT_ANIMATION, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            PropertyMap temp = new PropertyMap();
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.EXIT_ANIMATION).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty AutoHideDelayProperty = BindableProperty.Create("AutoHideDelay", typeof(int), typeof(Popup), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.AUTO_HIDE_DELAY, new Tizen.NUI.PropertyValue((int)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            int temp = 0;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.AUTO_HIDE_DELAY).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty BackingEnabledProperty = BindableProperty.Create("BackingEnabled", typeof(bool), typeof(Popup), false, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.BACKING_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            bool temp = false;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.BACKING_ENABLED).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty BackingColorProperty = BindableProperty.Create("BackingColor", typeof(Vector4), typeof(Popup), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.BACKING_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.BACKING_COLOR).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PopupBackgroundImageProperty = BindableProperty.Create("PopupBackgroundImage", typeof(string), typeof(Popup), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.POPUP_BACKGROUND_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.POPUP_BACKGROUND_IMAGE).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty PopupBackgroundBorderProperty = BindableProperty.Create("PopupBackgroundBorder", typeof(Rectangle), typeof(Popup), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.POPUP_BACKGROUND_BORDER, new Tizen.NUI.PropertyValue((Rectangle)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            Rectangle temp = new Rectangle(0, 0, 0, 0);
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.POPUP_BACKGROUND_BORDER).Get(temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TailUpImageProperty = BindableProperty.Create("TailUpImage", typeof(string), typeof(Popup), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TAIL_UP_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TAIL_UP_IMAGE).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TailDownImageProperty = BindableProperty.Create("TailDownImage", typeof(string), typeof(Popup), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TAIL_DOWN_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TAIL_DOWN_IMAGE).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TailLeftImageProperty = BindableProperty.Create("TailLeftImage", typeof(string), typeof(Popup), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TAIL_LEFT_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TAIL_LEFT_IMAGE).Get(out temp);
+            return temp;
+        });
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static readonly BindableProperty TailRightImageProperty = BindableProperty.Create("TailRightImage", typeof(string), typeof(Popup), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        {
+            var popup = (Popup)bindable;
+            if (newValue != null)
+            {
+                Tizen.NUI.Object.SetProperty(popup.swigCPtr, Popup.Property.TAIL_RIGHT_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
+            }
+        },
+        defaultValueCreator:(bindable) =>
+        {
+            var popup = (Popup)bindable;
+            string temp;
+            Tizen.NUI.Object.GetProperty(popup.swigCPtr, Popup.Property.TAIL_RIGHT_IMAGE).Get(out temp);
+            return temp;
+        });
+
+        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
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Popup() : this(Interop.Popup.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(Interop.Popup.Popup_SWIGUpcast(cPtr), cMemoryOwn)
         {
         }
 
         [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.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler<TouchedOutsideEventArgs> TouchedOutside
         {
             add
@@ -194,22 +615,13 @@ 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>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler<ShowingEventArgs> Showing
         {
             add
@@ -231,23 +643,13 @@ 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>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler<ShownEventArgs> Shown
         {
             add
@@ -269,22 +671,13 @@ 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>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler<HidingEventArgs> Hiding
         {
             add
@@ -306,22 +699,13 @@ 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>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public event EventHandler<HiddenEventArgs> Hidden
         {
             add
@@ -343,204 +727,46 @@ namespace Tizen.NUI.UIComponents
             }
         }
 
-        // 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);
-            }
-        }
-
-        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()
-        {
-            IntPtr cPtr = NDalicPINVOKE.Popup_GetTitle(swigCPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
-
-            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()
-        {
-            IntPtr cPtr = NDalicPINVOKE.Popup_GetContent(swigCPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
-
-            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()
-        {
-            IntPtr cPtr = NDalicPINVOKE.Popup_GetFooter(swigCPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
-
-            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 display states of the popup.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public enum DisplayStateType
         {
             /// <summary>
             /// The popup is transitioning in
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Showing,
             /// <summary>
             /// The popup is fully shown
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Shown,
             /// <summary>
             /// The popup is transitioning out
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Hiding,
             /// <summary>
             /// The popup is fully hidden
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Hidden
         }
 
@@ -549,27 +775,42 @@ namespace Tizen.NUI.UIComponents
         /// Choose from a predefined mode or "CUSTOM" to use the ANIMATION_IN and ANIMATION_OUT properties.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public enum AnimationModeType
         {
             /// <summary>
             /// No animation.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             None,
             /// <summary>
             /// Popup zooms in and out animating the scale property.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Zoom,
             /// <summary>
             /// Popup fades in and out
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Fade,
             /// <summary>
             /// Use the EntryAnimation and ExitAnimation animation properties.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Custom
         }
 
@@ -579,32 +820,50 @@ namespace Tizen.NUI.UIComponents
         /// NON_CONTEXTUAL disables any contextual positioning.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public enum ContextualModeType
         {
             /// <summary>
             /// any contextual positioning
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             NonContextual,
             /// <summary>
             /// Above
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Above,
             /// <summary>
             /// Rright
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Rright,
             /// <summary>
             /// Below
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Below,
             /// <summary>
             /// Left
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
+            /// This will be deprecated
+            [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+            [EditorBrowsable(EditorBrowsableState.Never)]
             Left
         }
 
@@ -612,499 +871,738 @@ namespace Tizen.NUI.UIComponents
         /// The popup title.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public PropertyMap Title
         {
             get
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(Popup.Property.TITLE).Get(temp);
-                return temp;
+                return (PropertyMap)GetValue(TitleProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TITLE, new Tizen.NUI.PropertyValue(value));
+                SetValue(TitleProperty, value);
             }
         }
+
         /// <summary>
         /// The popup content.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public PropertyMap Content
         {
             get
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(Popup.Property.CONTENT).Get(temp);
-                return temp;
+                return (PropertyMap)GetValue(ContentProperty);
             }
             set
             {
-                SetProperty(Popup.Property.CONTENT, new Tizen.NUI.PropertyValue(value));
+                SetValue(ContentProperty, value);
             }
         }
+
         /// <summary>
         /// The popup footer.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public PropertyMap Footer
         {
             get
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(Popup.Property.FOOTER).Get(temp);
-                return temp;
+                return (PropertyMap)GetValue(FooterProperty);
             }
             set
             {
-                SetProperty(Popup.Property.FOOTER, new Tizen.NUI.PropertyValue(value));
+                SetValue(FooterProperty, value);
             }
         }
+
         /// <summary>
         /// The popup display state.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public DisplayStateType DisplayState
         {
             get
             {
-                string temp;
-                if (GetProperty(Popup.Property.DISPLAY_STATE).Get(out temp) == false)
-                {
-                    NUILog.Error("DisplayState get error!");
-                }
-                switch (temp)
-                {
-                    case "SHOWING":
-                        return DisplayStateType.Showing;
-                    case "SHOWN":
-                        return DisplayStateType.Shown;
-                    case "HIDING":
-                        return DisplayStateType.Hiding;
-                    case "HIDDEN":
-                        return DisplayStateType.Hidden;
-                    default:
-                        return DisplayStateType.Hidden;
-                }
+                return (DisplayStateType)GetValue(DisplayStateProperty);
             }
             set
             {
-                string valueToString = "";
-                switch (value)
-                {
-                    case DisplayStateType.Showing:
-                        {
-                            valueToString = "SHOWING";
-                            break;
-                        }
-                    case DisplayStateType.Shown:
-                        {
-                            valueToString = "SHOWN";
-                            break;
-                        }
-                    case DisplayStateType.Hiding:
-                        {
-                            valueToString = "HIDING";
-                            break;
-                        }
-                    case DisplayStateType.Hidden:
-                        {
-                            valueToString = "HIDDEN";
-                            break;
-                        }
-                    default:
-                        {
-                            valueToString = "HIDDEN";
-                            break;
-                        }
-                }
-                SetProperty(Popup.Property.DISPLAY_STATE, new Tizen.NUI.PropertyValue(valueToString));
+                SetValue(DisplayStateProperty, value);
             }
         }
+
         /// <summary>
         /// The touch transparent.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public bool TouchTransparent
         {
             get
             {
-                bool temp = false;
-                GetProperty(Popup.Property.TOUCH_TRANSPARENT).Get(out temp);
-                return temp;
+                return (bool)GetValue(TouchTransparentProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TOUCH_TRANSPARENT, new Tizen.NUI.PropertyValue(value));
+                SetValue(TouchTransparentProperty, value);
             }
         }
+
         /// <summary>
         /// The popup tail visibility.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public bool TailVisibility
         {
             get
             {
-                bool temp = false;
-                GetProperty(Popup.Property.TAIL_VISIBILITY).Get(out temp);
-                return temp;
+                return (bool)GetValue(TailVisibilityProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TAIL_VISIBILITY, new Tizen.NUI.PropertyValue(value));
+                SetValue(TailVisibilityProperty, value);
             }
         }
+
         /// <summary>
         /// The popup tail position.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector3 TailPosition
         {
             get
             {
-                Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
-                GetProperty(Popup.Property.TAIL_POSITION).Get(temp);
-                return temp;
+                return (Vector3)GetValue(TailPositionProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TAIL_POSITION, new Tizen.NUI.PropertyValue(value));
+                SetValue(TailPositionProperty, value);
             }
         }
+
         /// <summary>
         /// The contextual mode.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public ContextualModeType ContextualMode
         {
             get
             {
-                string temp;
-                if (GetProperty(Popup.Property.CONTEXTUAL_MODE).Get(out temp) == false)
-                {
-                    NUILog.Error("ContextualMode get error!");
-                }
-                switch (temp)
-                {
-                    case "NON_CONTEXTUAL":
-                        return ContextualModeType.NonContextual;
-                    case "ABOVE":
-                        return ContextualModeType.Above;
-                    case "RIGHT":
-                        return ContextualModeType.Rright;
-                    case "BELOW":
-                        return ContextualModeType.Below;
-                    case "LEFT":
-                        return ContextualModeType.Left;
-                    default:
-                        return ContextualModeType.Below;
-                }
+                return (ContextualModeType)GetValue(ContextualModeProperty);
             }
             set
             {
-                string valueToString = "";
-                switch (value)
-                {
-                    case ContextualModeType.NonContextual:
-                        {
-                            valueToString = "NON_CONTEXTUAL";
-                            break;
-                        }
-                    case ContextualModeType.Above:
-                        {
-                            valueToString = "ABOVE";
-                            break;
-                        }
-                    case ContextualModeType.Rright:
-                        {
-                            valueToString = "RIGHT";
-                            break;
-                        }
-                    case ContextualModeType.Below:
-                        {
-                            valueToString = "BELOW";
-                            break;
-                        }
-                    case ContextualModeType.Left:
-                        {
-                            valueToString = "LEFT";
-                            break;
-                        }
-                    default:
-                        {
-                            valueToString = "BELOW";
-                            break;
-                        }
-                }
-                SetProperty(Popup.Property.CONTEXTUAL_MODE, new Tizen.NUI.PropertyValue(valueToString));
+                SetValue(ContextualModeProperty, value);
             }
         }
+
         /// <summary>
         /// The animation duration.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public float AnimationDuration
         {
             get
             {
-                float temp = 0.0f;
-                GetProperty(Popup.Property.ANIMATION_DURATION).Get(out temp);
-                return temp;
+                return (float)GetValue(AnimationDurationProperty);
             }
             set
             {
-                SetProperty(Popup.Property.ANIMATION_DURATION, new Tizen.NUI.PropertyValue(value));
+                SetValue(AnimationDurationProperty, value);
             }
         }
+
         /// <summary>
         /// The animation mode.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public AnimationModeType AnimationMode
         {
             get
             {
-                string temp;
-                if (GetProperty(Popup.Property.ANIMATION_MODE).Get(out temp) == false)
-                {
-                    NUILog.Error("AnimationMode get error!");
-                }
-                switch (temp)
-                {
-                    case "NONE":
-                        return AnimationModeType.None;
-                    case "ZOOM":
-                        return AnimationModeType.Zoom;
-                    case "FADE":
-                        return AnimationModeType.Fade;
-                    case "CUSTOM":
-                        return AnimationModeType.Custom;
-                    default:
-                        return AnimationModeType.Fade;
-                }
+                return (AnimationModeType)GetValue(AnimationModeProperty);
             }
             set
             {
-                string valueToString = "";
-                switch (value)
-                {
-                    case AnimationModeType.None:
-                        {
-                            valueToString = "NONE";
-                            break;
-                        }
-                    case AnimationModeType.Zoom:
-                        {
-                            valueToString = "ZOOM";
-                            break;
-                        }
-                    case AnimationModeType.Fade:
-                        {
-                            valueToString = "FADE";
-                            break;
-                        }
-                    case AnimationModeType.Custom:
-                        {
-                            valueToString = "CUSTOM";
-                            break;
-                        }
-                    default:
-                        {
-                            valueToString = "FADE";
-                            break;
-                        }
-                }
-                SetProperty(Popup.Property.ANIMATION_MODE, new Tizen.NUI.PropertyValue(valueToString));
+                SetValue(AnimationModeProperty, value);
             }
         }
+
         /// <summary>
         /// The entry animation.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public PropertyMap EntryAnimation
         {
             get
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(Popup.Property.ENTRY_ANIMATION).Get(temp);
-                return temp;
+                return (PropertyMap)GetValue(EntryAnimationProperty);
             }
             set
             {
-                SetProperty(Popup.Property.ENTRY_ANIMATION, new Tizen.NUI.PropertyValue(value));
+                SetValue(EntryAnimationProperty, value);
             }
         }
+
         /// <summary>
         /// The exit animation.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public PropertyMap ExitAnimation
         {
             get
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(Popup.Property.EXIT_ANIMATION).Get(temp);
-                return temp;
+                return (PropertyMap)GetValue(ExitAnimationProperty);
             }
             set
             {
-                SetProperty(Popup.Property.EXIT_ANIMATION, new Tizen.NUI.PropertyValue(value));
+                SetValue(ExitAnimationProperty, value);
             }
         }
+
         /// <summary>
         /// The auto hide delay.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public int AutoHideDelay
         {
             get
             {
-                int temp = 0;
-                GetProperty(Popup.Property.AUTO_HIDE_DELAY).Get(out temp);
-                return temp;
+                return (int)GetValue(AutoHideDelayProperty);
             }
             set
             {
-                SetProperty(Popup.Property.AUTO_HIDE_DELAY, new Tizen.NUI.PropertyValue(value));
+                SetValue(AutoHideDelayProperty, value);
             }
         }
+
         /// <summary>
         /// The backing enabled.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public bool BackingEnabled
         {
             get
             {
-                bool temp = false;
-                GetProperty(Popup.Property.BACKING_ENABLED).Get(out temp);
-                return temp;
+                return (bool)GetValue(BackingEnabledProperty);
             }
             set
             {
-                SetProperty(Popup.Property.BACKING_ENABLED, new Tizen.NUI.PropertyValue(value));
+                SetValue(BackingEnabledProperty, value);
             }
         }
+
         /// <summary>
         /// The backing color.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Vector4 BackingColor
         {
             get
             {
-                Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-                GetProperty(Popup.Property.BACKING_COLOR).Get(temp);
-                return temp;
+                return (Vector4)GetValue(BackingColorProperty);
             }
             set
             {
-                SetProperty(Popup.Property.BACKING_COLOR, new Tizen.NUI.PropertyValue(value));
+                SetValue(BackingColorProperty, value);
             }
         }
+
         /// <summary>
         /// The background image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public string PopupBackgroundImage
         {
             get
             {
-                string temp;
-                GetProperty(Popup.Property.POPUP_BACKGROUND_IMAGE).Get(out temp);
-                return temp;
+                return (string)GetValue(PopupBackgroundImageProperty);
             }
             set
             {
-                SetProperty(Popup.Property.POPUP_BACKGROUND_IMAGE, new Tizen.NUI.PropertyValue(value));
+                SetValue(PopupBackgroundImageProperty, value);
             }
         }
+
         /// <summary>
         /// The background border.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Rectangle PopupBackgroundBorder
         {
             get
             {
-                Rectangle temp = new Rectangle(0, 0, 0, 0);
-                GetProperty(Popup.Property.POPUP_BACKGROUND_BORDER).Get(temp);
-                return temp;
+                return (Rectangle)GetValue(PopupBackgroundBorderProperty);
             }
             set
             {
-                SetProperty(Popup.Property.POPUP_BACKGROUND_BORDER, new Tizen.NUI.PropertyValue(value));
+                SetValue(PopupBackgroundBorderProperty, value);
             }
         }
+
         /// <summary>
         /// The tail up image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public string TailUpImage
         {
             get
             {
-                string temp;
-                GetProperty(Popup.Property.TAIL_UP_IMAGE).Get(out temp);
-                return temp;
+                return (string)GetValue(TailUpImageProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TAIL_UP_IMAGE, new Tizen.NUI.PropertyValue(value));
+                SetValue(TailUpImageProperty, value);
             }
         }
+
         /// <summary>
         /// The tail down image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public string TailDownImage
         {
             get
             {
-                string temp;
-                GetProperty(Popup.Property.TAIL_DOWN_IMAGE).Get(out temp);
-                return temp;
+                return (string)GetValue(TailDownImageProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TAIL_DOWN_IMAGE, new Tizen.NUI.PropertyValue(value));
+                SetValue(TailDownImageProperty, value);
             }
         }
+
         /// <summary>
         /// The tail left image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public string TailLeftImage
         {
             get
             {
-                string temp;
-                GetProperty(Popup.Property.TAIL_LEFT_IMAGE).Get(out temp);
-                return temp;
+                return (string)GetValue(TailLeftImageProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TAIL_LEFT_IMAGE, new Tizen.NUI.PropertyValue(value));
+                SetValue(TailLeftImageProperty, value);
             }
         }
+
         /// <summary>
         /// The tail right image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public string TailRightImage
         {
             get
             {
-                string temp;
-                GetProperty(Popup.Property.TAIL_RIGHT_IMAGE).Get(out temp);
-                return temp;
+                return (string)GetValue(TailRightImageProperty);
             }
             set
             {
-                SetProperty(Popup.Property.TAIL_RIGHT_IMAGE, new Tizen.NUI.PropertyValue(value));
+                SetValue(TailRightImageProperty, value);
             }
         }
 
-    }
+        /// <summary>
+        /// Sets the title for this popup.
+        /// </summary>
+        /// <param name="titleView">The actor to set the title.</param>
+        /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetTitle(View titleView)
+        {
+            Interop.Popup.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>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetContent(View content)
+        {
+            Interop.Popup.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>
+        /// This will be deprecated
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        public void SetFooter(View footer)
+        {
+            Interop.Popup.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>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetDisplayState(Popup.DisplayStateType displayState)
+        {
+            Interop.Popup.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 = Interop.Popup.Popup_GetTitle(swigCPtr);
+            View ret = this.GetInstanceSafely<View>(cPtr);
+            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 = Interop.Popup.Popup_GetContent(swigCPtr);
+            View ret = this.GetInstanceSafely<View>(cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-}
\ No newline at end of file
+        internal View GetFooter()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = Interop.Popup.Popup_GetFooter(swigCPtr);
+            View ret = this.GetInstanceSafely<View>(cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Popup.DisplayStateType GetDisplayState()
+        {
+            Popup.DisplayStateType ret = (Popup.DisplayStateType)Interop.Popup.Popup_GetDisplayState(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal OutsideTouchedSignal()
+        {
+            VoidSignal ret = new VoidSignal(Interop.Popup.Popup_OutsideTouchedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal ShowingSignal()
+        {
+            VoidSignal ret = new VoidSignal(Interop.Popup.Popup_ShowingSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal ShownSignal()
+        {
+            VoidSignal ret = new VoidSignal(Interop.Popup.Popup_ShownSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal HidingSignal()
+        {
+            VoidSignal ret = new VoidSignal(Interop.Popup.Popup_HidingSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VoidSignal HiddenSignal()
+        {
+            VoidSignal ret = new VoidSignal(Interop.Popup.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>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            //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);
+            }
+
+            base.Dispose(type);
+        }
+
+        /// This will not be public opened.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
+        {
+            Interop.Popup.delete_Popup(swigCPtr);
+        }
+
+        // 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>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class TouchedOutsideEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the ShowingEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class ShowingEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the ShownEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class ShownEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the HidingEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class HidingEventArgs : EventArgs
+        {
+        }
+
+        /// <summary>
+        /// Event arguments that passed via the HiddenEventArgs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// This will be deprecated
+        [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class HiddenEventArgs : EventArgs
+        {
+        }
+
+        internal new class Property
+        {
+            internal static readonly int TITLE = Interop.Popup.Popup_Property_TITLE_get();
+            internal static readonly int CONTENT = Interop.Popup.Popup_Property_CONTENT_get();
+            internal static readonly int FOOTER = Interop.Popup.Popup_Property_FOOTER_get();
+            internal static readonly int DISPLAY_STATE = Interop.Popup.Popup_Property_DISPLAY_STATE_get();
+            internal static readonly int TOUCH_TRANSPARENT = Interop.Popup.Popup_Property_TOUCH_TRANSPARENT_get();
+            internal static readonly int TAIL_VISIBILITY = Interop.Popup.Popup_Property_TAIL_VISIBILITY_get();
+            internal static readonly int TAIL_POSITION = Interop.Popup.Popup_Property_TAIL_POSITION_get();
+            internal static readonly int CONTEXTUAL_MODE = Interop.Popup.Popup_Property_CONTEXTUAL_MODE_get();
+            internal static readonly int ANIMATION_DURATION = Interop.Popup.Popup_Property_ANIMATION_DURATION_get();
+            internal static readonly int ANIMATION_MODE = Interop.Popup.Popup_Property_ANIMATION_MODE_get();
+            internal static readonly int ENTRY_ANIMATION = Interop.Popup.Popup_Property_ENTRY_ANIMATION_get();
+            internal static readonly int EXIT_ANIMATION = Interop.Popup.Popup_Property_EXIT_ANIMATION_get();
+            internal static readonly int AUTO_HIDE_DELAY = Interop.Popup.Popup_Property_AUTO_HIDE_DELAY_get();
+            internal static readonly int BACKING_ENABLED = Interop.Popup.Popup_Property_BACKING_ENABLED_get();
+            internal static readonly int BACKING_COLOR = Interop.Popup.Popup_Property_BACKING_COLOR_get();
+            internal static readonly int POPUP_BACKGROUND_IMAGE = Interop.Popup.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
+            internal static readonly int POPUP_BACKGROUND_BORDER = Interop.Popup.Popup_Property_POPUP_BACKGROUND_BORDER_get();
+            internal static readonly int TAIL_UP_IMAGE = Interop.Popup.Popup_Property_TAIL_UP_IMAGE_get();
+            internal static readonly int TAIL_DOWN_IMAGE = Interop.Popup.Popup_Property_TAIL_DOWN_IMAGE_get();
+            internal static readonly int TAIL_LEFT_IMAGE = Interop.Popup.Popup_Property_TAIL_LEFT_IMAGE_get();
+            internal static readonly int TAIL_RIGHT_IMAGE = Interop.Popup.Popup_Property_TAIL_RIGHT_IMAGE_get();
+        }
+    }
+}