[NUI][Xaml] Remove unused method
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextEditor.cs
index d90c82b..b338296 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2021 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.
@@ -19,10 +19,9 @@ extern alias TizenSystemSettings;
 using TizenSystemSettings.Tizen.System;
 
 using System;
-using System.Runtime.InteropServices;
 using System.Globalization;
 using System.ComponentModel;
-using Tizen.NUI.Binding;
+using Tizen.NUI.Text;
 
 namespace Tizen.NUI.BaseComponents
 {
@@ -30,2243 +29,2292 @@ namespace Tizen.NUI.BaseComponents
     /// A control which provides a multi-line editable text editor.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public class TextEditor : View
+    public partial class TextEditor : View
     {
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_FAMILY).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_STYLE).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.POINT_SIZE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            if (Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
-            {
-                NUILog.Error("HorizontalAlignment get error!");
-            }
+        private string textEditorTextSid = null;
+        private string textEditorPlaceHolderTextSid = null;
+        private bool systemlangTextFlag = false;
+        private InputMethodContext inputMethodContext = null;
+        private float fontSizeScale = 1.0f;
+        private bool hasFontSizeChangedCallback = false;
+        private bool isSettingTextInCSharp = false;
 
-            switch (temp)
-            {
-                case "BEGIN":
-                    return HorizontalAlignment.Begin;
-                case "CENTER":
-                    return HorizontalAlignment.Center;
-                case "END":
-                    return HorizontalAlignment.End;
-                default:
-                    return HorizontalAlignment.Begin;
-            }
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create("ScrollThreshold", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_THRESHOLD).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create("ScrollSpeed", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_SPEED).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create("PrimaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PRIMARY_CURSOR_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create("SecondaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SECONDARY_CURSOR_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create("EnableCursorBlink", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_CURSOR_BLINK).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create("CursorBlinkInterval", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create("CursorBlinkDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_DURATION).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create("CursorWidth", typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue((int)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            int temp = 0;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_WIDTH).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create("GrabHandleImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_IMAGE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create("GrabHandlePressedImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create("SelectionHighlightColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create("DecorationBoundingBox", typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue((Rectangle)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
+        static TextEditor() { }
+
+        /// <summary>
+        /// Creates the TextEditor control.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public TextEditor() : this(Interop.TextEditor.New(), true)
         {
-            var textEditor = (TextEditor)bindable;
-            Rectangle temp = new Rectangle(0, 0, 0, 0);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.DECORATION_BOUNDING_BOX).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates the TextEditor with specified style.
+        /// </summary>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
+        public TextEditor(TextEditorStyle style) : this(Interop.TextLabel.New(), true, style: style)
         {
-            var textEditor = (TextEditor)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_MARKUP).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        }
+
+        /// <summary>
+        /// Creates the TextEditor with setting the status of shown or hidden.
+        /// </summary>
+        /// <param name="shown">false : Not displayed (hidden), true : displayed (shown)</param>
+        /// This will be public opened in next release of tizen after ACR done. Before ACR, it is used as HiddenAPI (InhouseAPI).
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputColorProperty = BindableProperty.Create("InputColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
+        public TextEditor(bool shown) : this(Interop.TextEditor.New(), true)
         {
-            var textEditor = (TextEditor)bindable;
-            Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create("InputFontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            SetVisible(shown);
+        }
+
+        internal TextEditor(TextEditor handle, bool shown = true) : this(Interop.TextEditor.NewTextEditor(TextEditor.getCPtr(handle)), true)
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if (!shown)
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
+                SetVisible(false);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_FAMILY).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create("InputFontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+
+            TextChanged += TextEditorTextChanged;
+        }
+
+        internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn, bool shown = true, TextEditorStyle style = null) : base(cPtr, cMemoryOwn, style)
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            if (!shown)
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+                SetVisible(false);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_STYLE).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create("InputPointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+
+            TextChanged += TextEditorTextChanged;
+        }
+
+        /// <summary>
+        /// The TranslatableText property.<br />
+        /// The text can set the SID value.<br />
+        /// </summary>
+        /// <exception cref='ArgumentNullException'>
+        /// ResourceManager about multilingual is null.
+        /// </exception>
+        /// <since_tizen> 4 </since_tizen>
+        public string TranslatableText
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
+                return textEditorTextSid;
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_POINT_SIZE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create("LineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
+                if (NUIApplication.MultilingualResourceManager == null)
+                {
+                    throw new ArgumentNullException(null, "ResourceManager about multilingual is null");
+                }
+                textEditorTextSid = value;
+                Text = SetTranslatable(textEditorTextSid);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_SPACING).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create("InputLineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        }
+        /// <summary>
+        /// The TranslatablePlaceholderText property.<br />
+        /// The text can set the SID value.<br />
+        /// </summary>
+        /// <exception cref='ArgumentNullException'>
+        /// ResourceManager about multilingual is null.
+        /// </exception>
+        /// <since_tizen> 4 </since_tizen>
+        public string TranslatablePlaceholderText
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
+                return textEditorPlaceHolderTextSid;
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_LINE_SPACING).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+                if (NUIApplication.MultilingualResourceManager == null)
+                {
+                    throw new ArgumentNullException(null, "ResourceManager about multilingual is null");
+                }
+                textEditorPlaceHolderTextSid = value;
+                PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.UNDERLINE).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create("InputUnderline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The Text property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string Text
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue((string)newValue));
+                return (string)GetValue(TextProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_UNDERLINE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+                SetValue(TextProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SHADOW).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create("InputShadow", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The TextColor property.
+        /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.TextColor.X = 0.1f;) is possible.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector4 TextColor
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue((string)newValue));
+                Vector4 temp = (Vector4)GetValue(TextColorProperty);
+                return new Vector4(OnTextColorChanged, temp.X, temp.Y, temp.Z, temp.W);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_SHADOW).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
+                SetValue(TextColorProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.EMBOSS).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create("InputEmboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The FontFamily property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string FontFamily
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
+                return (string)GetValue(FontFamilyProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_EMBOSS).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+                SetValue(FontFamilyProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            PropertyMap temp = new PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.OUTLINE).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create("InputOutline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The FontStyle property.
+        /// The fontStyle map contains the following keys :<br />
+        /// <list type="table">
+        /// <item><term>width (string)</term><description>The width key defines occupied by each glyph. (values: ultraCondensed, extraCondensed, condensed, semiCondensed, normal, semiExpanded, expanded, extraExpanded, ultraExpanded)</description></item>
+        /// <item><term>weight (string)</term><description>The weight key defines the thickness or darkness of the glyphs. (values: thin, ultraLight, extraLight, light, demiLight, semiLight, book, normal, regular, medium, demiBold, semiBold, bold, ultraBold, extraBold, black, heavy, extraBlack)</description></item>
+        /// <item><term>slant (string)</term><description>The slant key defines whether to use italics. (values: normal, roman, italic, oblique)</description></item>
+        /// </list>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1721: Property names should not match get methods")]
+        public PropertyMap FontStyle
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue((string)newValue));
+                return (PropertyMap)GetValue(FontStyleProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_OUTLINE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create("SmoothScroll", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL, new Tizen.NUI.PropertyValue((bool)newValue));
+                SetValue(FontStyleProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        }
+
+        /// <summary>
+        /// Set FontStyle to TextEditor. <br />
+        /// </summary>
+        /// <param name="fontStyle">The FontStyle</param>
+        /// <remarks>
+        /// SetFontStyle specifies the requested font style through <see cref="Tizen.NUI.Text.FontStyle"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetFontStyle method.
+        /// <code>
+        /// var fontStyle = new Tizen.NUI.Text.FontStyle();
+        /// fontStyle.Width = FontWidthType.Expanded;
+        /// fontStyle.Weight = FontWeightType.Bold;
+        /// fontStyle.Slant = FontSlantType.Italic;
+        /// editor.SetFontStyle(fontStyle);
+        /// </code>
+        /// </example>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create("SmoothScrollDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public void SetFontStyle(FontStyle fontStyle)
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL_DURATION).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            SetValue(FontStyleProperty, TextUtils.GetFontStyleMap(fontStyle));
+        }
+
+        /// <summary>
+        /// Get FontStyle from TextEditor. <br />
+        /// </summary>
+        /// <returns>The FontStyle</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.FontStyle"/>
+        /// </remarks>
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create("EnableScrollBar", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SCROLL_BAR, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
+        public FontStyle GetFontStyle()
         {
-            var textEditor = (TextEditor)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SCROLL_BAR).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create("ScrollBarShowDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+            return TextUtils.GetFontStyleStruct((PropertyMap)GetValue(FontStyleProperty));
+        }
+
+        /// <summary>
+        /// The PointSize property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float PointSize
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_SHOW_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
+                return (float)GetValue(PointSizeProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_SHOW_DURATION).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create("ScrollBarFadeDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_FADE_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
+                SetValue(PointSizeProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_FADE_DURATION).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The HorizontalAlignment property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public HorizontalAlignment HorizontalAlignment
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
+                return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            float temp = 0.0f;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PIXEL_SIZE).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create("PlaceholderText", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue((string)newValue));
+                SetValue(HorizontalAlignmentProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            string temp;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create("PlaceholderTextColor", typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The ScrollThreshold property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float ScrollThreshold
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue((Color)newValue));
+                return (float)GetValue(ScrollThresholdProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create("EnableSelection", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
+                SetValue(ScrollThresholdProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SELECTION).Get(out temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create("Placeholder", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        }
+
+        /// <summary>
+        /// The ScrollSpeed property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float ScrollSpeed
         {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            get
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
+                return (float)GetValue(ScrollSpeedProperty);
             }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER).Get(temp);
-            return temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create("LineWrapMode", typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
+                SetValue(ScrollSpeedProperty, value);
+                NotifyPropertyChanged();
             }
-        },
-        defaultValueCreator:(bindable) =>
+        }
+
+        /// <summary>
+        /// The PrimaryCursorColor property.
+        /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.PrimaryCursorColor.X = 0.1f;) is possible.
+        /// </remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector4 PrimaryCursorColor
         {
-            var textEditor = (TextEditor)bindable;
-            int temp;
-            if(Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE).Get(out temp) == false)
+            get
             {
-                NUILog.Error("LineWrapMode get error!");
+                Vector4 temp = (Vector4)GetValue(PrimaryCursorColorProperty);
+                return new Vector4(OnPrimaryCursorColorChanged, temp.X, temp.Y, temp.Z, temp.W);
             }
-            return (LineWrapMode)temp;
-        });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create("EnableShiftSelection", typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
+            set
             {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator:(bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            //textEditor.mShiftSelectionFlag(true);
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
-            return temp;
-        });
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private string textEditorTextSid = null;
-        private string textEditorPlaceHolderTextSid = null;
-        private bool systemlangTextFlag = false;
-        private InputMethodContext inputMethodContext = null;
-
-        internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+                SetValue(PrimaryCursorColorProperty, value);
+                NotifyPropertyChanged();
+            }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The SecondaryCursorColor property.
         /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.SecondaryCursorColor.X = 0.1f;) is possible.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public Vector4 SecondaryCursorColor
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (this.HasBody() && _textEditorTextChangedCallbackDelegate != null)
+            get
             {
-                TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
+                Vector4 temp = (Vector4)GetValue(SecondaryCursorColorProperty);
+                return new Vector4(OnSecondaryCursorColorChanged, temp.X, temp.Y, temp.Z, temp.W);
             }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    // In order to speed up IME hide, temporarily add
-                    GetInputMethodContext()?.DestroyContext();
-                    NDalicPINVOKE.delete_TextEditor(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                SetValue(SecondaryCursorColorProperty, value);
+                NotifyPropertyChanged();
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// Event arguments that passed via the TextChanged signal.
+        /// The EnableCursorBlink property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class TextChangedEventArgs : EventArgs
+        public bool EnableCursorBlink
         {
-            private TextEditor _textEditor;
-
-            /// <summary>
-            /// TextEditor - is the texteditor control which has the text contents changed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TextEditor TextEditor
+            get
             {
-                get
-                {
-                    return _textEditor;
-                }
-                set
-                {
-                    _textEditor = value;
-                }
+                return (bool)GetValue(EnableCursorBlinkProperty);
+            }
+            set
+            {
+                SetValue(EnableCursorBlinkProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
-        private EventHandler<TextChangedEventArgs> _textEditorTextChangedEventHandler;
-        private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
-
         /// <summary>
-        /// An event for the TextChanged signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The TextChanged signal is emitted when the text changes.<br />
+        /// The CursorBlinkInterval property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<TextChangedEventArgs> TextChanged
+        public float CursorBlinkInterval
         {
-            add
+            get
             {
-                if (_textEditorTextChangedEventHandler == null)
-                {
-                    _textEditorTextChangedCallbackDelegate = (OnTextChanged);
-                    TextChangedSignal().Connect(_textEditorTextChangedCallbackDelegate);
-                }
-                _textEditorTextChangedEventHandler += value;
+                return (float)GetValue(CursorBlinkIntervalProperty);
             }
-            remove
+            set
             {
-                _textEditorTextChangedEventHandler -= value;
-                if (_textEditorTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
-                {
-                    TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
-                }
+                SetValue(CursorBlinkIntervalProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private void OnTextChanged(IntPtr textEditor)
+        /// <summary>
+        /// The CursorBlinkDuration property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float CursorBlinkDuration
         {
-            TextChangedEventArgs e = new TextChangedEventArgs();
-
-            // Populate all members of "e" (TextChangedEventArgs) with real data
-            e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
-
-            if (_textEditorTextChangedEventHandler != null)
+            get
             {
-                //here we send all data to user event handlers
-                _textEditorTextChangedEventHandler(this, e);
+                return (float)GetValue(CursorBlinkDurationProperty);
+            }
+            set
+            {
+                SetValue(CursorBlinkDurationProperty, value);
+                NotifyPropertyChanged();
             }
-
         }
 
         /// <summary>
-        /// Event arguments that passed via the ScrollStateChanged signal.
+        /// The CursorWidth property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class ScrollStateChangedEventArgs : EventArgs
+        public int CursorWidth
         {
-            private TextEditor _textEditor;
-            private ScrollState _scrollState;
-
-            /// <summary>
-            /// TextEditor - is the texteditor control which has the scroll state changed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TextEditor TextEditor
+            get
             {
-                get
-                {
-                    return _textEditor;
-                }
-                set
-                {
-                    _textEditor = value;
-                }
+                return (int)GetValue(CursorWidthProperty);
             }
-
-            /// <summary>
-            /// ScrollState - is the texteditor control scroll state.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ScrollState ScrollState
+            set
             {
-                get
-                {
-                    return _scrollState;
-                }
-                set
-                {
-                    _scrollState = value;
-                }
+                SetValue(CursorWidthProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ScrollStateChangedCallbackDelegate(IntPtr textEditor, ScrollState state);
-        private EventHandler<ScrollStateChangedEventArgs> _textEditorScrollStateChangedEventHandler;
-        private ScrollStateChangedCallbackDelegate _textEditorScrollStateChangedCallbackDelegate;
-
         /// <summary>
-        /// Event for the ScrollStateChanged signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The ScrollStateChanged signal is emitted when the scroll state changes.<br />
+        /// The GrabHandleImage property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<ScrollStateChangedEventArgs> ScrollStateChanged
+        public string GrabHandleImage
         {
-            add
+            get
             {
-                if (_textEditorScrollStateChangedEventHandler == null)
-                {
-                    _textEditorScrollStateChangedCallbackDelegate = OnScrollStateChanged;
-                    ScrollStateChangedSignal(this).Connect(_textEditorScrollStateChangedCallbackDelegate);
-                }
-                _textEditorScrollStateChangedEventHandler += value;
+                return (string)GetValue(GrabHandleImageProperty);
             }
-            remove
+            set
             {
-                _textEditorScrollStateChangedEventHandler -= value;
-                if (_textEditorScrollStateChangedEventHandler == null && ScrollStateChangedSignal(this).Empty() == false)
-                {
-                    ScrollStateChangedSignal(this).Disconnect(_textEditorScrollStateChangedCallbackDelegate);
-                }
+                SetValue(GrabHandleImageProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        private void OnScrollStateChanged(IntPtr textEditor, ScrollState state)
+        /// <summary>
+        /// The GrabHandlePressedImage property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string GrabHandlePressedImage
         {
-            ScrollStateChangedEventArgs e = new ScrollStateChangedEventArgs();
-
-            if (textEditor != global::System.IntPtr.Zero)
+            get
             {
-                // Populate all members of "e" (ScrollStateChangedEventArgs) with real data
-                e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
-                e.ScrollState = state;
+                return (string)GetValue(GrabHandlePressedImageProperty);
             }
-
-            if (_textEditorScrollStateChangedEventHandler != null)
+            set
             {
-                //here we send all data to user event handlers
-                _textEditorScrollStateChangedEventHandler(this, e);
+                SetValue(GrabHandlePressedImageProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        internal new class Property
-        {
-            internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
-            internal static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
-            internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
-            internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
-            internal static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
-            internal static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
-            internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
-            internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
-            internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
-            internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
-            internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
-            internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
-            internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
-            internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
-            internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
-            internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
-            internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
-            internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
-            internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
-            internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
-            internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
-            internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
-            internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
-            internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
-            internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
-            internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
-            internal static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
-            internal static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
-            internal static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
-            internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
-            internal static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
-            internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
-            internal static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
-            internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
-            internal static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
-            internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
-            internal static readonly int SMOOTH_SCROLL = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_get();
-            internal static readonly int SMOOTH_SCROLL_DURATION = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_DURATION_get();
-            internal static readonly int ENABLE_SCROLL_BAR = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SCROLL_BAR_get();
-            internal static readonly int SCROLL_BAR_SHOW_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_SHOW_DURATION_get();
-            internal static readonly int SCROLL_BAR_FADE_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_FADE_DURATION_get();
-            internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextEditor_Property_PIXEL_SIZE_get();
-            internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextEditor_Property_LINE_COUNT_get();
-            internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SELECTION_get();
-            internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_get();
-            internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextEditor_Property_LINE_WRAP_MODE_get();
-            internal static readonly int PLACEHOLDER_TEXT = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_get();
-            internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_COLOR_get();
-            internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SHIFT_SELECTION_get();
-        }
-
-        internal class InputStyle
+        /// <summary>
+        /// The SelectionHandleImageLeft property.
+        /// The selectionHandleImageLeft map contains the following key :<br />
+        /// <list type="table">
+        /// <item><term>filename (string)</term><description>The path of image file</description></item>
+        /// </list>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap SelectionHandleImageLeft
         {
-            internal enum Mask
+            get
             {
-                None = 0x0000,
-                Color = 0x0001,
-                FontFamily = 0x0002,
-                PointSize = 0x0004,
-                FontStyle = 0x0008,
-                LineSpacing = 0x0010,
-                Underline = 0x0020,
-                Shadow = 0x0040,
-                Emboss = 0x0080,
-                Outline = 0x0100
+                return (PropertyMap)GetValue(SelectionHandleImageLeftProperty);
+            }
+            set
+            {
+                SetValue(SelectionHandleImageLeftProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// Creates the TextEditor control.
+        /// The SelectionHandleImageRight property.
+        /// The selectionHandleImageRight map contains the following key :<br />
+        /// <list type="table">
+        /// <item><term>filename (string)</term><description>The path of image file</description></item>
+        /// </list>
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public TextEditor() : this(NDalicPINVOKE.TextEditor_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal override bool IsCreateByXaml
+        public PropertyMap SelectionHandleImageRight
         {
             get
             {
-                return base.IsCreateByXaml;
+                return (PropertyMap)GetValue(SelectionHandleImageRightProperty);
             }
             set
             {
-                base.IsCreateByXaml = value;
-
-                if (value == true)
-                {
-                    this.TextChanged += (obj, e) =>
-                    {
-                        this.Text = this.Text;
-                    };
-                }
+                SetValue(SelectionHandleImageRightProperty, value);
+                NotifyPropertyChanged();
             }
         }
 
-        internal TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
-        /// Get the InputMethodContext instance.
+        /// Set SelectionHandleImage to TextEditor. <br />
         /// </summary>
-        /// <returns>The InputMethodContext instance.</returns>
-        public InputMethodContext GetInputMethodContext()
+        /// <param name="selectionHandleImage">The SelectionHandleImage</param>
+        /// <remarks>
+        /// SetSelectionHandleImage specifies the display image used for the selection handle through <see cref="Tizen.NUI.Text.SelectionHandleImage"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetSelectionHandleImage method.
+        /// <code>
+        /// var selectionHandleImage = new Tizen.NUI.Text.SelectionHandleImage();
+        /// selectionHandleImage.LeftImageUrl = "handle_downleft.png";
+        /// selectionHandleImage.RightImageUrl = "handle_downright.png";
+        /// editor.SetSelectionHandleImage(selectionHandleImage);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetSelectionHandleImage(SelectionHandleImage selectionHandleImage)
         {
-            if (inputMethodContext == null)
+            if (!String.IsNullOrEmpty(selectionHandleImage.LeftImageUrl))
             {
-                /*Avoid raising InputMethodContext reference count.*/
-                inputMethodContext = new InputMethodContext(NDalicPINVOKE.TextEditor_GetInputMethodContext(swigCPtr), true);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                SetValue(SelectionHandleImageLeftProperty, TextUtils.GetFileNameMap(selectionHandleImage.LeftImageUrl));
             }
-            return inputMethodContext;
-        }
-
-        internal TextEditorSignal TextChangedSignal()
-        {
-            TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        internal ScrollStateChangedSignal ScrollStateChangedSignal(TextEditor textEditor)
-        {
-            ScrollStateChangedSignal ret = new ScrollStateChangedSignal(NDalicManualPINVOKE.TextEditor_ScrollStateChangedSignal(TextEditor.getCPtr(textEditor)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (!String.IsNullOrEmpty(selectionHandleImage.RightImageUrl))
+            {
+                SetValue(SelectionHandleImageRightProperty, TextUtils.GetFileNameMap(selectionHandleImage.RightImageUrl));
+            }
         }
 
-        internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
+        /// <summary>
+        /// Get SelectionHandleImage from TextEditor. <br />
+        /// </summary>
+        /// <returns>The SelectionHandleImage</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.SelectionHandleImage"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public SelectionHandleImage GetSelectionHandleImage()
         {
-            SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return TextUtils.GetSelectionHandleImageStruct((PropertyMap)GetValue(SelectionHandleImageLeftProperty), (PropertyMap)GetValue(SelectionHandleImageRightProperty));
         }
 
         /// <summary>
-        /// The TranslatableText property.<br />
-        /// The text can set the SID value.<br />
+        /// The SelectionHandlePressedImageLeft property.
+        /// The selectionHandlePressedImageLeft map contains the following key :<br />
+        /// <list type="table">
+        /// <item><term>filename (string)</term><description>The path of image file</description></item>
+        /// </list>
         /// </summary>
-        /// <exception cref='ArgumentNullException'>
-        /// ResourceManager about multilingual is null.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
-        public string TranslatableText
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap SelectionHandlePressedImageLeft
         {
             get
             {
-                return textEditorTextSid;
+                return (PropertyMap)GetValue(SelectionHandlePressedImageLeftProperty);
             }
             set
             {
-                if (NUIApplication.MultilingualResourceManager == null)
-                {
-                    throw new ArgumentNullException("ResourceManager about multilingual is null");
-                }
-                textEditorTextSid = value;
-                Text = SetTranslatable(textEditorTextSid);
+                SetValue(SelectionHandlePressedImageLeftProperty, value);
                 NotifyPropertyChanged();
             }
         }
+
         /// <summary>
-        /// The TranslatablePlaceholderText property.<br />
-        /// The text can set the SID value.<br />
+        /// The SelectionHandlePressedImageRight property.
+        /// The selectionHandlePressedImageRight map contains the following key :<br />
+        /// <list type="table">
+        /// <item><term>filename (string)</term><description>The path of image file</description></item>
+        /// </list>
         /// </summary>
-        /// <exception cref='ArgumentNullException'>
-        /// ResourceManager about multilingual is null.
-        /// </exception>
-        /// <since_tizen> 4 </since_tizen>
-        public string TranslatablePlaceholderText
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap SelectionHandlePressedImageRight
         {
             get
             {
-                return textEditorPlaceHolderTextSid;
+                return (PropertyMap)GetValue(SelectionHandlePressedImageRightProperty);
             }
             set
             {
-                if (NUIApplication.MultilingualResourceManager == null)
-                {
-                    throw new ArgumentNullException("ResourceManager about multilingual is null");
-                }
-                textEditorPlaceHolderTextSid = value;
-                PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
+                SetValue(SelectionHandlePressedImageRightProperty, value);
                 NotifyPropertyChanged();
             }
         }
-        private string SetTranslatable(string textEditorSid)
+
+        /// <summary>
+        /// Set SelectionHandlePressedImage to TextEditor. <br />
+        /// </summary>
+        /// <param name="selectionHandlePressedImage">The SelectionHandleImage</param>
+        /// <remarks>
+        /// SetSelectionHandlePressedImage specifies the display image used for the selection handle through <see cref="Tizen.NUI.Text.SelectionHandleImage"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetSelectionHandlePressedImage method.
+        /// <code>
+        /// var selectionHandlePressedImage = new Tizen.NUI.Text.SelectionHandleImage();
+        /// selectionHandlePressedImage.LeftImageUrl = "handle_pressed_downleft.png";
+        /// selectionHandlePressedImage.RightImageUrl = "handle_pressed_downright.png";
+        /// editor.SetSelectionHandlePressedImage(selectionHandlePressedImage);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetSelectionHandlePressedImage(SelectionHandleImage selectionHandlePressedImage)
         {
-            string translatableText = null;
-            translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
-            if (translatableText != null)
+            if (!String.IsNullOrEmpty(selectionHandlePressedImage.LeftImageUrl))
             {
-                if (systemlangTextFlag == false)
-                {
-                    SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
-                    systemlangTextFlag = true;
-                }
-                return translatableText;
+                SetValue(SelectionHandlePressedImageLeftProperty, TextUtils.GetFileNameMap(selectionHandlePressedImage.LeftImageUrl));
             }
-            else
+
+            if (!String.IsNullOrEmpty(selectionHandlePressedImage.RightImageUrl))
             {
-                translatableText = "";
-                return translatableText;
+                SetValue(SelectionHandlePressedImageRightProperty, TextUtils.GetFileNameMap(selectionHandlePressedImage.RightImageUrl));
             }
         }
-        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
+
+        /// <summary>
+        /// Get SelectionHandlePressedImage from TextEditor. <br />
+        /// </summary>
+        /// <returns>The SelectionHandlePressedImage</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.SelectionHandleImage"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public SelectionHandleImage GetSelectionHandlePressedImage()
         {
-            if (textEditorTextSid != null)
+            return TextUtils.GetSelectionHandleImageStruct((PropertyMap)GetValue(SelectionHandlePressedImageLeftProperty), (PropertyMap)GetValue(SelectionHandlePressedImageRightProperty));
+        }
+
+        /// <summary>
+        /// The SelectionHandleMarkerImageLeft property.
+        /// The selectionHandleMarkerImageLeft map contains the following key :<br />
+        /// <list type="table">
+        /// <item><term>filename (string)</term><description>The path of image file</description></item>
+        /// </list>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap SelectionHandleMarkerImageLeft
+        {
+            get
             {
-                Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+                return (PropertyMap)GetValue(SelectionHandleMarkerImageLeftProperty);
             }
-            if (textEditorPlaceHolderTextSid != null)
+            set
             {
-                PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+                SetValue(SelectionHandleMarkerImageLeftProperty, value);
+                NotifyPropertyChanged();
             }
         }
+
         /// <summary>
-        /// The Text property.
+        /// The SelectionHandleMarkerImageRight property.
+        /// The selectionHandleMarkerImageRight map contains the following key :<br />
+        /// <list type="table">
+        /// <item><term>filename (string)</term><description>The path of image file</description></item>
+        /// </list>
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string Text
+        public PropertyMap SelectionHandleMarkerImageRight
         {
             get
             {
-                return (string)GetValue(TextProperty);
+                return (PropertyMap)GetValue(SelectionHandleMarkerImageRightProperty);
             }
             set
             {
-                SetValueAndForceSendChangeSignal(TextProperty, value);
+                SetValue(SelectionHandleMarkerImageRightProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The TextColor property.
+        /// Set SelectionHandleMarkerImage to TextEditor. <br />
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector4 TextColor
+        /// <param name="selectionHandleMarkerImage">The SelectionHandleImage</param>
+        /// <remarks>
+        /// SetSelectionHandleMarkerImage specifies the display image used for the selection handle through <see cref="Tizen.NUI.Text.SelectionHandleImage"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetSelectionHandleMarkerImage method.
+        /// <code>
+        /// var selectionHandleMarkerImage = new Tizen.NUI.Text.SelectionHandleImage();
+        /// selectionHandleMarkerImage.LeftImageUrl = "handle_pressed_downleft.png";
+        /// selectionHandleMarkerImage.RightImageUrl = "handle_pressed_downright.png";
+        /// editor.SetSelectionHandleMarkerImage(selectionHandleMarkerImage);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetSelectionHandleMarkerImage(SelectionHandleImage selectionHandleMarkerImage)
         {
-            get
+            if (!String.IsNullOrEmpty(selectionHandleMarkerImage.LeftImageUrl))
             {
-                return (Vector4)GetValue(TextColorProperty);
+                SetValue(SelectionHandleMarkerImageLeftProperty, TextUtils.GetFileNameMap(selectionHandleMarkerImage.LeftImageUrl));
             }
-            set
+
+            if (!String.IsNullOrEmpty(selectionHandleMarkerImage.RightImageUrl))
             {
-                SetValue(TextColorProperty, value);
-                NotifyPropertyChanged();
+                SetValue(SelectionHandleMarkerImageRightProperty, TextUtils.GetFileNameMap(selectionHandleMarkerImage.RightImageUrl));
             }
         }
 
         /// <summary>
-        /// The FontFamily property.
+        /// Get SelectionHandleMarkerImage from TextEditor. <br />
+        /// </summary>
+        /// <returns>The SelectionHandleMarkerImage</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.SelectionHandleImage"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public SelectionHandleImage GetSelectionHandleMarkerImage()
+        {
+            return TextUtils.GetSelectionHandleImageStruct((PropertyMap)GetValue(SelectionHandleMarkerImageLeftProperty), (PropertyMap)GetValue(SelectionHandleMarkerImageRightProperty));
+        }
+
+        /// <summary>
+        /// The SelectionHighlightColor property.
         /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.SelectionHighlightColor.X = 0.1f;) is possible.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public string FontFamily
+        public Vector4 SelectionHighlightColor
         {
             get
             {
-                return (string)GetValue(FontFamilyProperty);
+                Vector4 temp = (Vector4)GetValue(SelectionHighlightColorProperty);
+                return new Vector4(OnSelectionHighlightColorChanged, temp.X, temp.Y, temp.Z, temp.W);
             }
             set
             {
-                SetValue(FontFamilyProperty, value);
+                SetValue(SelectionHighlightColorProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The FontStyle property.
+        /// The DecorationBoundingBox property.
         /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.DecorationBoundingBox.X = 1;) is possible.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap FontStyle
+        public Rectangle DecorationBoundingBox
         {
             get
             {
-                return (PropertyMap)GetValue(FontStyleProperty);
+                Rectangle temp = (Rectangle)GetValue(DecorationBoundingBoxProperty);
+                return new Rectangle(OnDecorationBoundingBoxChanged, temp.X, temp.Y, temp.Width, temp.Height);
             }
             set
             {
-                SetValue(FontStyleProperty, value);
+                SetValue(DecorationBoundingBoxProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The PointSize property.
+        /// The EnableMarkup property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float PointSize
+        public bool EnableMarkup
         {
             get
             {
-                return (float)GetValue(PointSizeProperty);
+                return (bool)GetValue(EnableMarkupProperty);
             }
             set
             {
-                SetValue(PointSizeProperty, value);
+                SetValue(EnableMarkupProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The HorizontalAlignment property.
+        /// The InputColor property.
         /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.InputColor.X = 0.1f;) is possible.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public HorizontalAlignment HorizontalAlignment
+        public Vector4 InputColor
         {
             get
             {
-                return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty);
+                Vector4 temp = (Vector4)GetValue(InputColorProperty);
+                return new Vector4(OnInputColorChanged, temp.X, temp.Y, temp.Z, temp.W);
             }
             set
             {
-                SetValue(HorizontalAlignmentProperty, value);
+                SetValue(InputColorProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The ScrollThreshold property.
+        /// The InputFontFamily property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float ScrollThreshold
+        public string InputFontFamily
         {
             get
             {
-                return (float)GetValue(ScrollThresholdProperty);
+                return (string)GetValue(InputFontFamilyProperty);
             }
             set
             {
-                SetValue(ScrollThresholdProperty, value);
+                SetValue(InputFontFamilyProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The ScrollSpeed property.
+        /// The InputFontStyle property.
+        /// The inputFontStyle map contains the following keys :<br />
+        /// <list type="table">
+        /// <item><term>width (string)</term><description>The width key defines occupied by each glyph. (values: ultraCondensed, extraCondensed, condensed, semiCondensed, normal, semiExpanded, expanded, extraExpanded, ultraExpanded)</description></item>
+        /// <item><term>weight (string)</term><description>The weight key defines the thickness or darkness of the glyphs. (values: thin, ultraLight, extraLight, light, demiLight, semiLight, book, normal, regular, medium, demiBold, semiBold, bold, ultraBold, extraBold, black, heavy, extraBlack)</description></item>
+        /// <item><term>slant (string)</term><description>The slant key defines whether to use italics. (values: normal, roman, italic, oblique)</description></item>
+        /// </list>
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float ScrollSpeed
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1721: Property names should not match get methods")]
+        public PropertyMap InputFontStyle
         {
             get
             {
-                return (float)GetValue(ScrollSpeedProperty);
+                return (PropertyMap)GetValue(InputFontStyleProperty);
             }
             set
             {
-                SetValue(ScrollSpeedProperty, value);
+                SetValue(InputFontStyleProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The PrimaryCursorColor property.
+        /// Set InputFontStyle to TextEditor. <br />
+        /// </summary>
+        /// <param name="fontStyle">The FontStyle</param>
+        /// <remarks>
+        /// SetInputFontStyle specifies the requested font style for new input text through <see cref="Tizen.NUI.Text.FontStyle"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetInputFontStyle method.
+        /// <code>
+        /// var fontStyle = new Tizen.NUI.Text.FontStyle();
+        /// fontStyle.Width = FontWidthType.Expanded;
+        /// fontStyle.Weight = FontWeightType.Bold;
+        /// fontStyle.Slant = FontSlantType.Italic;
+        /// editor.SetInputFontStyle(fontStyle);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetInputFontStyle(FontStyle fontStyle)
+        {
+            SetValue(InputFontStyleProperty, TextUtils.GetFontStyleMap(fontStyle));
+        }
+
+        /// <summary>
+        /// Get InputFontStyle from TextEditor. <br />
+        /// </summary>
+        /// <returns>The FontStyle</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.FontStyle"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public FontStyle GetInputFontStyle()
+        {
+            return TextUtils.GetFontStyleStruct((PropertyMap)GetValue(InputFontStyleProperty));
+        }
+
+        /// <summary>
+        /// The InputPointSize property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector4 PrimaryCursorColor
+        public float InputPointSize
         {
             get
             {
-                return (Vector4)GetValue(PrimaryCursorColorProperty);
+                return (float)GetValue(InputPointSizeProperty);
             }
             set
             {
-                SetValue(PrimaryCursorColorProperty, value);
+                SetValue(InputPointSizeProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SecondaryCursorColor property.
+        /// The LineSpacing property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector4 SecondaryCursorColor
+        public float LineSpacing
         {
             get
             {
-                return (Vector4)GetValue(SecondaryCursorColorProperty);
+                return (float)GetValue(LineSpacingProperty);
             }
             set
             {
-                SetValue(SecondaryCursorColorProperty, value);
+                SetValue(LineSpacingProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The EnableCursorBlink property.
+        /// The InputLineSpacing property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public bool EnableCursorBlink
+        public float InputLineSpacing
         {
             get
             {
-                return (bool)GetValue(EnableCursorBlinkProperty);
+                return (float)GetValue(InputLineSpacingProperty);
             }
             set
             {
-                SetValue(EnableCursorBlinkProperty, value);
+                SetValue(InputLineSpacingProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The CursorBlinkInterval property.
+        /// The Underline property.
+        /// The underline map contains the following keys :<br />
+        /// <list type="table">
+        /// <item><term>enable (bool)</term><description>Whether the underline is enabled (the default value is false)</description></item>
+        /// <item><term>color (Color)</term><description>The color of the underline (If not provided then the color of the text is used)</description></item>
+        /// <item><term>height (float)</term><description>The height in pixels of the underline (the default value is 1.f)</description></item>
+        /// </list>
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float CursorBlinkInterval
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1721: Property names should not match get methods")]
+        public PropertyMap Underline
         {
             get
             {
-                return (float)GetValue(CursorBlinkIntervalProperty);
+                return (PropertyMap)GetValue(UnderlineProperty);
             }
             set
             {
-                SetValue(CursorBlinkIntervalProperty, value);
+                SetValue(UnderlineProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The CursorBlinkDuration property.
+        /// Set Underline to TextEditor. <br />
+        /// </summary>
+        /// <param name="underline">The Underline</param>
+        /// <remarks>
+        /// SetUnderline specifies the underline of the text through <see cref="Tizen.NUI.Text.Underline"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetUnderline method.
+        /// <code>
+        /// var underline = new Tizen.NUI.Text.Underline();
+        /// underline.Enable = true;
+        /// underline.Color = new Color("#3498DB");
+        /// underline.Height = 2.0f;
+        /// editor.SetUnderline(underline);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetUnderline(Underline underline)
+        {
+            SetValue(UnderlineProperty, TextUtils.GetUnderlineMap(underline));
+        }
+
+        /// <summary>
+        /// Get Underline from TextEditor. <br />
+        /// </summary>
+        /// <returns>The Underline</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.Underline"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Underline GetUnderline()
+        {
+            return TextUtils.GetUnderlineStruct((PropertyMap)GetValue(UnderlineProperty));
+        }
+
+        /// <summary>
+        /// The InputUnderline property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float CursorBlinkDuration
+        public string InputUnderline
         {
             get
             {
-                return (float)GetValue(CursorBlinkDurationProperty);
+                return (string)GetValue(InputUnderlineProperty);
             }
             set
             {
-                SetValue(CursorBlinkDurationProperty, value);
+                SetValue(InputUnderlineProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The CursorWidth property.
+        /// The Shadow property.
+        /// The shadow map contains the following keys :<br />
+        /// <list type="table">
+        /// <item><term>color (Color)</term><description>The color of the shadow (the default color is Color.Black)</description></item>
+        /// <item><term>offset (Vector2)</term><description>The offset in pixels of the shadow (If not provided then the shadow is not enabled)</description></item>
+        /// <item><term>blurRadius (float)</term><description>The radius of the Gaussian blur for the soft shadow (If not provided then the soft shadow is not enabled)</description></item>
+        /// </list>
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int CursorWidth
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1721: Property names should not match get methods")]
+        public PropertyMap Shadow
         {
             get
             {
-                return (int)GetValue(CursorWidthProperty);
+                return (PropertyMap)GetValue(ShadowProperty);
             }
             set
             {
-                SetValue(CursorWidthProperty, value);
+                SetValue(ShadowProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The GrabHandleImage property.
+        /// Set Shadow to TextEditor. <br />
+        /// </summary>
+        /// <param name="shadow">The Shadow</param>
+        /// <remarks>
+        /// SetShadow specifies the shadow of the text through <see cref="Tizen.NUI.Text.Shadow"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetShadow method.
+        /// <code>
+        /// var shadow = new Tizen.NUI.Text.Shadow();
+        /// shadow.Offset = new Vector2(3, 3);
+        /// shadow.Color = new Color("#F1C40F");
+        /// editor.SetShadow(shadow);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetShadow(Tizen.NUI.Text.Shadow shadow)
+        {
+            SetValue(ShadowProperty, TextUtils.GetShadowMap(shadow));
+        }
+
+        /// <summary>
+        /// Get Shadow from TextEditor. <br />
+        /// </summary>
+        /// <returns>The Shadow</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.Shadow"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Tizen.NUI.Text.Shadow GetShadow()
+        {
+            return TextUtils.GetShadowStruct((PropertyMap)GetValue(ShadowProperty));
+        }
+
+        /// <summary>
+        /// The InputShadow property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string GrabHandleImage
+        public string InputShadow
         {
             get
             {
-                return (string)GetValue(GrabHandleImageProperty);
+                return (string)GetValue(InputShadowProperty);
             }
             set
             {
-                SetValue(GrabHandleImageProperty, value);
+                SetValue(InputShadowProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The GrabHandlePressedImage property.
+        /// The Emboss property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string GrabHandlePressedImage
+        public string Emboss
         {
             get
             {
-                return (string)GetValue(GrabHandlePressedImageProperty);
+                return (string)GetValue(EmbossProperty);
             }
             set
             {
-                SetValue(GrabHandlePressedImageProperty, value);
+                SetValue(EmbossProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHandleImageLeft property.
+        /// The InputEmboss property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap SelectionHandleImageLeft
+        public string InputEmboss
         {
             get
             {
-                return (PropertyMap)GetValue(SelectionHandleImageLeftProperty);
+                return (string)GetValue(InputEmbossProperty);
             }
             set
             {
-                SetValue(SelectionHandleImageLeftProperty, value);
+                SetValue(InputEmbossProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHandleImageRight property.
+        /// The Outline property.
+        /// The outline map contains the following keys :<br />
+        /// <list type="table">
+        /// <item><term>color (Color)</term><description>The color of the outline (the default color is Color.White)</description></item>
+        /// <item><term>width (float)</term><description>The width in pixels of the outline (If not provided then the outline is not enabled)</description></item>
+        /// </list>
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap SelectionHandleImageRight
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1721: Property names should not match get methods")]
+        public PropertyMap Outline
         {
             get
             {
-                return (PropertyMap)GetValue(SelectionHandleImageRightProperty);
+                return (PropertyMap)GetValue(OutlineProperty);
             }
             set
             {
-                SetValue(SelectionHandleImageRightProperty, value);
+                SetValue(OutlineProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHandlePressedImageLeft property.
+        /// Set Outline to TextEditor. <br />
+        /// </summary>
+        /// <param name="outline">The Outline</param>
+        /// <remarks>
+        /// SetOutline specifies the outline of the text through <see cref="Tizen.NUI.Text.Outline"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetOutline method.
+        /// <code>
+        /// var outline = new Tizen.NUI.Text.Outline();
+        /// outline.Width = 2.0f;
+        /// outline.Color = new Color("#45B39D");
+        /// editor.SetOutline(outline);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetOutline(Outline outline)
+        {
+            SetValue(OutlineProperty, TextUtils.GetOutlineMap(outline));
+        }
+
+        /// <summary>
+        /// Get Outline from TextEditor. <br />
+        /// </summary>
+        /// <returns>The Outline</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.Outline"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Outline GetOutline()
+        {
+            return TextUtils.GetOutlineStruct((PropertyMap)GetValue(OutlineProperty));
+        }
+
+        /// <summary>
+        /// The InputOutline property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap SelectionHandlePressedImageLeft
+        public string InputOutline
         {
             get
             {
-                return (PropertyMap)GetValue(SelectionHandlePressedImageLeftProperty);
+                return (string)GetValue(InputOutlineProperty);
             }
             set
             {
-                SetValue(SelectionHandlePressedImageLeftProperty, value);
+                SetValue(InputOutlineProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHandlePressedImageRight property.
+        /// The SmoothScroll property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap SelectionHandlePressedImageRight
+        public bool SmoothScroll
         {
             get
             {
-                return (PropertyMap)GetValue(SelectionHandlePressedImageRightProperty);
+                return (bool)GetValue(SmoothScrollProperty);
             }
             set
             {
-                SetValue(SelectionHandlePressedImageRightProperty, value);
+                SetValue(SmoothScrollProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHandleMarkerImageLeft property.
+        /// The SmoothScrollDuration property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap SelectionHandleMarkerImageLeft
+        public float SmoothScrollDuration
         {
             get
             {
-                return (PropertyMap)GetValue(SelectionHandleMarkerImageLeftProperty);
+                return (float)GetValue(SmoothScrollDurationProperty);
             }
             set
             {
-                SetValue(SelectionHandleMarkerImageLeftProperty, value);
+                SetValue(SmoothScrollDurationProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHandleMarkerImageRight property.
+        /// The EnableScrollBar property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap SelectionHandleMarkerImageRight
+        public bool EnableScrollBar
         {
             get
             {
-                return (PropertyMap)GetValue(SelectionHandleMarkerImageRightProperty);
+                return (bool)GetValue(EnableScrollBarProperty);
             }
             set
             {
-                SetValue(SelectionHandleMarkerImageRightProperty, value);
+                SetValue(EnableScrollBarProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SelectionHighlightColor property.
+        /// The ScrollBarShowDuration property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector4 SelectionHighlightColor
+        public float ScrollBarShowDuration
         {
             get
             {
-                return (Vector4)GetValue(SelectionHighlightColorProperty);
+                return (float)GetValue(ScrollBarShowDurationProperty);
             }
             set
             {
-                SetValue(SelectionHighlightColorProperty, value);
+                SetValue(ScrollBarShowDurationProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The DecorationBoundingBox property.
+        /// The ScrollBarFadeDuration property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Rectangle DecorationBoundingBox
+        public float ScrollBarFadeDuration
         {
             get
             {
-                return (Rectangle)GetValue(DecorationBoundingBoxProperty);
+                return (float)GetValue(ScrollBarFadeDurationProperty);
             }
             set
             {
-                SetValue(DecorationBoundingBoxProperty, value);
+                SetValue(ScrollBarFadeDurationProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The EnableMarkup property.
+        /// The PixelSize property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public bool EnableMarkup
+        public float PixelSize
         {
             get
             {
-                return (bool)GetValue(EnableMarkupProperty);
+                return (float)GetValue(PixelSizeProperty);
             }
             set
             {
-                SetValue(EnableMarkupProperty, value);
+                SetValue(PixelSizeProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The InputColor property.
+        /// The line count of the text.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Vector4 InputColor
+        public int LineCount
         {
             get
             {
-                return (Vector4)GetValue(InputColorProperty);
-            }
-            set
-            {
-                SetValue(InputColorProperty, value);
-                NotifyPropertyChanged();
+                int temp = 0;
+                GetProperty(TextEditor.Property.LineCount).Get(out temp);
+                return temp;
             }
         }
 
         /// <summary>
-        /// The InputFontFamily property.
+        /// The text to display when the TextEditor is empty and inactive.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string InputFontFamily
+        public string PlaceholderText
         {
             get
             {
-                return (string)GetValue(InputFontFamilyProperty);
+                return (string)GetValue(PlaceholderTextProperty);
             }
             set
             {
-                SetValue(InputFontFamilyProperty, value);
+                SetValue(PlaceholderTextProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The InputFontStyle property.
+        /// The Selected Text property (read-only).
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap InputFontStyle
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public string SelectedText
         {
             get
             {
-                return (PropertyMap)GetValue(InputFontStyleProperty);
-            }
-            set
-            {
-                SetValue(InputFontStyleProperty, value);
-                NotifyPropertyChanged();
+                string temp;
+                GetProperty(TextEditor.Property.SelectedText).Get(out temp);
+                return temp;
             }
         }
 
         /// <summary>
-        /// The InputPointSize property.
+        /// The Placeholder text color.
         /// </summary>
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.PlaceholderTextColor.X = 0.1f;) is possible.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public float InputPointSize
+        public Color PlaceholderTextColor
         {
             get
             {
-                return (float)GetValue(InputPointSizeProperty);
+                Color temp = (Color)GetValue(PlaceholderTextColorProperty);
+                return new Color(OnPlaceholderTextColorChanged, temp.R, temp.G, temp.B, temp.A);
             }
             set
             {
-                SetValue(InputPointSizeProperty, value);
+                SetValue(PlaceholderTextColorProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The LineSpacing property.
+        /// The EnableSelection property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float LineSpacing
+        public bool EnableSelection
         {
             get
             {
-                return (float)GetValue(LineSpacingProperty);
+                return (bool)GetValue(EnableSelectionProperty);
             }
             set
             {
-                SetValue(LineSpacingProperty, value);
+                SetValue(EnableSelectionProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The InputLineSpacing property.
+        /// The start index for selection.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float InputLineSpacing
+        /// <since_tizen> 8 </since_tizen>
+        /// This will be public opened in tizen_6.0 after ACR done, Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int SelectedTextStart
         {
             get
             {
-                return (float)GetValue(InputLineSpacingProperty);
+                int temp;
+                GetProperty(TextEditor.Property.SelectedTextStart).Get(out temp);
+                return temp;
             }
-            set
+        }
+
+        /// <summary>
+        /// The end index for selection.
+        /// </summary>
+        /// <since_tizen> 8 </since_tizen>
+        /// This will be public opened in tizen_6.0 after ACR done, Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int SelectedTextEnd
+        {
+            get
             {
-                SetValue(InputLineSpacingProperty, value);
-                NotifyPropertyChanged();
+                int temp;
+                GetProperty(TextEditor.Property.SelectedTextEnd).Get(out temp);
+                return temp;
             }
         }
 
         /// <summary>
-        /// The Underline property.
+        /// Enable editing in text control.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Underline
+        /// <since_tizen> 8 </since_tizen>
+        /// This will be public opened in tizen_6.0 after ACR done, Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool EnableEditing
         {
             get
             {
-                return (PropertyMap)GetValue(UnderlineProperty);
+                bool temp;
+                GetProperty(TextEditor.Property.EnableEditing).Get(out temp);
+                return temp;
             }
             set
             {
-                SetValue(UnderlineProperty, value);
+                SetProperty(TextEditor.Property.EnableEditing, new PropertyValue(value));
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The InputUnderline property.
+        /// Specify horizontal scroll position in text control.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string InputUnderline
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int HorizontalScrollPosition
         {
             get
             {
-                return (string)GetValue(InputUnderlineProperty);
+                int temp;
+                using (PropertyValue propertyValue = GetProperty(TextEditor.Property.HorizontalScrollPosition))
+                {
+                    propertyValue.Get(out temp);
+                }
+                return temp;
             }
             set
             {
-                SetValue(InputUnderlineProperty, value);
-                NotifyPropertyChanged();
+                using (PropertyValue propertyValue = new PropertyValue(value))
+                {
+                    SetProperty(TextEditor.Property.HorizontalScrollPosition, propertyValue);
+                    NotifyPropertyChanged();
+                }
             }
         }
 
         /// <summary>
-        /// The Shadow property.
+        /// Specify vertical scroll position in text control.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Shadow
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int VerticalScrollPosition
         {
             get
             {
-                return (PropertyMap)GetValue(ShadowProperty);
+                int temp;
+                using (PropertyValue propertyValue = GetProperty(TextEditor.Property.VerticalScrollPosition))
+                {
+                    propertyValue.Get(out temp);
+                }
+                return temp;
             }
             set
             {
-                SetValue(ShadowProperty, value);
-                NotifyPropertyChanged();
+                using (PropertyValue propertyValue = new PropertyValue(value))
+                {
+                    SetProperty(TextEditor.Property.VerticalScrollPosition, propertyValue);
+                    NotifyPropertyChanged();
+                }
             }
         }
 
         /// <summary>
-        /// The InputShadow property.
+        /// Specify primary cursor (caret) position in text control.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string InputShadow
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int PrimaryCursorPosition
         {
             get
             {
-                return (string)GetValue(InputShadowProperty);
+                int temp;
+                using (PropertyValue propertyValue = GetProperty(TextEditor.Property.PrimaryCursorPosition))
+                {
+                    propertyValue.Get(out temp);
+                }
+                return temp;
             }
             set
             {
-                SetValue(InputShadowProperty, value);
-                NotifyPropertyChanged();
+                using (PropertyValue propertyValue = new PropertyValue(value))
+                {
+                    SetProperty(TextEditor.Property.PrimaryCursorPosition, propertyValue);
+                    NotifyPropertyChanged();
+                }
             }
         }
 
         /// <summary>
-        /// The Emboss property.
+        /// The GrabHandleColor property.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Emboss
+        /// <remarks>
+        /// The property cascade chaining set is possible. For example, this (textEditor.GrabHandleColor.X = 0.1f;) is possible.
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Color GrabHandleColor
         {
             get
             {
-                return (string)GetValue(EmbossProperty);
+                Color temp = (Color)GetValue(GrabHandleColorProperty);
+                return new Color(OnGrabHandleColorChanged, temp.R, temp.G, temp.B, temp.A);
             }
             set
             {
-                SetValue(EmbossProperty, value);
+                SetValue(GrabHandleColorProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The InputEmboss property.
+        /// Set InputFilter to TextEditor. <br />
+        /// </summary>
+        /// <param name="inputFilter">The InputFilter</param>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.InputFilter"/> filters input based on regular expressions. <br />
+        /// Users can set the Accepted or Rejected regular expression set, or both. <br />
+        /// If both are used, Rejected has higher priority. <br />
+        /// The character set must follow the regular expression rules. <br />
+        /// Behaviour can not be guaranteed for incorrect grammars. <br />
+        /// Refer the link below for detailed rules. <br />
+        /// The functions in std::regex library use the ECMAScript grammar: <br />
+        /// http://cplusplus.com/reference/regex/ECMAScript/ <br />
+        /// InputFiltered signal is emitted when the input is filtered by InputFilter <br />
+        /// See <see cref="InputFiltered"/>, <see cref="InputFilterType"/> and <see cref="InputFilteredEventArgs"/> for a detailed description. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetInputFilter method.
+        /// <code>
+        /// var inputFilter = new Tizen.NUI.Text.InputFilter();
+        /// inputFilter.Accepted = @"[\d]"; // accept whole digits
+        /// inputFilter.Rejected = "[0-3]"; // reject 0, 1, 2, 3
+        /// editor.SetInputFilter(inputFilter); // acceptable inputs are 4, 5, 6, 7, 8, 9
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetInputFilter(InputFilter inputFilter)
+        {
+            SetProperty(TextEditor.Property.InputFilter, new PropertyValue(TextUtils.GetInputFilterMap(inputFilter)));
+        }
+
+        /// <summary>
+        /// Get InputFilter from TextEditor. <br />
+        /// </summary>
+        /// <returns>The InputFilter</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.InputFilter"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public InputFilter GetInputFilter()
+        {
+            var map = new PropertyMap();
+            GetProperty(TextEditor.Property.InputFilter).Get(map);
+            return TextUtils.GetInputFilterStruct(map);
+        }
+
+        /// <summary>
+        /// The Placeholder property.
+        /// The placeholder map contains the following keys :<br />
+        /// <list type="table">
+        /// <item><term>text (string)</term><description>The text to display when the TextEditor is empty and inactive</description></item>
+        /// <item><term>textFocused (string)</term><description>The text to display when the placeholder has focus</description></item>
+        /// <item><term>color (Color)</term><description>The color of the placeholder text</description></item>
+        /// <item><term>fontFamily (string)</term><description>The fontFamily of the placeholder text</description></item>
+        /// <item><term>fontStyle (PropertyMap)</term><description>The fontStyle of the placeholder text</description></item>
+        /// <item><term>pointSize (float)</term><description>The pointSize of the placeholder text</description></item>
+        /// <item><term>pixelSize (float)</term><description>The pixelSize of the placeholder text</description></item>
+        /// <item><term>ellipsis (bool)</term><description>The ellipsis of the placeholder text</description></item>
+        /// </list>
         /// </summary>
+        /// <example>
+        /// The following example demonstrates how to set the placeholder property.
+        /// <code>
+        /// PropertyMap propertyMap = new PropertyMap();
+        /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
+        /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
+        /// propertyMap.Add("color", new PropertyValue(Color.Red));
+        /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
+        /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
+        ///
+        /// PropertyMap fontStyleMap = new PropertyMap();
+        /// fontStyleMap.Add("weight", new PropertyValue("bold"));
+        /// fontStyleMap.Add("width", new PropertyValue("condensed"));
+        /// fontStyleMap.Add("slant", new PropertyValue("italic"));
+        /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
+        ///
+        /// TextEditor editor = new TextEditor();
+        /// editor.Placeholder = propertyMap;
+        /// </code>
+        /// </example>
         /// <since_tizen> 3 </since_tizen>
-        public string InputEmboss
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1721: Property names should not match get methods")]
+        public Tizen.NUI.PropertyMap Placeholder
         {
             get
             {
-                return (string)GetValue(InputEmbossProperty);
+                PropertyMap map = (PropertyMap)GetValue(PlaceholderProperty);
+                PropertyValue value = null;
+
+                // text
+                value = map.Find(0);
+                if (null != value)
+                {
+                    value.Get(out string text);
+                    map.Add("text", new PropertyValue(text));
+                }
+
+                // textFocused
+                value = map.Find(1);
+                if (null != value)
+                {
+                    value.Get(out string textFocused);
+                    map.Add("textFocused", new PropertyValue(textFocused));
+                }
+
+                // color
+                value = map.Find(2);
+                if (null != value)
+                {
+                    Color color = new Color();
+                    value.Get(color);
+                    map.Add("color", new PropertyValue(color));
+                }
+
+                // fontFamily
+                value = map.Find(3);
+                if (null != value)
+                {
+                    value.Get(out string fontFamily);
+                    map.Add("fontFamily", new PropertyValue(fontFamily));
+                }
+
+                // fontStyle
+                value = map.Find(4);
+                if (null != value)
+                {
+                    PropertyMap fontStyle = new PropertyMap();
+                    value.Get(fontStyle);
+                    map.Add("fontStyle", new PropertyValue(fontStyle));
+                }
+
+                // pointSize
+                value = map.Find(5);
+                if (null != value)
+                {
+                    value.Get(out float pointSize);
+                    map.Add("pointSize", new PropertyValue(pointSize));
+                }
+
+                // pixelSize
+                value = map.Find(6);
+                if (null != value)
+                {
+                    value.Get(out float pixelSize);
+                    map.Add("pixelSize", new PropertyValue(pixelSize));
+                }
+
+                // ellipsis
+                value = map.Find(7);
+                if (null != value)
+                {
+                    value.Get(out bool ellipsis);
+                    map.Add("ellipsis", new PropertyValue(ellipsis));
+                }
+
+                return map;
             }
             set
             {
-                SetValue(InputEmbossProperty, value);
+                SetValue(PlaceholderProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The Outline property.
+        /// Set Placeholder to TextEditor. <br />
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Outline
+        /// <param name="placeholder">The Placeholder</param>
+        /// <remarks>
+        /// SetPlaceholder specifies the attributes of the placeholder property through <see cref="Tizen.NUI.Text.Placeholder"/>. <br />
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to use the SetPlaceholder method.
+        /// <code>
+        /// var placeholder = new Tizen.NUI.Text.Placeholder();
+        /// placeholder.Text = "placeholder text";
+        /// placeholder.TextFocused = "placeholder textFocused";
+        /// placeholder.Color = new Color("#45B39D");
+        /// placeholder.FontFamily = "BreezeSans";
+        /// placeholder.FontStyle = new Tizen.NUI.Text.FontStyle()
+        /// {
+        ///     Width = FontWidthType.Expanded,
+        ///     Weight = FontWeightType.ExtraLight,
+        ///     Slant = FontSlantType.Italic,
+        /// };
+        /// placeholder.PointSize = 25.0f;
+        /// //placeholder.PixelSize = 50.0f;
+        /// placeholder.Ellipsis = true;
+        /// editor.SetPlaceholder(placeholder);
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetPlaceholder(Placeholder placeholder)
+        {
+            SetValue(PlaceholderProperty, TextUtils.GetPlaceholderMap(placeholder));
+        }
+
+        /// <summary>
+        /// Get Placeholder from TextEditor. <br />
+        /// </summary>
+        /// <returns>The Placeholder</returns>
+        /// <remarks>
+        /// <see cref="Tizen.NUI.Text.Placeholder"/>
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Placeholder GetPlaceholder()
+        {
+            return TextUtils.GetPlaceholderStruct((PropertyMap)GetValue(PlaceholderProperty));
+        }
+
+        /// <summary>
+        /// The Ellipsis property.<br />
+        /// Enable or disable the ellipsis.<br />
+        /// </summary>
+        /// <since_tizen> 9 </since_tizen>
+        public bool Ellipsis
         {
             get
             {
-                return (PropertyMap)GetValue(OutlineProperty);
+                return (bool)GetValue(EllipsisProperty);
             }
             set
             {
-                SetValue(OutlineProperty, value);
+                SetValue(EllipsisProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
+
         /// <summary>
-        /// The InputOutline property.
+        /// The ellipsis position of the text.
+        /// Specifies which portion of the text should be replaced with an ellipsis when the text size exceeds the layout size.<br />
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string InputOutline
+        /// <since_tizen> 9 </since_tizen>
+        public EllipsisPosition EllipsisPosition
         {
             get
             {
-                return (string)GetValue(InputOutlineProperty);
+                return (EllipsisPosition)GetValue(EllipsisPositionProperty);
             }
             set
             {
-                SetValue(InputOutlineProperty, value);
+                SetValue(EllipsisPositionProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SmoothScroll property.
+        /// The LineWrapMode property.<br />
+        /// The line wrap mode when the text lines over the layout width.<br />
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool SmoothScroll
+        /// <since_tizen> 4 </since_tizen>
+        public LineWrapMode LineWrapMode
         {
             get
             {
-                return (bool)GetValue(SmoothScrollProperty);
+                return (LineWrapMode)GetValue(LineWrapModeProperty);
             }
             set
             {
-                SetValue(SmoothScrollProperty, value);
+                SetValue(LineWrapModeProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The SmoothScrollDuration property.
+        /// Enables Text selection using Shift key.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float SmoothScrollDuration
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool EnableShiftSelection
         {
             get
             {
-                return (float)GetValue(SmoothScrollDurationProperty);
+                return (bool)GetValue(EnableShiftSelectionProperty);
             }
             set
             {
-                SetValue(SmoothScrollDurationProperty, value);
+                SetValue(EnableShiftSelectionProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The EnableScrollBar property.
+        /// The text alignment to match the direction of the system language.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EnableScrollBar
+        /// <since_tizen> 6 </since_tizen>
+        public bool MatchSystemLanguageDirection
         {
             get
             {
-                return (bool)GetValue(EnableScrollBarProperty);
+                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
             }
             set
             {
-                SetValue(EnableScrollBarProperty, value);
+                SetValue(MatchSystemLanguageDirectionProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The ScrollBarShowDuration property.
+        /// The MaxLength property.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float ScrollBarShowDuration
+        /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int MaxLength
         {
             get
             {
-                return (float)GetValue(ScrollBarShowDurationProperty);
+                return (int)GetValue(MaxLengthProperty);
             }
             set
             {
-                SetValue(ScrollBarShowDurationProperty, value);
+                SetValue(MaxLengthProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The ScrollBarFadeDuration property.
+        /// The FontSizeScale property. <br />
+        /// The default value is 1.0. <br />
+        /// If FontSizeScale.UseSystemSetting, will use the SystemSettings.FontSize internally. <br />
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float ScrollBarFadeDuration
+        /// <since_tizen> 9 </since_tizen>
+        public float FontSizeScale
         {
             get
             {
-                return (float)GetValue(ScrollBarFadeDurationProperty);
+                return fontSizeScale;
             }
             set
             {
-                SetValue(ScrollBarFadeDurationProperty, value);
+                float newFontSizeScale;
+
+                if (fontSizeScale == value) return;
+
+                fontSizeScale = value;
+                if (fontSizeScale == Tizen.NUI.FontSizeScale.UseSystemSetting)
+                {
+                    SystemSettingsFontSize systemSettingsFontSize;
+
+                    try
+                    {
+                        systemSettingsFontSize = SystemSettings.FontSize;
+                    }
+                    catch (Exception e)
+                    {
+                        Console.WriteLine("{0} Exception caught.", e);
+                        systemSettingsFontSize = SystemSettingsFontSize.Normal;
+                    }
+                    newFontSizeScale = TextUtils.GetFontSizeScale(systemSettingsFontSize);
+                    addFontSizeChangedCallback();
+                }
+                else
+                {
+                    newFontSizeScale = fontSizeScale;
+                    removeFontSizeChangedCallback();
+                }
+
+                SetValue(FontSizeScaleProperty, newFontSizeScale);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The PixelSize property.
+        /// The InputMethodSettings property.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float PixelSize
+        /// <remarks>
+        /// <see cref="InputMethod"/> is a class encapsulating the input method map. Please use the <see cref="InputMethod"/> class for this property.
+        /// </remarks>
+        /// <example>
+        /// The following example demonstrates how to set the InputMethodSettings property.
+        /// <code>
+        /// InputMethod method = new InputMethod();
+        /// method.PanelLayout = InputMethod.PanelLayoutType.Normal;
+        /// method.ActionButton = InputMethod.ActionButtonTitleType.Default;
+        /// method.AutoCapital = InputMethod.AutoCapitalType.Word;
+        /// method.Variation = 1;
+        /// textEditor.InputMethodSettings = method.OutputMap;
+        /// </code>
+        /// </example>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public PropertyMap InputMethodSettings
         {
             get
             {
-                return (float)GetValue(PixelSizeProperty);
+                return (PropertyMap)GetValue(InputMethodSettingsProperty);
             }
             set
             {
-                SetValue(PixelSizeProperty, value);
+                SetValue(InputMethodSettingsProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The line count of the text.
+        /// Scroll the text control by specific amount..
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int LineCount
+        /// <param name="scroll">The amount (in pixels) of scrolling in horizontal &amp; vertical directions.</param>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void ScrollBy(Vector2 scroll)
         {
-            get
+            Interop.TextEditor.ScrollBy(SwigCPtr, Vector2.getCPtr(scroll));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Get the InputMethodContext instance.
+        /// </summary>
+        /// <returns>The InputMethodContext instance.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public InputMethodContext GetInputMethodContext()
+        {
+            if (inputMethodContext == null)
             {
-                int temp = 0;
-                GetProperty(TextEditor.Property.LINE_COUNT).Get(out temp);
-                return temp;
+                /*Avoid raising InputMethodContext reference count.*/
+                inputMethodContext = new InputMethodContext(Interop.TextEditor.GetInputMethodContext(SwigCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+            return inputMethodContext;
         }
 
         /// <summary>
-        /// The text to display when the TextEditor is empty and inactive.
+        /// Select the whole text.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string PlaceholderText
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SelectWholeText()
+        {
+            Interop.TextEditor.SelectWholeText(SwigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Select text from start to end index. <br />
+        /// The index is valid when 0 or positive. <br />
+        /// </summary>
+        /// <param name="start">The start index for selection.</param>
+        /// <param name="end">The end index for selection.</param>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SelectText(int start, int end)
+        {
+            if (start < 0)
+                throw new global::System.ArgumentOutOfRangeException(nameof(start), "Value is less than zero");
+            if (end < 0)
+                throw new global::System.ArgumentOutOfRangeException(nameof(end), "Value is less than zero");
+
+            Interop.TextEditor.SelectText(SwigCPtr, (uint)start, (uint)end);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Clear selection of the text.
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SelectNone()
+        {
+            _ = Interop.TextEditor.SelectNone(SwigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Enable grab handle property.
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool EnableGrabHandle
         {
             get
             {
-                return (string)GetValue(PlaceholderTextProperty);
+                return (bool)GetValue(EnableGrabHandleProperty);
             }
             set
             {
-                SetValue(PlaceholderTextProperty, value);
+                SetValue(EnableGrabHandleProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The Placeholder text color.
+        /// Enable grab handle popup property.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Color PlaceholderTextColor
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool EnableGrabHandlePopup
         {
             get
             {
-                return (Color)GetValue(PlaceholderTextColorProperty);
+                return (bool)GetValue(EnableGrabHandlePopupProperty);
             }
             set
             {
-                SetValue(PlaceholderTextColorProperty, value);
+                SetValue(EnableGrabHandlePopupProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
         /// <summary>
-        /// The EnableSelection property.
+        /// Minimum line size to be used.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EnableSelection
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public float MinLineSize
         {
             get
             {
-                return (bool)GetValue(EnableSelectionProperty);
+                return (float)GetValue(MinLineSizeProperty);
             }
             set
             {
-                SetValue(EnableSelectionProperty, value);
+                SetValue(MinLineSizeProperty, value);
                 NotifyPropertyChanged();
             }
         }
 
+        internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
+        {
+            SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(Interop.TextEditor.InputStyleChangedSignal(SwigCPtr));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// The Placeholder property.
-        /// Gets or sets the placeholder: text, color, font family, font style, point size, and pixel size.
+        /// Dispose.
         /// </summary>
-        /// <example>
-        /// The following example demonstrates how to set the placeholder property.
-        /// <code>
-        /// PropertyMap propertyMap = new PropertyMap();
-        /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
-        /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
-        /// propertyMap.Add("color", new PropertyValue(Color.Red));
-        /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
-        /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
-        ///
-        /// PropertyMap fontStyleMap = new PropertyMap();
-        /// fontStyleMap.Add("weight", new PropertyValue("bold"));
-        /// fontStyleMap.Add("width", new PropertyValue("condensed"));
-        /// fontStyleMap.Add("slant", new PropertyValue("italic"));
-        /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
-        ///
-        /// TextEditor editor = new TextEditor();
-        /// editor.Placeholder = propertyMap;
-        /// </code>
-        /// </example>
         /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyMap Placeholder
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return (PropertyMap)GetValue(PlaceholderProperty);
+                return;
             }
-            set
+
+            if (systemlangTextFlag)
             {
-                SetValue(PlaceholderProperty, value);
-                NotifyPropertyChanged();
+                SystemSettings.LocaleLanguageChanged -= SystemSettings_LocaleLanguageChanged;
+            }
+
+            removeFontSizeChangedCallback();
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (this.HasBody())
+            {
+                if (textEditorTextChangedCallbackDelegate != null)
+                {
+                    TextChangedSignal().Disconnect(textEditorTextChangedCallbackDelegate);
+                }
+
+                if (textEditorMaxLengthReachedCallbackDelegate != null)
+                {
+                    this.MaxLengthReachedSignal().Disconnect(textEditorMaxLengthReachedCallbackDelegate);
+                }
+
+                if (textEditorSelectionClearedCallbackDelegate != null)
+                {
+                    this.SelectionClearedSignal().Disconnect(textEditorSelectionClearedCallbackDelegate);
+                }
+
+                if (textEditorCursorPositionChangedCallbackDelegate != null)
+                {
+                    this.CursorPositionChangedSignal().Disconnect(textEditorCursorPositionChangedCallbackDelegate);
+                }
+
+                if (textEditorSelectionChangedCallbackDelegate != null)
+                {
+                    this.SelectionChangedSignal().Disconnect(textEditorSelectionChangedCallbackDelegate);
+                }
             }
+
+            TextChanged -= TextEditorTextChanged;
+
+            base.Dispose(type);
         }
 
-        /// <summary>
-        /// The LineWrapMode property.<br />
-        /// The line wrap mode when the text lines over the layout width.<br />
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public LineWrapMode LineWrapMode
+        /// This will not be public opened.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
         {
-            get
+            // In order to speed up IME hide, temporarily add
+            GetInputMethodContext()?.DestroyContext();
+            Interop.TextEditor.DeleteTextEditor(swigCPtr);
+        }
+
+        private string SetTranslatable(string textEditorSid)
+        {
+            string translatableText = null;
+            translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
+            if (translatableText != null)
             {
-                return (LineWrapMode)GetValue(LineWrapModeProperty);
+                if (systemlangTextFlag == false)
+                {
+                    SystemSettings.LocaleLanguageChanged += SystemSettings_LocaleLanguageChanged;
+                    systemlangTextFlag = true;
+                }
+                return translatableText;
             }
-            set
+            else
             {
-                SetValue(LineWrapModeProperty, value);
-                NotifyPropertyChanged();
+                translatableText = "";
+                return translatableText;
             }
         }
 
-        /// <summary>
-        /// Enables Text selection using Shift key.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool EnableShiftSelection
+        private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
         {
-            get
+            if (textEditorTextSid != null)
             {
-                return (bool)GetValue(EnableShiftSelectionProperty);
+                Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
             }
-            set
+            if (textEditorPlaceHolderTextSid != null)
             {
-                SetValue(EnableShiftSelectionProperty, value);
-                NotifyPropertyChanged();
+                PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
+            }
+        }
+
+        private void SystemSettingsFontSizeChanged(object sender, FontSizeChangedEventArgs e)
+        {
+            float newFontSizeScale = TextUtils.GetFontSizeScale(e.Value);
+            SetValue(FontSizeScaleProperty, newFontSizeScale);
+            NotifyPropertyChanged();
+        }
+
+        private void addFontSizeChangedCallback()
+        {
+            if (hasFontSizeChangedCallback != true)
+            {
+                try
+                {
+                    SystemSettings.FontSizeChanged += SystemSettingsFontSizeChanged;
+                    hasFontSizeChangedCallback = true;
+                }
+                catch (Exception e)
+                {
+                    Console.WriteLine("{0} Exception caught.", e);
+                    hasFontSizeChangedCallback = false;
+                }
+            }
+        }
+
+        private void removeFontSizeChangedCallback()
+        {
+            if (hasFontSizeChangedCallback == true)
+            {
+                try
+                {
+                    SystemSettings.FontSizeChanged -= SystemSettingsFontSizeChanged;
+                    hasFontSizeChangedCallback = false;
+                }
+                catch (Exception e)
+                {
+                    Console.WriteLine("{0} Exception caught.", e);
+                    hasFontSizeChangedCallback = true;
+                }
+            }
+        }
+
+        private void TextEditorTextChanged(object sender, TextChangedEventArgs e)
+        {
+            if (!isSettingTextInCSharp)
+            {
+                ForceNotifyBindedInstance(TextProperty);
             }
         }
 
+        internal new class Property
+        {
+            internal static readonly int TEXT = Interop.TextEditor.TextGet();
+            internal static readonly int TextColor = Interop.TextEditor.TextColorGet();
+            internal static readonly int FontFamily = Interop.TextEditor.FontFamilyGet();
+            internal static readonly int FontStyle = Interop.TextEditor.FontStyleGet();
+            internal static readonly int PointSize = Interop.TextEditor.PointSizeGet();
+            internal static readonly int HorizontalAlignment = Interop.TextEditor.HorizontalAlignmentGet();
+            internal static readonly int ScrollThreshold = Interop.TextEditor.ScrollThresholdGet();
+            internal static readonly int ScrollSpeed = Interop.TextEditor.ScrollSpeedGet();
+            internal static readonly int PrimaryCursorColor = Interop.TextEditor.PrimaryCursorColorGet();
+            internal static readonly int SecondaryCursorColor = Interop.TextEditor.SecondaryCursorColorGet();
+            internal static readonly int EnableCursorBlink = Interop.TextEditor.EnableCursorBlinkGet();
+            internal static readonly int CursorBlinkInterval = Interop.TextEditor.CursorBlinkIntervalGet();
+            internal static readonly int CursorBlinkDuration = Interop.TextEditor.CursorBlinkDurationGet();
+            internal static readonly int CursorWidth = Interop.TextEditor.CursorWidthGet();
+            internal static readonly int GrabHandleImage = Interop.TextEditor.GrabHandleImageGet();
+            internal static readonly int GrabHandlePressedImage = Interop.TextEditor.GrabHandlePressedImageGet();
+            internal static readonly int SelectionHandleImageLeft = Interop.TextEditor.SelectionHandleImageLeftGet();
+            internal static readonly int SelectionHandleImageRight = Interop.TextEditor.SelectionHandleImageRightGet();
+            internal static readonly int SelectionHandlePressedImageLeft = Interop.TextEditor.SelectionHandlePressedImageLeftGet();
+            internal static readonly int SelectionHandlePressedImageRight = Interop.TextEditor.SelectionHandlePressedImageRightGet();
+            internal static readonly int SelectionHandleMarkerImageLeft = Interop.TextEditor.SelectionHandleMarkerImageLeftGet();
+            internal static readonly int SelectionHandleMarkerImageRight = Interop.TextEditor.SelectionHandleMarkerImageRightGet();
+            internal static readonly int SelectionHighlightColor = Interop.TextEditor.SelectionHighlightColorGet();
+            internal static readonly int DecorationBoundingBox = Interop.TextEditor.DecorationBoundingBoxGet();
+            internal static readonly int EnableMarkup = Interop.TextEditor.EnableMarkupGet();
+            internal static readonly int InputColor = Interop.TextEditor.InputColorGet();
+            internal static readonly int InputFontFamily = Interop.TextEditor.InputFontFamilyGet();
+            internal static readonly int InputFontStyle = Interop.TextEditor.InputFontStyleGet();
+            internal static readonly int InputPointSize = Interop.TextEditor.InputPointSizeGet();
+            internal static readonly int LineSpacing = Interop.TextEditor.LineSpacingGet();
+            internal static readonly int InputLineSpacing = Interop.TextEditor.InputLineSpacingGet();
+            internal static readonly int UNDERLINE = Interop.TextEditor.UnderlineGet();
+            internal static readonly int InputUnderline = Interop.TextEditor.InputUnderlineGet();
+            internal static readonly int SHADOW = Interop.TextEditor.ShadowGet();
+            internal static readonly int InputShadow = Interop.TextEditor.InputShadowGet();
+            internal static readonly int EMBOSS = Interop.TextEditor.EmbossGet();
+            internal static readonly int InputEmboss = Interop.TextEditor.InputEmbossGet();
+            internal static readonly int OUTLINE = Interop.TextEditor.OutlineGet();
+            internal static readonly int InputOutline = Interop.TextEditor.InputOutlineGet();
+            internal static readonly int SmoothScroll = Interop.TextEditor.SmoothScrollGet();
+            internal static readonly int SmoothScrollDuration = Interop.TextEditor.SmoothScrollDurationGet();
+            internal static readonly int EnableScrollBar = Interop.TextEditor.EnableScrollBarGet();
+            internal static readonly int ScrollBarShowDuration = Interop.TextEditor.ScrollBarShowDurationGet();
+            internal static readonly int ScrollBarFadeDuration = Interop.TextEditor.ScrollBarFadeDurationGet();
+            internal static readonly int PixelSize = Interop.TextEditor.PixelSizeGet();
+            internal static readonly int LineCount = Interop.TextEditor.LineCountGet();
+            internal static readonly int EnableSelection = Interop.TextEditor.EnableSelectionGet();
+            internal static readonly int PLACEHOLDER = Interop.TextEditor.PlaceholderGet();
+            internal static readonly int LineWrapMode = Interop.TextEditor.LineWrapModeGet();
+            internal static readonly int PlaceholderText = Interop.TextEditor.PlaceholderTextGet();
+            internal static readonly int PlaceholderTextColor = Interop.TextEditor.PlaceholderTextColorGet();
+            internal static readonly int EnableShiftSelection = Interop.TextEditor.EnableShiftSelectionGet();
+            internal static readonly int MatchSystemLanguageDirection = Interop.TextEditor.MatchSystemLanguageDirectionGet();
+            internal static readonly int MaxLength = Interop.TextEditor.MaxLengthGet();
+            internal static readonly int SelectedTextStart = Interop.TextEditor.SelectedTextStartGet();
+            internal static readonly int SelectedTextEnd = Interop.TextEditor.SelectedTextEndGet();
+            internal static readonly int EnableEditing = Interop.TextEditor.EnableEditingGet();
+            internal static readonly int SelectedText = Interop.TextEditor.SelectedTextGet();
+            internal static readonly int HorizontalScrollPosition = Interop.TextEditor.HorizontalScrollPositionGet();
+            internal static readonly int VerticalScrollPosition = Interop.TextEditor.VerticalScrollPositionGet();
+            internal static readonly int PrimaryCursorPosition = Interop.TextEditor.PrimaryCursorPositionGet();
+            internal static readonly int FontSizeScale = Interop.TextEditor.FontSizeScaleGet();
+            internal static readonly int GrabHandleColor = Interop.TextEditor.GrabHandleColorGet();
+            internal static readonly int EnableGrabHandle = Interop.TextEditor.EnableGrabHandleGet();
+            internal static readonly int EnableGrabHandlePopup = Interop.TextEditor.EnableGrabHandlePopupGet();
+            internal static readonly int InputMethodSettings = Interop.TextEditor.InputMethodSettingsGet();
+            internal static readonly int ELLIPSIS = Interop.TextEditor.EllipsisGet();
+            internal static readonly int EllipsisPosition = Interop.TextEditor.EllipsisPositionGet();
+            internal static readonly int MinLineSize = Interop.TextEditor.MinLineSizeGet();
+            internal static readonly int InputFilter = Interop.TextEditor.InputFilterGet();
+        }
+
+        internal class InputStyle
+        {
+            internal enum Mask
+            {
+                None = 0x0000,
+                Color = 0x0001,
+                FontFamily = 0x0002,
+                PointSize = 0x0004,
+                FontStyle = 0x0008,
+                LineSpacing = 0x0010,
+                Underline = 0x0020,
+                Shadow = 0x0040,
+                Emboss = 0x0080,
+                Outline = 0x0100
+            }
+        }
 
+        private void OnDecorationBoundingBoxChanged(int x, int y, int width, int height)
+        {
+            DecorationBoundingBox = new Rectangle(x, y, width, height);
+        }
+        private void OnInputColorChanged(float x, float y, float z, float w)
+        {
+            InputColor = new Vector4(x, y, z, w);
+        }
+        private void OnPlaceholderTextColorChanged(float r, float g, float b, float a)
+        {
+            PlaceholderTextColor = new Color(r, g, b, a);
+        }
+        private void OnPrimaryCursorColorChanged(float x, float y, float z, float w)
+        {
+            PrimaryCursorColor = new Vector4(x, y, z, w);
+        }
+        private void OnSecondaryCursorColorChanged(float x, float y, float z, float w)
+        {
+            SecondaryCursorColor = new Vector4(x, y, z, w);
+        }
+        private void OnSelectionHighlightColorChanged(float x, float y, float z, float w)
+        {
+            SelectionHighlightColor = new Vector4(x, y, z, w);
+        }
+        private void OnTextColorChanged(float x, float y, float z, float w)
+        {
+            TextColor = new Vector4(x, y, z, w);
+        }
+        private void OnGrabHandleColorChanged(float r, float g, float b, float a)
+        {
+            GrabHandleColor = new Color(r, g, b, a);
+        }
     }
 }