[NUI] Sync with dalihub & API5 branch (#631)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextEditor.cs
1 /*
2  * Copyright(c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 extern alias TizenSystemSettings;
19 using TizenSystemSettings.Tizen.System;
20
21 using System;
22 using System.Runtime.InteropServices;
23 using System.Globalization;
24 using System.ComponentModel;
25 using Tizen.NUI.Binding;
26
27 namespace Tizen.NUI.BaseComponents
28 {
29     /// <summary>
30     /// A control which provides a multi-line editable text editor.
31     /// </summary>
32     /// <since_tizen> 3 </since_tizen>
33     public class TextEditor : View
34     {
35         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
36         [EditorBrowsable(EditorBrowsableState.Never)]
37         public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
38         {
39             var textEditor = (TextEditor)bindable;
40             if (newValue != null)
41             {
42                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
43             }
44         },
45         defaultValueCreator:(bindable) =>
46         {
47             var textEditor = (TextEditor)bindable;
48             string temp;
49             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT).Get(out temp);
50             return temp;
51         });
52         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
53         [EditorBrowsable(EditorBrowsableState.Never)]
54         public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
55         {
56             var textEditor = (TextEditor)bindable;
57             if (newValue != null)
58             {
59                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
60             }
61         },
62         defaultValueCreator:(bindable) =>
63         {
64             var textEditor = (TextEditor)bindable;
65             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
66             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.TEXT_COLOR).Get(temp);
67             return temp;
68         });
69         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
70         [EditorBrowsable(EditorBrowsableState.Never)]
71         public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
72         {
73             var textEditor = (TextEditor)bindable;
74             if (newValue != null)
75             {
76                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
77             }
78         },
79         defaultValueCreator:(bindable) =>
80         {
81             var textEditor = (TextEditor)bindable;
82             string temp;
83             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_FAMILY).Get(out temp);
84             return temp;
85         });
86         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
87         [EditorBrowsable(EditorBrowsableState.Never)]
88         public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
89         {
90             var textEditor = (TextEditor)bindable;
91             if (newValue != null)
92             {
93                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
94             }
95         },
96         defaultValueCreator:(bindable) =>
97         {
98             var textEditor = (TextEditor)bindable;
99             PropertyMap temp = new PropertyMap();
100             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.FONT_STYLE).Get(temp);
101             return temp;
102         });
103         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
104         [EditorBrowsable(EditorBrowsableState.Never)]
105         public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
106         {
107             var textEditor = (TextEditor)bindable;
108             if (newValue != null)
109             {
110                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
111             }
112         },
113         defaultValueCreator:(bindable) =>
114         {
115             var textEditor = (TextEditor)bindable;
116             float temp = 0.0f;
117             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.POINT_SIZE).Get(out temp);
118             return temp;
119         });
120         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
121         [EditorBrowsable(EditorBrowsableState.Never)]
122         public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
123         {
124             var textEditor = (TextEditor)bindable;
125             if (newValue != null)
126             {
127                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
128             }
129         },
130         defaultValueCreator:(bindable) =>
131         {
132             var textEditor = (TextEditor)bindable;
133             string temp;
134             if (Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
135             {
136                 NUILog.Error("HorizontalAlignment get error!");
137             }
138
139             switch (temp)
140             {
141                 case "BEGIN":
142                     return HorizontalAlignment.Begin;
143                 case "CENTER":
144                     return HorizontalAlignment.Center;
145                 case "END":
146                     return HorizontalAlignment.End;
147                 default:
148                     return HorizontalAlignment.Begin;
149             }
150         });
151         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
152         [EditorBrowsable(EditorBrowsableState.Never)]
153         public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(ScrollThreshold), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
154         {
155             var textEditor = (TextEditor)bindable;
156             if (newValue != null)
157             {
158                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue((float)newValue));
159             }
160         },
161         defaultValueCreator:(bindable) =>
162         {
163             var textEditor = (TextEditor)bindable;
164             float temp = 0.0f;
165             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_THRESHOLD).Get(out temp);
166             return temp;
167         });
168         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
169         [EditorBrowsable(EditorBrowsableState.Never)]
170         public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(ScrollSpeed), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
171         {
172             var textEditor = (TextEditor)bindable;
173             if (newValue != null)
174             {
175                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue((float)newValue));
176             }
177         },
178         defaultValueCreator:(bindable) =>
179         {
180             var textEditor = (TextEditor)bindable;
181             float temp = 0.0f;
182             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_SPEED).Get(out temp);
183             return temp;
184         });
185         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
186         [EditorBrowsable(EditorBrowsableState.Never)]
187         public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create(nameof(PrimaryCursorColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
188         {
189             var textEditor = (TextEditor)bindable;
190             if (newValue != null)
191             {
192                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
193             }
194         },
195         defaultValueCreator:(bindable) =>
196         {
197             var textEditor = (TextEditor)bindable;
198             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
199             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PRIMARY_CURSOR_COLOR).Get(temp);
200             return temp;
201         });
202         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
203         [EditorBrowsable(EditorBrowsableState.Never)]
204         public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(SecondaryCursorColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
205         {
206             var textEditor = (TextEditor)bindable;
207             if (newValue != null)
208             {
209                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
210             }
211         },
212         defaultValueCreator:(bindable) =>
213         {
214             var textEditor = (TextEditor)bindable;
215             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
216             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SECONDARY_CURSOR_COLOR).Get(temp);
217             return temp;
218         });
219         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
220         [EditorBrowsable(EditorBrowsableState.Never)]
221         public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(EnableCursorBlink), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
222         {
223             var textEditor = (TextEditor)bindable;
224             if (newValue != null)
225             {
226                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue((bool)newValue));
227             }
228         },
229         defaultValueCreator:(bindable) =>
230         {
231             var textEditor = (TextEditor)bindable;
232             bool temp = false;
233             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_CURSOR_BLINK).Get(out temp);
234             return temp;
235         });
236         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
237         [EditorBrowsable(EditorBrowsableState.Never)]
238         public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(CursorBlinkInterval), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
239         {
240             var textEditor = (TextEditor)bindable;
241             if (newValue != null)
242             {
243                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue((float)newValue));
244             }
245         },
246         defaultValueCreator:(bindable) =>
247         {
248             var textEditor = (TextEditor)bindable;
249             float temp = 0.0f;
250             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
251             return temp;
252         });
253         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
254         [EditorBrowsable(EditorBrowsableState.Never)]
255         public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(CursorBlinkDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
256         {
257             var textEditor = (TextEditor)bindable;
258             if (newValue != null)
259             {
260                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
261             }
262         },
263         defaultValueCreator:(bindable) =>
264         {
265             var textEditor = (TextEditor)bindable;
266             float temp = 0.0f;
267             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_BLINK_DURATION).Get(out temp);
268             return temp;
269         });
270         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
271         [EditorBrowsable(EditorBrowsableState.Never)]
272         public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(CursorWidth), typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
273         {
274             var textEditor = (TextEditor)bindable;
275             if (newValue != null)
276             {
277                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue((int)newValue));
278             }
279         },
280         defaultValueCreator:(bindable) =>
281         {
282             var textEditor = (TextEditor)bindable;
283             int temp = 0;
284             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.CURSOR_WIDTH).Get(out temp);
285             return temp;
286         });
287         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
288         [EditorBrowsable(EditorBrowsableState.Never)]
289         public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(GrabHandleImage), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
290         {
291             var textEditor = (TextEditor)bindable;
292             if (newValue != null)
293             {
294                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
295             }
296         },
297         defaultValueCreator:(bindable) =>
298         {
299             var textEditor = (TextEditor)bindable;
300             string temp;
301             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_IMAGE).Get(out temp);
302             return temp;
303         });
304         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
305         [EditorBrowsable(EditorBrowsableState.Never)]
306         public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(GrabHandlePressedImage), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
307         {
308             var textEditor = (TextEditor)bindable;
309             if (newValue != null)
310             {
311                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue((string)newValue));
312             }
313         },
314         defaultValueCreator:(bindable) =>
315         {
316             var textEditor = (TextEditor)bindable;
317             string temp;
318             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
319             return temp;
320         });
321         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
322         [EditorBrowsable(EditorBrowsableState.Never)]
323         public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
324         {
325             var textEditor = (TextEditor)bindable;
326             if (newValue != null)
327             {
328                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
329             }
330         },
331         defaultValueCreator:(bindable) =>
332         {
333             var textEditor = (TextEditor)bindable;
334             PropertyMap temp = new PropertyMap();
335             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
336             return temp;
337         });
338         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
339         [EditorBrowsable(EditorBrowsableState.Never)]
340         public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(SelectionHandleImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
341         {
342             var textEditor = (TextEditor)bindable;
343             if (newValue != null)
344             {
345                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
346             }
347         },
348         defaultValueCreator:(bindable) =>
349         {
350             var textEditor = (TextEditor)bindable;
351             PropertyMap temp = new PropertyMap();
352             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
353             return temp;
354         });
355         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
356         [EditorBrowsable(EditorBrowsableState.Never)]
357         public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(SelectionHandlePressedImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
358         {
359             var textEditor = (TextEditor)bindable;
360             if (newValue != null)
361             {
362                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
363             }
364         },
365         defaultValueCreator:(bindable) =>
366         {
367             var textEditor = (TextEditor)bindable;
368             PropertyMap temp = new PropertyMap();
369             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
370             return temp;
371         });
372         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
373         [EditorBrowsable(EditorBrowsableState.Never)]
374         public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(SelectionHandlePressedImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
375         {
376             var textEditor = (TextEditor)bindable;
377             if (newValue != null)
378             {
379                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
380             }
381         },
382         defaultValueCreator:(bindable) =>
383         {
384             var textEditor = (TextEditor)bindable;
385             PropertyMap temp = new PropertyMap();
386             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
387             return temp;
388         });
389         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
390         [EditorBrowsable(EditorBrowsableState.Never)]
391         public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(SelectionHandleMarkerImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
392         {
393             var textEditor = (TextEditor)bindable;
394             if (newValue != null)
395             {
396                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
397             }
398         },
399         defaultValueCreator:(bindable) =>
400         {
401             var textEditor = (TextEditor)bindable;
402             PropertyMap temp = new PropertyMap();
403             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
404             return temp;
405         });
406         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
407         [EditorBrowsable(EditorBrowsableState.Never)]
408         public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(SelectionHandleMarkerImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
409         {
410             var textEditor = (TextEditor)bindable;
411             if (newValue != null)
412             {
413                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
414             }
415         },
416         defaultValueCreator:(bindable) =>
417         {
418             var textEditor = (TextEditor)bindable;
419             PropertyMap temp = new PropertyMap();
420             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
421             return temp;
422         });
423         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
424         [EditorBrowsable(EditorBrowsableState.Never)]
425         public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(SelectionHighlightColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
426         {
427             var textEditor = (TextEditor)bindable;
428             if (newValue != null)
429             {
430                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
431             }
432         },
433         defaultValueCreator:(bindable) =>
434         {
435             var textEditor = (TextEditor)bindable;
436             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
437             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
438             return temp;
439         });
440         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
441         [EditorBrowsable(EditorBrowsableState.Never)]
442         public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(DecorationBoundingBox), typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
443         {
444             var textEditor = (TextEditor)bindable;
445             if (newValue != null)
446             {
447                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue((Rectangle)newValue));
448             }
449         },
450         defaultValueCreator:(bindable) =>
451         {
452             var textEditor = (TextEditor)bindable;
453             Rectangle temp = new Rectangle(0, 0, 0, 0);
454             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.DECORATION_BOUNDING_BOX).Get(temp);
455             return temp;
456         });
457         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
458         [EditorBrowsable(EditorBrowsableState.Never)]
459         public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
460         {
461             var textEditor = (TextEditor)bindable;
462             if (newValue != null)
463             {
464                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue((bool)newValue));
465             }
466         },
467         defaultValueCreator:(bindable) =>
468         {
469             var textEditor = (TextEditor)bindable;
470             bool temp = false;
471             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_MARKUP).Get(out temp);
472             return temp;
473         });
474         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
475         [EditorBrowsable(EditorBrowsableState.Never)]
476         public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(InputColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
477         {
478             var textEditor = (TextEditor)bindable;
479             if (newValue != null)
480             {
481                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
482             }
483         },
484         defaultValueCreator:(bindable) =>
485         {
486             var textEditor = (TextEditor)bindable;
487             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
488             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_COLOR).Get(temp);
489             return temp;
490         });
491         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
492         [EditorBrowsable(EditorBrowsableState.Never)]
493         public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(InputFontFamily), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
494         {
495             var textEditor = (TextEditor)bindable;
496             if (newValue != null)
497             {
498                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
499             }
500         },
501         defaultValueCreator:(bindable) =>
502         {
503             var textEditor = (TextEditor)bindable;
504             string temp;
505             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_FAMILY).Get(out temp);
506             return temp;
507         });
508         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
509         [EditorBrowsable(EditorBrowsableState.Never)]
510         public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(InputFontStyle), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
511         {
512             var textEditor = (TextEditor)bindable;
513             if (newValue != null)
514             {
515                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
516             }
517         },
518         defaultValueCreator:(bindable) =>
519         {
520             var textEditor = (TextEditor)bindable;
521             PropertyMap temp = new PropertyMap();
522             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_FONT_STYLE).Get(temp);
523             return temp;
524         });
525         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
526         [EditorBrowsable(EditorBrowsableState.Never)]
527         public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(InputPointSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
528         {
529             var textEditor = (TextEditor)bindable;
530             if (newValue != null)
531             {
532                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
533             }
534         },
535         defaultValueCreator:(bindable) =>
536         {
537             var textEditor = (TextEditor)bindable;
538             float temp = 0.0f;
539             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_POINT_SIZE).Get(out temp);
540             return temp;
541         });
542         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
543         [EditorBrowsable(EditorBrowsableState.Never)]
544         public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
545         {
546             var textEditor = (TextEditor)bindable;
547             if (newValue != null)
548             {
549                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
550             }
551         },
552         defaultValueCreator:(bindable) =>
553         {
554             var textEditor = (TextEditor)bindable;
555             float temp = 0.0f;
556             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_SPACING).Get(out temp);
557             return temp;
558         });
559         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
560         [EditorBrowsable(EditorBrowsableState.Never)]
561         public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create(nameof(InputLineSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
562         {
563             var textEditor = (TextEditor)bindable;
564             if (newValue != null)
565             {
566                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
567             }
568         },
569         defaultValueCreator:(bindable) =>
570         {
571             var textEditor = (TextEditor)bindable;
572             float temp = 0.0f;
573             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_LINE_SPACING).Get(out temp);
574             return temp;
575         });
576         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
577         [EditorBrowsable(EditorBrowsableState.Never)]
578         public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
579         {
580             var textEditor = (TextEditor)bindable;
581             if (newValue != null)
582             {
583                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
584             }
585         },
586         defaultValueCreator:(bindable) =>
587         {
588             var textEditor = (TextEditor)bindable;
589             PropertyMap temp = new PropertyMap();
590             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.UNDERLINE).Get(temp);
591             return temp;
592         });
593         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
594         [EditorBrowsable(EditorBrowsableState.Never)]
595         public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(InputUnderline), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
596         {
597             var textEditor = (TextEditor)bindable;
598             if (newValue != null)
599             {
600                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue((string)newValue));
601             }
602         },
603         defaultValueCreator:(bindable) =>
604         {
605             var textEditor = (TextEditor)bindable;
606             string temp;
607             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_UNDERLINE).Get(out temp);
608             return temp;
609         });
610         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
611         [EditorBrowsable(EditorBrowsableState.Never)]
612         public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
613         {
614             var textEditor = (TextEditor)bindable;
615             if (newValue != null)
616             {
617                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
618             }
619         },
620         defaultValueCreator:(bindable) =>
621         {
622             var textEditor = (TextEditor)bindable;
623             PropertyMap temp = new PropertyMap();
624             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SHADOW).Get(temp);
625             return temp;
626         });
627         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
628         [EditorBrowsable(EditorBrowsableState.Never)]
629         public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(InputShadow), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
630         {
631             var textEditor = (TextEditor)bindable;
632             if (newValue != null)
633             {
634                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue((string)newValue));
635             }
636         },
637         defaultValueCreator:(bindable) =>
638         {
639             var textEditor = (TextEditor)bindable;
640             string temp;
641             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_SHADOW).Get(out temp);
642             return temp;
643         });
644         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
645         [EditorBrowsable(EditorBrowsableState.Never)]
646         public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
647         {
648             var textEditor = (TextEditor)bindable;
649             if (newValue != null)
650             {
651                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
652             }
653         },
654         defaultValueCreator:(bindable) =>
655         {
656             var textEditor = (TextEditor)bindable;
657             string temp;
658             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.EMBOSS).Get(out temp);
659             return temp;
660         });
661         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
662         [EditorBrowsable(EditorBrowsableState.Never)]
663         public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(InputEmboss), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
664         {
665             var textEditor = (TextEditor)bindable;
666             if (newValue != null)
667             {
668                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
669             }
670         },
671         defaultValueCreator:(bindable) =>
672         {
673             var textEditor = (TextEditor)bindable;
674             string temp;
675             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_EMBOSS).Get(out temp);
676             return temp;
677         });
678         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
679         [EditorBrowsable(EditorBrowsableState.Never)]
680         public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
681         {
682             var textEditor = (TextEditor)bindable;
683             if (newValue != null)
684             {
685                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
686             }
687         },
688         defaultValueCreator:(bindable) =>
689         {
690             var textEditor = (TextEditor)bindable;
691             PropertyMap temp = new PropertyMap();
692             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.OUTLINE).Get(temp);
693             return temp;
694         });
695         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
696         [EditorBrowsable(EditorBrowsableState.Never)]
697         public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(InputOutline), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
698         {
699             var textEditor = (TextEditor)bindable;
700             if (newValue != null)
701             {
702                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue((string)newValue));
703             }
704         },
705         defaultValueCreator:(bindable) =>
706         {
707             var textEditor = (TextEditor)bindable;
708             string temp;
709             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.INPUT_OUTLINE).Get(out temp);
710             return temp;
711         });
712         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
713         [EditorBrowsable(EditorBrowsableState.Never)]
714         public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create(nameof(SmoothScroll), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
715         {
716             var textEditor = (TextEditor)bindable;
717             if (newValue != null)
718             {
719                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL, new Tizen.NUI.PropertyValue((bool)newValue));
720             }
721         },
722         defaultValueCreator:(bindable) =>
723         {
724             var textEditor = (TextEditor)bindable;
725             bool temp = false;
726             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL).Get(out temp);
727             return temp;
728         });
729         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
730         [EditorBrowsable(EditorBrowsableState.Never)]
731         public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create(nameof(SmoothScrollDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
732         {
733             var textEditor = (TextEditor)bindable;
734             if (newValue != null)
735             {
736                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
737             }
738         },
739         defaultValueCreator:(bindable) =>
740         {
741             var textEditor = (TextEditor)bindable;
742             float temp = 0.0f;
743             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SMOOTH_SCROLL_DURATION).Get(out temp);
744             return temp;
745         });
746         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
747         [EditorBrowsable(EditorBrowsableState.Never)]
748         public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create(nameof(EnableScrollBar), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
749         {
750             var textEditor = (TextEditor)bindable;
751             if (newValue != null)
752             {
753                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SCROLL_BAR, new Tizen.NUI.PropertyValue((bool)newValue));
754             }
755         },
756         defaultValueCreator:(bindable) =>
757         {
758             var textEditor = (TextEditor)bindable;
759             bool temp = false;
760             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SCROLL_BAR).Get(out temp);
761             return temp;
762         });
763         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
764         [EditorBrowsable(EditorBrowsableState.Never)]
765         public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create(nameof(ScrollBarShowDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
766         {
767             var textEditor = (TextEditor)bindable;
768             if (newValue != null)
769             {
770                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_SHOW_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
771             }
772         },
773         defaultValueCreator:(bindable) =>
774         {
775             var textEditor = (TextEditor)bindable;
776             float temp = 0.0f;
777             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_SHOW_DURATION).Get(out temp);
778             return temp;
779         });
780         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
781         [EditorBrowsable(EditorBrowsableState.Never)]
782         public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create(nameof(ScrollBarFadeDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
783         {
784             var textEditor = (TextEditor)bindable;
785             if (newValue != null)
786             {
787                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_FADE_DURATION, new Tizen.NUI.PropertyValue((float)newValue));
788             }
789         },
790         defaultValueCreator:(bindable) =>
791         {
792             var textEditor = (TextEditor)bindable;
793             float temp = 0.0f;
794             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.SCROLL_BAR_FADE_DURATION).Get(out temp);
795             return temp;
796         });
797         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
798         [EditorBrowsable(EditorBrowsableState.Never)]
799         public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
800         {
801             var textEditor = (TextEditor)bindable;
802             if (newValue != null)
803             {
804                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
805             }
806         },
807         defaultValueCreator:(bindable) =>
808         {
809             var textEditor = (TextEditor)bindable;
810             float temp = 0.0f;
811             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PIXEL_SIZE).Get(out temp);
812             return temp;
813         });
814         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
815         [EditorBrowsable(EditorBrowsableState.Never)]
816         public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(PlaceholderText), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
817         {
818             var textEditor = (TextEditor)bindable;
819             if (newValue != null)
820             {
821                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue((string)newValue));
822             }
823         },
824         defaultValueCreator:(bindable) =>
825         {
826             var textEditor = (TextEditor)bindable;
827             string temp;
828             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT).Get(out temp);
829             return temp;
830         });
831         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
832         [EditorBrowsable(EditorBrowsableState.Never)]
833         public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(PlaceholderTextColor), typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
834         {
835             var textEditor = (TextEditor)bindable;
836             if (newValue != null)
837             {
838                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue((Color)newValue));
839             }
840         },
841         defaultValueCreator:(bindable) =>
842         {
843             var textEditor = (TextEditor)bindable;
844             Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
845             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
846             return temp;
847         });
848         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
849         [EditorBrowsable(EditorBrowsableState.Never)]
850         public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(EnableSelection), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
851         {
852             var textEditor = (TextEditor)bindable;
853             if (newValue != null)
854             {
855                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
856             }
857         },
858         defaultValueCreator:(bindable) =>
859         {
860             var textEditor = (TextEditor)bindable;
861             bool temp = false;
862             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SELECTION).Get(out temp);
863             return temp;
864         });
865         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
866         [EditorBrowsable(EditorBrowsableState.Never)]
867         public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(Placeholder), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
868         {
869             var textEditor = (TextEditor)bindable;
870             if (newValue != null)
871             {
872                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
873             }
874         },
875         defaultValueCreator:(bindable) =>
876         {
877             var textEditor = (TextEditor)bindable;
878             Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
879             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.PLACEHOLDER).Get(temp);
880             return temp;
881         });
882         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
883         [EditorBrowsable(EditorBrowsableState.Never)]
884         public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
885         {
886             var textEditor = (TextEditor)bindable;
887             if (newValue != null)
888             {
889                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
890             }
891         },
892         defaultValueCreator:(bindable) =>
893         {
894             var textEditor = (TextEditor)bindable;
895             int temp;
896             if(Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.LINE_WRAP_MODE).Get(out temp) == false)
897             {
898                 NUILog.Error("LineWrapMode get error!");
899             }
900             return (LineWrapMode)temp;
901         });
902         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
903         [EditorBrowsable(EditorBrowsableState.Never)]
904         public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextEditor.EnableShiftSelection), typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
905         {
906             var textEditor = (TextEditor)bindable;
907             if (newValue != null)
908             {
909                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue((bool)newValue));
910             }
911         },
912         defaultValueCreator:(bindable) =>
913         {
914             var textEditor = (TextEditor)bindable;
915             //textEditor.mShiftSelectionFlag(true);
916             bool temp = false;
917             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
918             return temp;
919         });
920         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
921         [EditorBrowsable(EditorBrowsableState.Never)]
922         public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(TextEditor.MatchSystemLanguageDirection), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
923         {
924             var textEditor = (TextEditor)bindable;
925             if (newValue != null)
926             {
927                 Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
928             }
929         },
930         defaultValueCreator: (bindable) =>
931         {
932             var textEditor = (TextEditor)bindable;
933             bool temp = false;
934             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
935             return (bool)temp;
936         });
937
938         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
939         private string textEditorTextSid = null;
940         private string textEditorPlaceHolderTextSid = null;
941         private bool systemlangTextFlag = false;
942         private InputMethodContext inputMethodContext = null;
943
944         internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn)
945         {
946             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
947         }
948
949         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
950         {
951             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
952         }
953
954         /// <summary>
955         /// Dispose.
956         /// </summary>
957         /// <since_tizen> 3 </since_tizen>
958         protected override void Dispose(DisposeTypes type)
959         {
960             if (disposed)
961             {
962                 return;
963             }
964
965             if(type == DisposeTypes.Explicit)
966             {
967                 //Called by User
968                 //Release your own managed resources here.
969                 //You should release all of your own disposable objects here.
970             }
971
972             //Release your own unmanaged resources here.
973             //You should not access any managed member here except static instance.
974             //because the execution order of Finalizes is non-deterministic.
975
976             if (this.HasBody() && _textEditorTextChangedCallbackDelegate != null)
977             {
978                 TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
979             }
980
981             if (swigCPtr.Handle != global::System.IntPtr.Zero)
982             {
983                 if (swigCMemOwn)
984                 {
985                     swigCMemOwn = false;
986                     // In order to speed up IME hide, temporarily add
987                     GetInputMethodContext()?.DestroyContext();
988                     NDalicPINVOKE.delete_TextEditor(swigCPtr);
989                 }
990                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
991             }
992
993             base.Dispose(type);
994         }
995
996         /// <summary>
997         /// Event arguments that passed via the TextChanged signal.
998         /// </summary>
999         /// <since_tizen> 3 </since_tizen>
1000         public class TextChangedEventArgs : EventArgs
1001         {
1002             private TextEditor _textEditor;
1003
1004             /// <summary>
1005             /// TextEditor - is the texteditor control which has the text contents changed.
1006             /// </summary>
1007             /// <since_tizen> 3 </since_tizen>
1008             public TextEditor TextEditor
1009             {
1010                 get
1011                 {
1012                     return _textEditor;
1013                 }
1014                 set
1015                 {
1016                     _textEditor = value;
1017                 }
1018             }
1019         }
1020
1021         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1022         private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
1023         private EventHandler<TextChangedEventArgs> _textEditorTextChangedEventHandler;
1024         private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
1025
1026         /// <summary>
1027         /// An event for the TextChanged signal which can be used to subscribe or unsubscribe the event handler
1028         /// provided by the user. The TextChanged signal is emitted when the text changes.<br />
1029         /// </summary>
1030         /// <since_tizen> 3 </since_tizen>
1031         public event EventHandler<TextChangedEventArgs> TextChanged
1032         {
1033             add
1034             {
1035                 if (_textEditorTextChangedEventHandler == null)
1036                 {
1037                     _textEditorTextChangedCallbackDelegate = (OnTextChanged);
1038                     TextChangedSignal().Connect(_textEditorTextChangedCallbackDelegate);
1039                 }
1040                 _textEditorTextChangedEventHandler += value;
1041             }
1042             remove
1043             {
1044                 _textEditorTextChangedEventHandler -= value;
1045                 if (_textEditorTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
1046                 {
1047                     TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
1048                 }
1049             }
1050         }
1051
1052         private void OnTextChanged(IntPtr textEditor)
1053         {
1054             TextChangedEventArgs e = new TextChangedEventArgs();
1055
1056             // Populate all members of "e" (TextChangedEventArgs) with real data
1057             e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
1058
1059             if (_textEditorTextChangedEventHandler != null)
1060             {
1061                 //here we send all data to user event handlers
1062                 _textEditorTextChangedEventHandler(this, e);
1063             }
1064
1065         }
1066
1067         /// <summary>
1068         /// Event arguments that passed via the ScrollStateChanged signal.
1069         /// </summary>
1070         /// <since_tizen> 3 </since_tizen>
1071         public class ScrollStateChangedEventArgs : EventArgs
1072         {
1073             private TextEditor _textEditor;
1074             private ScrollState _scrollState;
1075
1076             /// <summary>
1077             /// TextEditor - is the texteditor control which has the scroll state changed.
1078             /// </summary>
1079             /// <since_tizen> 3 </since_tizen>
1080             public TextEditor TextEditor
1081             {
1082                 get
1083                 {
1084                     return _textEditor;
1085                 }
1086                 set
1087                 {
1088                     _textEditor = value;
1089                 }
1090             }
1091
1092             /// <summary>
1093             /// ScrollState - is the texteditor control scroll state.
1094             /// </summary>
1095             /// <since_tizen> 3 </since_tizen>
1096             public ScrollState ScrollState
1097             {
1098                 get
1099                 {
1100                     return _scrollState;
1101                 }
1102                 set
1103                 {
1104                     _scrollState = value;
1105                 }
1106             }
1107         }
1108
1109         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
1110         private delegate void ScrollStateChangedCallbackDelegate(IntPtr textEditor, ScrollState state);
1111         private EventHandler<ScrollStateChangedEventArgs> _textEditorScrollStateChangedEventHandler;
1112         private ScrollStateChangedCallbackDelegate _textEditorScrollStateChangedCallbackDelegate;
1113
1114         /// <summary>
1115         /// Event for the ScrollStateChanged signal which can be used to subscribe or unsubscribe the event handler
1116         /// provided by the user. The ScrollStateChanged signal is emitted when the scroll state changes.<br />
1117         /// </summary>
1118         /// <since_tizen> 3 </since_tizen>
1119         public event EventHandler<ScrollStateChangedEventArgs> ScrollStateChanged
1120         {
1121             add
1122             {
1123                 if (_textEditorScrollStateChangedEventHandler == null)
1124                 {
1125                     _textEditorScrollStateChangedCallbackDelegate = OnScrollStateChanged;
1126                     ScrollStateChangedSignal(this).Connect(_textEditorScrollStateChangedCallbackDelegate);
1127                 }
1128                 _textEditorScrollStateChangedEventHandler += value;
1129             }
1130             remove
1131             {
1132                 _textEditorScrollStateChangedEventHandler -= value;
1133                 if (_textEditorScrollStateChangedEventHandler == null && ScrollStateChangedSignal(this).Empty() == false)
1134                 {
1135                     ScrollStateChangedSignal(this).Disconnect(_textEditorScrollStateChangedCallbackDelegate);
1136                 }
1137             }
1138         }
1139
1140         private void OnScrollStateChanged(IntPtr textEditor, ScrollState state)
1141         {
1142             ScrollStateChangedEventArgs e = new ScrollStateChangedEventArgs();
1143
1144             if (textEditor != global::System.IntPtr.Zero)
1145             {
1146                 // Populate all members of "e" (ScrollStateChangedEventArgs) with real data
1147                 e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
1148                 e.ScrollState = state;
1149             }
1150
1151             if (_textEditorScrollStateChangedEventHandler != null)
1152             {
1153                 //here we send all data to user event handlers
1154                 _textEditorScrollStateChangedEventHandler(this, e);
1155             }
1156         }
1157
1158         internal new class Property
1159         {
1160             internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
1161             internal static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
1162             internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
1163             internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
1164             internal static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
1165             internal static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
1166             internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
1167             internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
1168             internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
1169             internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
1170             internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
1171             internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
1172             internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
1173             internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
1174             internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
1175             internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
1176             internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
1177             internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
1178             internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
1179             internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
1180             internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
1181             internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
1182             internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
1183             internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
1184             internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
1185             internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
1186             internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
1187             internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
1188             internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
1189             internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
1190             internal static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
1191             internal static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
1192             internal static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
1193             internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
1194             internal static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
1195             internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
1196             internal static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
1197             internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
1198             internal static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
1199             internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
1200             internal static readonly int SMOOTH_SCROLL = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_get();
1201             internal static readonly int SMOOTH_SCROLL_DURATION = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_DURATION_get();
1202             internal static readonly int ENABLE_SCROLL_BAR = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SCROLL_BAR_get();
1203             internal static readonly int SCROLL_BAR_SHOW_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_SHOW_DURATION_get();
1204             internal static readonly int SCROLL_BAR_FADE_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_FADE_DURATION_get();
1205             internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextEditor_Property_PIXEL_SIZE_get();
1206             internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextEditor_Property_LINE_COUNT_get();
1207             internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SELECTION_get();
1208             internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_get();
1209             internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextEditor_Property_LINE_WRAP_MODE_get();
1210             internal static readonly int PLACEHOLDER_TEXT = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_get();
1211             internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_COLOR_get();
1212             internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SHIFT_SELECTION_get();
1213             internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
1214         }
1215
1216         internal class InputStyle
1217         {
1218             internal enum Mask
1219             {
1220                 None = 0x0000,
1221                 Color = 0x0001,
1222                 FontFamily = 0x0002,
1223                 PointSize = 0x0004,
1224                 FontStyle = 0x0008,
1225                 LineSpacing = 0x0010,
1226                 Underline = 0x0020,
1227                 Shadow = 0x0040,
1228                 Emboss = 0x0080,
1229                 Outline = 0x0100
1230             }
1231         }
1232
1233         /// <summary>
1234         /// Creates the TextEditor control.
1235         /// </summary>
1236         /// <since_tizen> 3 </since_tizen>
1237         public TextEditor() : this(NDalicPINVOKE.TextEditor_New(), true)
1238         {
1239             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1240         }
1241
1242         internal override bool IsCreateByXaml
1243         {
1244             get
1245             {
1246                 return base.IsCreateByXaml;
1247             }
1248             set
1249             {
1250                 base.IsCreateByXaml = value;
1251
1252                 if (value == true)
1253                 {
1254                     this.TextChanged += (obj, e) =>
1255                     {
1256                         this.Text = this.Text;
1257                     };
1258                 }
1259             }
1260         }
1261
1262         internal TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true)
1263         {
1264             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1265         }
1266
1267         /// <summary>
1268         /// Get the InputMethodContext instance.
1269         /// </summary>
1270         /// <returns>The InputMethodContext instance.</returns>
1271         /// <since_tizen> 5 </since_tizen>
1272         public InputMethodContext GetInputMethodContext()
1273         {
1274             if (inputMethodContext == null)
1275             {
1276                 /*Avoid raising InputMethodContext reference count.*/
1277                 inputMethodContext = new InputMethodContext(NDalicPINVOKE.TextEditor_GetInputMethodContext(swigCPtr), true);
1278                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1279             }
1280             return inputMethodContext;
1281         }
1282
1283         internal TextEditorSignal TextChangedSignal()
1284         {
1285             TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
1286             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1287             return ret;
1288         }
1289
1290         internal ScrollStateChangedSignal ScrollStateChangedSignal(TextEditor textEditor)
1291         {
1292             ScrollStateChangedSignal ret = new ScrollStateChangedSignal(NDalicManualPINVOKE.TextEditor_ScrollStateChangedSignal(TextEditor.getCPtr(textEditor)), false);
1293             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1294             return ret;
1295         }
1296
1297         internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
1298         {
1299             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);
1300             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1301             return ret;
1302         }
1303
1304         /// <summary>
1305         /// The TranslatableText property.<br />
1306         /// The text can set the SID value.<br />
1307         /// </summary>
1308         /// <exception cref='ArgumentNullException'>
1309         /// ResourceManager about multilingual is null.
1310         /// </exception>
1311         /// <since_tizen> 4 </since_tizen>
1312         public string TranslatableText
1313         {
1314             get
1315             {
1316                 return textEditorTextSid;
1317             }
1318             set
1319             {
1320                 if (NUIApplication.MultilingualResourceManager == null)
1321                 {
1322                     throw new ArgumentNullException("ResourceManager about multilingual is null");
1323                 }
1324                 textEditorTextSid = value;
1325                 Text = SetTranslatable(textEditorTextSid);
1326                 NotifyPropertyChanged();
1327             }
1328         }
1329         /// <summary>
1330         /// The TranslatablePlaceholderText property.<br />
1331         /// The text can set the SID value.<br />
1332         /// </summary>
1333         /// <exception cref='ArgumentNullException'>
1334         /// ResourceManager about multilingual is null.
1335         /// </exception>
1336         /// <since_tizen> 4 </since_tizen>
1337         public string TranslatablePlaceholderText
1338         {
1339             get
1340             {
1341                 return textEditorPlaceHolderTextSid;
1342             }
1343             set
1344             {
1345                 if (NUIApplication.MultilingualResourceManager == null)
1346                 {
1347                     throw new ArgumentNullException("ResourceManager about multilingual is null");
1348                 }
1349                 textEditorPlaceHolderTextSid = value;
1350                 PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
1351                 NotifyPropertyChanged();
1352             }
1353         }
1354         private string SetTranslatable(string textEditorSid)
1355         {
1356             string translatableText = null;
1357             translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
1358             if (translatableText != null)
1359             {
1360                 if (systemlangTextFlag == false)
1361                 {
1362                     SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
1363                     systemlangTextFlag = true;
1364                 }
1365                 return translatableText;
1366             }
1367             else
1368             {
1369                 translatableText = "";
1370                 return translatableText;
1371             }
1372         }
1373         private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
1374         {
1375             if (textEditorTextSid != null)
1376             {
1377                 Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
1378             }
1379             if (textEditorPlaceHolderTextSid != null)
1380             {
1381                 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
1382             }
1383         }
1384         /// <summary>
1385         /// The Text property.
1386         /// </summary>
1387         /// <since_tizen> 3 </since_tizen>
1388         public string Text
1389         {
1390             get
1391             {
1392                 return (string)GetValue(TextProperty);
1393             }
1394             set
1395             {
1396                 SetValueAndForceSendChangeSignal(TextProperty, value);
1397                 NotifyPropertyChanged();
1398             }
1399         }
1400
1401         /// <summary>
1402         /// The TextColor property.
1403         /// </summary>
1404         /// <since_tizen> 3 </since_tizen>
1405         public Vector4 TextColor
1406         {
1407             get
1408             {
1409                 return (Vector4)GetValue(TextColorProperty);
1410             }
1411             set
1412             {
1413                 SetValue(TextColorProperty, value);
1414                 NotifyPropertyChanged();
1415             }
1416         }
1417
1418         /// <summary>
1419         /// The FontFamily property.
1420         /// </summary>
1421         /// <since_tizen> 3 </since_tizen>
1422         public string FontFamily
1423         {
1424             get
1425             {
1426                 return (string)GetValue(FontFamilyProperty);
1427             }
1428             set
1429             {
1430                 SetValue(FontFamilyProperty, value);
1431                 NotifyPropertyChanged();
1432             }
1433         }
1434
1435         /// <summary>
1436         /// The FontStyle property.
1437         /// </summary>
1438         /// <since_tizen> 3 </since_tizen>
1439         public PropertyMap FontStyle
1440         {
1441             get
1442             {
1443                 return (PropertyMap)GetValue(FontStyleProperty);
1444             }
1445             set
1446             {
1447                 SetValue(FontStyleProperty, value);
1448                 NotifyPropertyChanged();
1449             }
1450         }
1451
1452         /// <summary>
1453         /// The PointSize property.
1454         /// </summary>
1455         /// <since_tizen> 3 </since_tizen>
1456         public float PointSize
1457         {
1458             get
1459             {
1460                 return (float)GetValue(PointSizeProperty);
1461             }
1462             set
1463             {
1464                 SetValue(PointSizeProperty, value);
1465                 NotifyPropertyChanged();
1466             }
1467         }
1468
1469         /// <summary>
1470         /// The HorizontalAlignment property.
1471         /// </summary>
1472         /// <since_tizen> 3 </since_tizen>
1473         public HorizontalAlignment HorizontalAlignment
1474         {
1475             get
1476             {
1477                 return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty);
1478             }
1479             set
1480             {
1481                 SetValue(HorizontalAlignmentProperty, value);
1482                 NotifyPropertyChanged();
1483             }
1484         }
1485
1486         /// <summary>
1487         /// The ScrollThreshold property.
1488         /// </summary>
1489         /// <since_tizen> 3 </since_tizen>
1490         public float ScrollThreshold
1491         {
1492             get
1493             {
1494                 return (float)GetValue(ScrollThresholdProperty);
1495             }
1496             set
1497             {
1498                 SetValue(ScrollThresholdProperty, value);
1499                 NotifyPropertyChanged();
1500             }
1501         }
1502
1503         /// <summary>
1504         /// The ScrollSpeed property.
1505         /// </summary>
1506         /// <since_tizen> 3 </since_tizen>
1507         public float ScrollSpeed
1508         {
1509             get
1510             {
1511                 return (float)GetValue(ScrollSpeedProperty);
1512             }
1513             set
1514             {
1515                 SetValue(ScrollSpeedProperty, value);
1516                 NotifyPropertyChanged();
1517             }
1518         }
1519
1520         /// <summary>
1521         /// The PrimaryCursorColor property.
1522         /// </summary>
1523         /// <since_tizen> 3 </since_tizen>
1524         public Vector4 PrimaryCursorColor
1525         {
1526             get
1527             {
1528                 return (Vector4)GetValue(PrimaryCursorColorProperty);
1529             }
1530             set
1531             {
1532                 SetValue(PrimaryCursorColorProperty, value);
1533                 NotifyPropertyChanged();
1534             }
1535         }
1536
1537         /// <summary>
1538         /// The SecondaryCursorColor property.
1539         /// </summary>
1540         /// <since_tizen> 3 </since_tizen>
1541         public Vector4 SecondaryCursorColor
1542         {
1543             get
1544             {
1545                 return (Vector4)GetValue(SecondaryCursorColorProperty);
1546             }
1547             set
1548             {
1549                 SetValue(SecondaryCursorColorProperty, value);
1550                 NotifyPropertyChanged();
1551             }
1552         }
1553
1554         /// <summary>
1555         /// The EnableCursorBlink property.
1556         /// </summary>
1557         /// <since_tizen> 3 </since_tizen>
1558         public bool EnableCursorBlink
1559         {
1560             get
1561             {
1562                 return (bool)GetValue(EnableCursorBlinkProperty);
1563             }
1564             set
1565             {
1566                 SetValue(EnableCursorBlinkProperty, value);
1567                 NotifyPropertyChanged();
1568             }
1569         }
1570
1571         /// <summary>
1572         /// The CursorBlinkInterval property.
1573         /// </summary>
1574         /// <since_tizen> 3 </since_tizen>
1575         public float CursorBlinkInterval
1576         {
1577             get
1578             {
1579                 return (float)GetValue(CursorBlinkIntervalProperty);
1580             }
1581             set
1582             {
1583                 SetValue(CursorBlinkIntervalProperty, value);
1584                 NotifyPropertyChanged();
1585             }
1586         }
1587
1588         /// <summary>
1589         /// The CursorBlinkDuration property.
1590         /// </summary>
1591         /// <since_tizen> 3 </since_tizen>
1592         public float CursorBlinkDuration
1593         {
1594             get
1595             {
1596                 return (float)GetValue(CursorBlinkDurationProperty);
1597             }
1598             set
1599             {
1600                 SetValue(CursorBlinkDurationProperty, value);
1601                 NotifyPropertyChanged();
1602             }
1603         }
1604
1605         /// <summary>
1606         /// The CursorWidth property.
1607         /// </summary>
1608         /// <since_tizen> 3 </since_tizen>
1609         public int CursorWidth
1610         {
1611             get
1612             {
1613                 return (int)GetValue(CursorWidthProperty);
1614             }
1615             set
1616             {
1617                 SetValue(CursorWidthProperty, value);
1618                 NotifyPropertyChanged();
1619             }
1620         }
1621
1622         /// <summary>
1623         /// The GrabHandleImage property.
1624         /// </summary>
1625         /// <since_tizen> 3 </since_tizen>
1626         public string GrabHandleImage
1627         {
1628             get
1629             {
1630                 return (string)GetValue(GrabHandleImageProperty);
1631             }
1632             set
1633             {
1634                 SetValue(GrabHandleImageProperty, value);
1635                 NotifyPropertyChanged();
1636             }
1637         }
1638
1639         /// <summary>
1640         /// The GrabHandlePressedImage property.
1641         /// </summary>
1642         /// <since_tizen> 3 </since_tizen>
1643         public string GrabHandlePressedImage
1644         {
1645             get
1646             {
1647                 return (string)GetValue(GrabHandlePressedImageProperty);
1648             }
1649             set
1650             {
1651                 SetValue(GrabHandlePressedImageProperty, value);
1652                 NotifyPropertyChanged();
1653             }
1654         }
1655
1656         /// <summary>
1657         /// The SelectionHandleImageLeft property.
1658         /// </summary>
1659         /// <since_tizen> 3 </since_tizen>
1660         public PropertyMap SelectionHandleImageLeft
1661         {
1662             get
1663             {
1664                 return (PropertyMap)GetValue(SelectionHandleImageLeftProperty);
1665             }
1666             set
1667             {
1668                 SetValue(SelectionHandleImageLeftProperty, value);
1669                 NotifyPropertyChanged();
1670             }
1671         }
1672
1673         /// <summary>
1674         /// The SelectionHandleImageRight property.
1675         /// </summary>
1676         /// <since_tizen> 3 </since_tizen>
1677         public PropertyMap SelectionHandleImageRight
1678         {
1679             get
1680             {
1681                 return (PropertyMap)GetValue(SelectionHandleImageRightProperty);
1682             }
1683             set
1684             {
1685                 SetValue(SelectionHandleImageRightProperty, value);
1686                 NotifyPropertyChanged();
1687             }
1688         }
1689
1690         /// <summary>
1691         /// The SelectionHandlePressedImageLeft property.
1692         /// </summary>
1693         /// <since_tizen> 3 </since_tizen>
1694         public PropertyMap SelectionHandlePressedImageLeft
1695         {
1696             get
1697             {
1698                 return (PropertyMap)GetValue(SelectionHandlePressedImageLeftProperty);
1699             }
1700             set
1701             {
1702                 SetValue(SelectionHandlePressedImageLeftProperty, value);
1703                 NotifyPropertyChanged();
1704             }
1705         }
1706
1707         /// <summary>
1708         /// The SelectionHandlePressedImageRight property.
1709         /// </summary>
1710         /// <since_tizen> 3 </since_tizen>
1711         public PropertyMap SelectionHandlePressedImageRight
1712         {
1713             get
1714             {
1715                 return (PropertyMap)GetValue(SelectionHandlePressedImageRightProperty);
1716             }
1717             set
1718             {
1719                 SetValue(SelectionHandlePressedImageRightProperty, value);
1720                 NotifyPropertyChanged();
1721             }
1722         }
1723
1724         /// <summary>
1725         /// The SelectionHandleMarkerImageLeft property.
1726         /// </summary>
1727         /// <since_tizen> 3 </since_tizen>
1728         public PropertyMap SelectionHandleMarkerImageLeft
1729         {
1730             get
1731             {
1732                 return (PropertyMap)GetValue(SelectionHandleMarkerImageLeftProperty);
1733             }
1734             set
1735             {
1736                 SetValue(SelectionHandleMarkerImageLeftProperty, value);
1737                 NotifyPropertyChanged();
1738             }
1739         }
1740
1741         /// <summary>
1742         /// The SelectionHandleMarkerImageRight property.
1743         /// </summary>
1744         /// <since_tizen> 3 </since_tizen>
1745         public PropertyMap SelectionHandleMarkerImageRight
1746         {
1747             get
1748             {
1749                 return (PropertyMap)GetValue(SelectionHandleMarkerImageRightProperty);
1750             }
1751             set
1752             {
1753                 SetValue(SelectionHandleMarkerImageRightProperty, value);
1754                 NotifyPropertyChanged();
1755             }
1756         }
1757
1758         /// <summary>
1759         /// The SelectionHighlightColor property.
1760         /// </summary>
1761         /// <since_tizen> 3 </since_tizen>
1762         public Vector4 SelectionHighlightColor
1763         {
1764             get
1765             {
1766                 return (Vector4)GetValue(SelectionHighlightColorProperty);
1767             }
1768             set
1769             {
1770                 SetValue(SelectionHighlightColorProperty, value);
1771                 NotifyPropertyChanged();
1772             }
1773         }
1774
1775         /// <summary>
1776         /// The DecorationBoundingBox property.
1777         /// </summary>
1778         /// <since_tizen> 3 </since_tizen>
1779         public Rectangle DecorationBoundingBox
1780         {
1781             get
1782             {
1783                 return (Rectangle)GetValue(DecorationBoundingBoxProperty);
1784             }
1785             set
1786             {
1787                 SetValue(DecorationBoundingBoxProperty, value);
1788                 NotifyPropertyChanged();
1789             }
1790         }
1791
1792         /// <summary>
1793         /// The EnableMarkup property.
1794         /// </summary>
1795         /// <since_tizen> 3 </since_tizen>
1796         public bool EnableMarkup
1797         {
1798             get
1799             {
1800                 return (bool)GetValue(EnableMarkupProperty);
1801             }
1802             set
1803             {
1804                 SetValue(EnableMarkupProperty, value);
1805                 NotifyPropertyChanged();
1806             }
1807         }
1808
1809         /// <summary>
1810         /// The InputColor property.
1811         /// </summary>
1812         /// <since_tizen> 3 </since_tizen>
1813         public Vector4 InputColor
1814         {
1815             get
1816             {
1817                 return (Vector4)GetValue(InputColorProperty);
1818             }
1819             set
1820             {
1821                 SetValue(InputColorProperty, value);
1822                 NotifyPropertyChanged();
1823             }
1824         }
1825
1826         /// <summary>
1827         /// The InputFontFamily property.
1828         /// </summary>
1829         /// <since_tizen> 3 </since_tizen>
1830         public string InputFontFamily
1831         {
1832             get
1833             {
1834                 return (string)GetValue(InputFontFamilyProperty);
1835             }
1836             set
1837             {
1838                 SetValue(InputFontFamilyProperty, value);
1839                 NotifyPropertyChanged();
1840             }
1841         }
1842
1843         /// <summary>
1844         /// The InputFontStyle property.
1845         /// </summary>
1846         /// <since_tizen> 3 </since_tizen>
1847         public PropertyMap InputFontStyle
1848         {
1849             get
1850             {
1851                 return (PropertyMap)GetValue(InputFontStyleProperty);
1852             }
1853             set
1854             {
1855                 SetValue(InputFontStyleProperty, value);
1856                 NotifyPropertyChanged();
1857             }
1858         }
1859
1860         /// <summary>
1861         /// The InputPointSize property.
1862         /// </summary>
1863         /// <since_tizen> 3 </since_tizen>
1864         public float InputPointSize
1865         {
1866             get
1867             {
1868                 return (float)GetValue(InputPointSizeProperty);
1869             }
1870             set
1871             {
1872                 SetValue(InputPointSizeProperty, value);
1873                 NotifyPropertyChanged();
1874             }
1875         }
1876
1877         /// <summary>
1878         /// The LineSpacing property.
1879         /// </summary>
1880         /// <since_tizen> 3 </since_tizen>
1881         public float LineSpacing
1882         {
1883             get
1884             {
1885                 return (float)GetValue(LineSpacingProperty);
1886             }
1887             set
1888             {
1889                 SetValue(LineSpacingProperty, value);
1890                 NotifyPropertyChanged();
1891             }
1892         }
1893
1894         /// <summary>
1895         /// The InputLineSpacing property.
1896         /// </summary>
1897         /// <since_tizen> 3 </since_tizen>
1898         public float InputLineSpacing
1899         {
1900             get
1901             {
1902                 return (float)GetValue(InputLineSpacingProperty);
1903             }
1904             set
1905             {
1906                 SetValue(InputLineSpacingProperty, value);
1907                 NotifyPropertyChanged();
1908             }
1909         }
1910
1911         /// <summary>
1912         /// The Underline property.
1913         /// </summary>
1914         /// <since_tizen> 3 </since_tizen>
1915         public PropertyMap Underline
1916         {
1917             get
1918             {
1919                 return (PropertyMap)GetValue(UnderlineProperty);
1920             }
1921             set
1922             {
1923                 SetValue(UnderlineProperty, value);
1924                 NotifyPropertyChanged();
1925             }
1926         }
1927
1928         /// <summary>
1929         /// The InputUnderline property.
1930         /// </summary>
1931         /// <since_tizen> 3 </since_tizen>
1932         public string InputUnderline
1933         {
1934             get
1935             {
1936                 return (string)GetValue(InputUnderlineProperty);
1937             }
1938             set
1939             {
1940                 SetValue(InputUnderlineProperty, value);
1941                 NotifyPropertyChanged();
1942             }
1943         }
1944
1945         /// <summary>
1946         /// The Shadow property.
1947         /// </summary>
1948         /// <since_tizen> 3 </since_tizen>
1949         public PropertyMap Shadow
1950         {
1951             get
1952             {
1953                 return (PropertyMap)GetValue(ShadowProperty);
1954             }
1955             set
1956             {
1957                 SetValue(ShadowProperty, value);
1958                 NotifyPropertyChanged();
1959             }
1960         }
1961
1962         /// <summary>
1963         /// The InputShadow property.
1964         /// </summary>
1965         /// <since_tizen> 3 </since_tizen>
1966         public string InputShadow
1967         {
1968             get
1969             {
1970                 return (string)GetValue(InputShadowProperty);
1971             }
1972             set
1973             {
1974                 SetValue(InputShadowProperty, value);
1975                 NotifyPropertyChanged();
1976             }
1977         }
1978
1979         /// <summary>
1980         /// The Emboss property.
1981         /// </summary>
1982         /// <since_tizen> 3 </since_tizen>
1983         public string Emboss
1984         {
1985             get
1986             {
1987                 return (string)GetValue(EmbossProperty);
1988             }
1989             set
1990             {
1991                 SetValue(EmbossProperty, value);
1992                 NotifyPropertyChanged();
1993             }
1994         }
1995
1996         /// <summary>
1997         /// The InputEmboss property.
1998         /// </summary>
1999         /// <since_tizen> 3 </since_tizen>
2000         public string InputEmboss
2001         {
2002             get
2003             {
2004                 return (string)GetValue(InputEmbossProperty);
2005             }
2006             set
2007             {
2008                 SetValue(InputEmbossProperty, value);
2009                 NotifyPropertyChanged();
2010             }
2011         }
2012
2013         /// <summary>
2014         /// The Outline property.
2015         /// </summary>
2016         /// <since_tizen> 3 </since_tizen>
2017         public PropertyMap Outline
2018         {
2019             get
2020             {
2021                 return (PropertyMap)GetValue(OutlineProperty);
2022             }
2023             set
2024             {
2025                 SetValue(OutlineProperty, value);
2026                 NotifyPropertyChanged();
2027             }
2028         }
2029
2030         /// <summary>
2031         /// The InputOutline property.
2032         /// </summary>
2033         /// <since_tizen> 3 </since_tizen>
2034         public string InputOutline
2035         {
2036             get
2037             {
2038                 return (string)GetValue(InputOutlineProperty);
2039             }
2040             set
2041             {
2042                 SetValue(InputOutlineProperty, value);
2043                 NotifyPropertyChanged();
2044             }
2045         }
2046
2047         /// <summary>
2048         /// The SmoothScroll property.
2049         /// </summary>
2050         /// <since_tizen> 3 </since_tizen>
2051         public bool SmoothScroll
2052         {
2053             get
2054             {
2055                 return (bool)GetValue(SmoothScrollProperty);
2056             }
2057             set
2058             {
2059                 SetValue(SmoothScrollProperty, value);
2060                 NotifyPropertyChanged();
2061             }
2062         }
2063
2064         /// <summary>
2065         /// The SmoothScrollDuration property.
2066         /// </summary>
2067         /// <since_tizen> 3 </since_tizen>
2068         public float SmoothScrollDuration
2069         {
2070             get
2071             {
2072                 return (float)GetValue(SmoothScrollDurationProperty);
2073             }
2074             set
2075             {
2076                 SetValue(SmoothScrollDurationProperty, value);
2077                 NotifyPropertyChanged();
2078             }
2079         }
2080
2081         /// <summary>
2082         /// The EnableScrollBar property.
2083         /// </summary>
2084         /// <since_tizen> 3 </since_tizen>
2085         public bool EnableScrollBar
2086         {
2087             get
2088             {
2089                 return (bool)GetValue(EnableScrollBarProperty);
2090             }
2091             set
2092             {
2093                 SetValue(EnableScrollBarProperty, value);
2094                 NotifyPropertyChanged();
2095             }
2096         }
2097
2098         /// <summary>
2099         /// The ScrollBarShowDuration property.
2100         /// </summary>
2101         /// <since_tizen> 3 </since_tizen>
2102         public float ScrollBarShowDuration
2103         {
2104             get
2105             {
2106                 return (float)GetValue(ScrollBarShowDurationProperty);
2107             }
2108             set
2109             {
2110                 SetValue(ScrollBarShowDurationProperty, value);
2111                 NotifyPropertyChanged();
2112             }
2113         }
2114
2115         /// <summary>
2116         /// The ScrollBarFadeDuration property.
2117         /// </summary>
2118         /// <since_tizen> 3 </since_tizen>
2119         public float ScrollBarFadeDuration
2120         {
2121             get
2122             {
2123                 return (float)GetValue(ScrollBarFadeDurationProperty);
2124             }
2125             set
2126             {
2127                 SetValue(ScrollBarFadeDurationProperty, value);
2128                 NotifyPropertyChanged();
2129             }
2130         }
2131
2132         /// <summary>
2133         /// The PixelSize property.
2134         /// </summary>
2135         /// <since_tizen> 3 </since_tizen>
2136         public float PixelSize
2137         {
2138             get
2139             {
2140                 return (float)GetValue(PixelSizeProperty);
2141             }
2142             set
2143             {
2144                 SetValue(PixelSizeProperty, value);
2145                 NotifyPropertyChanged();
2146             }
2147         }
2148
2149         /// <summary>
2150         /// The line count of the text.
2151         /// </summary>
2152         /// <since_tizen> 3 </since_tizen>
2153         public int LineCount
2154         {
2155             get
2156             {
2157                 int temp = 0;
2158                 GetProperty(TextEditor.Property.LINE_COUNT).Get(out temp);
2159                 return temp;
2160             }
2161         }
2162
2163         /// <summary>
2164         /// The text to display when the TextEditor is empty and inactive.
2165         /// </summary>
2166         /// <since_tizen> 3 </since_tizen>
2167         public string PlaceholderText
2168         {
2169             get
2170             {
2171                 return (string)GetValue(PlaceholderTextProperty);
2172             }
2173             set
2174             {
2175                 SetValue(PlaceholderTextProperty, value);
2176                 NotifyPropertyChanged();
2177             }
2178         }
2179
2180         /// <summary>
2181         /// The Placeholder text color.
2182         /// </summary>
2183         /// <since_tizen> 3 </since_tizen>
2184         public Color PlaceholderTextColor
2185         {
2186             get
2187             {
2188                 return (Color)GetValue(PlaceholderTextColorProperty);
2189             }
2190             set
2191             {
2192                 SetValue(PlaceholderTextColorProperty, value);
2193                 NotifyPropertyChanged();
2194             }
2195         }
2196
2197         /// <summary>
2198         /// The EnableSelection property.
2199         /// </summary>
2200         /// <since_tizen> 3 </since_tizen>
2201         public bool EnableSelection
2202         {
2203             get
2204             {
2205                 return (bool)GetValue(EnableSelectionProperty);
2206             }
2207             set
2208             {
2209                 SetValue(EnableSelectionProperty, value);
2210                 NotifyPropertyChanged();
2211             }
2212         }
2213
2214         /// <summary>
2215         /// The Placeholder property.
2216         /// Gets or sets the placeholder: text, color, font family, font style, point size, and pixel size.
2217         /// </summary>
2218         /// <example>
2219         /// The following example demonstrates how to set the placeholder property.
2220         /// <code>
2221         /// PropertyMap propertyMap = new PropertyMap();
2222         /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
2223         /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
2224         /// propertyMap.Add("color", new PropertyValue(Color.Red));
2225         /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
2226         /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
2227         ///
2228         /// PropertyMap fontStyleMap = new PropertyMap();
2229         /// fontStyleMap.Add("weight", new PropertyValue("bold"));
2230         /// fontStyleMap.Add("width", new PropertyValue("condensed"));
2231         /// fontStyleMap.Add("slant", new PropertyValue("italic"));
2232         /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
2233         ///
2234         /// TextEditor editor = new TextEditor();
2235         /// editor.Placeholder = propertyMap;
2236         /// </code>
2237         /// </example>
2238         /// <since_tizen> 3 </since_tizen>
2239         public Tizen.NUI.PropertyMap Placeholder
2240         {
2241             get
2242             {
2243                 return (PropertyMap)GetValue(PlaceholderProperty);
2244             }
2245             set
2246             {
2247                 SetValue(PlaceholderProperty, value);
2248                 NotifyPropertyChanged();
2249             }
2250         }
2251
2252         /// <summary>
2253         /// The LineWrapMode property.<br />
2254         /// The line wrap mode when the text lines over the layout width.<br />
2255         /// </summary>
2256         /// <since_tizen> 4 </since_tizen>
2257         public LineWrapMode LineWrapMode
2258         {
2259             get
2260             {
2261                 return (LineWrapMode)GetValue(LineWrapModeProperty);
2262             }
2263             set
2264             {
2265                 SetValue(LineWrapModeProperty, value);
2266                 NotifyPropertyChanged();
2267             }
2268         }
2269
2270         /// <summary>
2271         /// Enables Text selection using Shift key.
2272         /// </summary>
2273         /// <since_tizen> 5 </since_tizen>
2274         /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
2275         [EditorBrowsable(EditorBrowsableState.Never)]
2276         public bool EnableShiftSelection
2277         {
2278             get
2279             {
2280                 return (bool)GetValue(EnableShiftSelectionProperty);
2281             }
2282             set
2283             {
2284                 SetValue(EnableShiftSelectionProperty, value);
2285                 NotifyPropertyChanged();
2286             }
2287         }
2288
2289         /// <summary>
2290         /// The text alignment to match the direction of the system language.
2291         /// </summary>
2292         /// <since_tizen> 5 </since_tizen>
2293         /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
2294         [EditorBrowsable(EditorBrowsableState.Never)]
2295         public bool MatchSystemLanguageDirection
2296         {
2297             get
2298             {
2299                 return (bool)GetValue(MatchSystemLanguageDirectionProperty);
2300             }
2301             set
2302             {
2303                 SetValue(MatchSystemLanguageDirectionProperty, value);
2304                 NotifyPropertyChanged();
2305             }
2306         }
2307
2308     }
2309 }