Merge "[NUI] Add protect codes in Dispose()" into rel/api_4
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextField.cs
1 /*
2  * Copyright(c) 2017 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 extern alias TizenSystemSettings;
18 using TizenSystemSettings.Tizen.System;
19
20 using System;
21 using System.Runtime.InteropServices;
22 using System.Globalization;
23 using System.ComponentModel;
24
25 namespace Tizen.NUI.BaseComponents
26 {
27     /// <summary>
28     /// A control which provides a single line editable text field.
29     /// </summary>
30     /// <since_tizen> 3 </since_tizen>
31     public class TextField : View
32     {
33         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
34         private string textFieldTextSid = null;
35         private string textFieldPlaceHolderTextSid = null;
36         private bool systemlangTextFlag = false;
37
38         internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn)
39         {
40             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
41         }
42
43         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj)
44         {
45             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
46         }
47
48         /// <summary>
49         /// Dispose.
50         /// </summary>
51         /// <since_tizen> 3 </since_tizen>
52         protected override void Dispose(DisposeTypes type)
53         {
54             if (disposed)
55             {
56                 DisposeQueue.Instance.Add(this);
57                 return;
58             }
59
60             if (type == DisposeTypes.Explicit)
61             {
62                 //Called by User
63                 //Release your own managed resources here.
64                 //You should release all of your own disposable objects here.
65             }
66
67             //Release your own unmanaged resources here.
68             //You should not access any managed member here except static instance.
69             //because the execution order of Finalizes is non-deterministic.
70             if (this != null)
71             {
72                 if (_textFieldMaxLengthReachedCallbackDelegate != null)
73                 {
74                     this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
75                 }
76
77                 if (_textFieldTextChangedCallbackDelegate != null)
78                 {
79                     TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
80                 }
81             }
82
83             if (swigCPtr.Handle != global::System.IntPtr.Zero)
84             {
85                 if (swigCMemOwn)
86                 {
87                     swigCMemOwn = false;
88                     NDalicPINVOKE.delete_TextField(swigCPtr);
89                 }
90                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
91             }
92
93             base.Dispose(type);
94         }
95
96         /// <summary>
97         /// The TextChanged event arguments.
98         /// </summary>
99         /// <since_tizen> 3 </since_tizen>
100         public class TextChangedEventArgs : EventArgs
101         {
102             private TextField _textField;
103
104             /// <summary>
105             /// TextField.
106             /// </summary>
107             /// <since_tizen> 3 </since_tizen>
108             public TextField TextField
109             {
110                 get
111                 {
112                     return _textField;
113                 }
114                 set
115                 {
116                     _textField = value;
117                 }
118             }
119         }
120
121         /// <summary>
122         /// The MaxLengthReached event arguments.
123         /// </summary>
124         /// <since_tizen> 3 </since_tizen>
125         public class MaxLengthReachedEventArgs : EventArgs
126         {
127             private TextField _textField;
128
129             /// <summary>
130             /// TextField.
131             /// </summary>
132             /// <since_tizen> 3 </since_tizen>
133             public TextField TextField
134             {
135                 get
136                 {
137                     return _textField;
138                 }
139                 set
140                 {
141                     _textField = value;
142                 }
143             }
144         }
145
146
147         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
148         private delegate void TextChangedCallbackDelegate(IntPtr textField);
149         private EventHandler<TextChangedEventArgs> _textFieldTextChangedEventHandler;
150         private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
151
152         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
153         private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
154         private EventHandler<MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
155         private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
156
157         /// <summary>
158         /// The TextChanged event.
159         /// </summary>
160         /// <since_tizen> 3 </since_tizen>
161         public event EventHandler<TextChangedEventArgs> TextChanged
162         {
163             add
164             {
165                 if (_textFieldTextChangedEventHandler == null)
166                 {
167                     _textFieldTextChangedCallbackDelegate = (OnTextChanged);
168                     TextChangedSignal().Connect(_textFieldTextChangedCallbackDelegate);
169                 }
170                 _textFieldTextChangedEventHandler += value;
171             }
172             remove
173             {
174                 _textFieldTextChangedEventHandler -= value;
175                 if (_textFieldTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
176                 {
177                     TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
178                 }
179             }
180         }
181
182         private void OnTextChanged(IntPtr textField)
183         {
184             TextChangedEventArgs e = new TextChangedEventArgs();
185
186             // Populate all members of "e" (TextChangedEventArgs) with real data
187             e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
188
189             if (_textFieldTextChangedEventHandler != null)
190             {
191                 //here we send all data to user event handlers
192                 _textFieldTextChangedEventHandler(this, e);
193             }
194
195         }
196
197         /// <summary>
198         /// The MaxLengthReached event.
199         /// </summary>
200         /// <since_tizen> 3 </since_tizen>
201         public event EventHandler<MaxLengthReachedEventArgs> MaxLengthReached
202         {
203             add
204             {
205                 if (_textFieldMaxLengthReachedEventHandler == null)
206                 {
207                     _textFieldMaxLengthReachedCallbackDelegate = (OnMaxLengthReached);
208                     MaxLengthReachedSignal().Connect(_textFieldMaxLengthReachedCallbackDelegate);
209                 }
210                 _textFieldMaxLengthReachedEventHandler += value;
211             }
212             remove
213             {
214                 if (_textFieldMaxLengthReachedEventHandler == null && MaxLengthReachedSignal().Empty() == false)
215                 {
216                     this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
217                 }
218                 _textFieldMaxLengthReachedEventHandler -= value;
219             }
220         }
221
222         private void OnMaxLengthReached(IntPtr textField)
223         {
224             MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
225
226             // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
227             e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
228
229             if (_textFieldMaxLengthReachedEventHandler != null)
230             {
231                 //here we send all data to user event handlers
232                 _textFieldMaxLengthReachedEventHandler(this, e);
233             }
234
235         }
236
237         internal new class Property
238         {
239             internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
240             internal static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
241             internal static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
242             internal static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
243             internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
244             internal static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
245             internal static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
246             internal static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
247             internal static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
248             internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
249             internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
250             internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
251             internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
252             internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextField_Property_SHADOW_OFFSET_get();
253             internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextField_Property_SHADOW_COLOR_get();
254             internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
255             internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
256             internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
257             internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
258             internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
259             internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
260             internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
261             internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
262             internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
263             internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
264             internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
265             internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
266             internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
267             internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
268             internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
269             internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
270             internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
271             internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
272             internal static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
273             internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
274             internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
275             internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
276             internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
277             internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
278             internal static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
279             internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
280             internal static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
281             internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
282             internal static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
283             internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
284             internal static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
285             internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
286             internal static readonly int HIDDEN_INPUT_SETTINGS = NDalicManualPINVOKE.TextField_Property_HIDDEN_INPUT_SETTINGS_get();
287             internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextField_Property_PIXEL_SIZE_get();
288             internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SELECTION_get();
289             internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextField_Property_PLACEHOLDER_get();
290             internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextField_Property_ELLIPSIS_get();
291             internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SHIFT_SELECTION_get();
292         }
293
294         internal class InputStyle
295         {
296             internal enum Mask
297             {
298                 None = 0x0000,
299                 Color = 0x0001,
300                 FontFamily = 0x0002,
301                 PointSize = 0x0004,
302                 FontStyle = 0x0008,
303                 Underline = 0x0010,
304                 Shadow = 0x0020,
305                 Emboss = 0x0040,
306                 Outline = 0x0080
307             }
308
309         }
310
311         /// <summary>
312         /// Creates the TextField control.
313         /// </summary>
314         /// <since_tizen> 3 </since_tizen>
315         public TextField() : this(NDalicPINVOKE.TextField_New(), true)
316         {
317             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
318
319         }
320         internal TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true)
321         {
322             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
323         }
324
325         internal TextFieldSignal TextChangedSignal()
326         {
327             TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
328             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
329             return ret;
330         }
331
332         internal TextFieldSignal MaxLengthReachedSignal()
333         {
334             TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
335             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
336             return ret;
337         }
338
339         internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal()
340         {
341             SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(NDalicPINVOKE.TextField_InputStyleChangedSignal(swigCPtr), false);
342             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
343             return ret;
344         }
345
346         internal enum ExceedPolicyType
347         {
348             ExceedPolicyOriginal,
349             ExceedPolicyClip
350         }
351
352         /// <summary>
353         /// The TranslatableText property.<br />
354         /// The text can set the SID value.<br />
355         /// </summary>
356         /// <exception cref='ArgumentNullException'>
357         /// ResourceManager about multilingual is null.
358         /// </exception>
359         /// <since_tizen> 4 </since_tizen>
360         public string TranslatableText
361         {
362             get
363             {
364                 return textFieldTextSid;
365             }
366             set
367             {
368                 if (NUIApplication.MultilingualResourceManager == null)
369                 {
370                     throw new ArgumentNullException("ResourceManager about multilingual is null");
371                 }
372                 textFieldTextSid = value;
373                 Text = SetTranslatable(textFieldTextSid);
374             }
375         }
376         /// <summary>
377         /// The TranslatablePlaceholderText property.<br />
378         /// The text can set the SID value.<br />
379         /// </summary>
380         /// <exception cref='ArgumentNullException'>
381         /// ResourceManager about multilingual is null.
382         /// </exception>
383         /// <since_tizen> 4 </since_tizen>
384         public string TranslatablePlaceholderText
385         {
386             get
387             {
388                 return textFieldPlaceHolderTextSid;
389             }
390             set
391             {
392                 if (NUIApplication.MultilingualResourceManager == null)
393                 {
394                     throw new ArgumentNullException("ResourceManager about multilingual is null");
395                 }
396                 textFieldPlaceHolderTextSid = value;
397                 PlaceholderText = SetTranslatable(textFieldPlaceHolderTextSid);
398             }
399         }
400         private string SetTranslatable(string textFieldSid)
401         {
402             string translatableText = null;
403             translatableText = NUIApplication.MultilingualResourceManager?.GetString(textFieldSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
404             if (translatableText != null)
405             {
406                 if (systemlangTextFlag == false)
407                 {
408                     SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
409                     systemlangTextFlag = true;
410                 }
411                 return translatableText;
412             }
413             else
414             {
415                 translatableText = "";
416                 return translatableText;
417             }
418         }
419         private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
420         {
421             if (textFieldTextSid != null)
422             {
423                 Text = NUIApplication.MultilingualResourceManager?.GetString(textFieldTextSid, new CultureInfo(e.Value.Replace("_", "-")));
424             }
425             if (textFieldPlaceHolderTextSid != null)
426             {
427                 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textFieldPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
428             }
429         }
430         /// <summary>
431         /// The Text property.
432         /// </summary>
433         /// <since_tizen> 3 </since_tizen>
434         public string Text
435         {
436             get
437             {
438                 string temp;
439                 GetProperty(TextField.Property.TEXT).Get(out temp);
440                 return temp;
441             }
442             set
443             {
444                 SetProperty(TextField.Property.TEXT, new Tizen.NUI.PropertyValue(value));
445             }
446         }
447
448         /// <summary>
449         /// The PlaceholderText property.
450         /// </summary>
451         /// <since_tizen> 3 </since_tizen>
452         public string PlaceholderText
453         {
454             get
455             {
456                 string temp;
457                 GetProperty(TextField.Property.PLACEHOLDER_TEXT).Get(out temp);
458                 return temp;
459             }
460             set
461             {
462                 SetProperty(TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue(value));
463             }
464         }
465
466         /// <summary>
467         /// The PlaceholderTextFocused property.
468         /// </summary>
469         /// <since_tizen> 3 </since_tizen>
470         public string PlaceholderTextFocused
471         {
472             get
473             {
474                 string temp;
475                 GetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get(out temp);
476                 return temp;
477             }
478             set
479             {
480                 SetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.PropertyValue(value));
481             }
482         }
483
484         /// <summary>
485         /// The FontFamily property.
486         /// </summary>
487         /// <since_tizen> 3 </since_tizen>
488         public string FontFamily
489         {
490             get
491             {
492                 string temp;
493                 GetProperty(TextField.Property.FONT_FAMILY).Get(out temp);
494                 return temp;
495             }
496             set
497             {
498                 SetProperty(TextField.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
499             }
500         }
501
502         /// <summary>
503         /// The FontStyle property.
504         /// </summary>
505         /// <since_tizen> 3 </since_tizen>
506         public PropertyMap FontStyle
507         {
508             get
509             {
510                 PropertyMap temp = new PropertyMap();
511                 GetProperty(TextField.Property.FONT_STYLE).Get(temp);
512                 return temp;
513             }
514             set
515             {
516                 SetProperty(TextField.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
517             }
518         }
519
520         /// <summary>
521         /// The PointSize property.
522         /// </summary>
523         /// <since_tizen> 3 </since_tizen>
524         public float PointSize
525         {
526             get
527             {
528                 float temp = 0.0f;
529                 GetProperty(TextField.Property.POINT_SIZE).Get(out temp);
530                 return temp;
531             }
532             set
533             {
534                 SetProperty(TextField.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
535             }
536         }
537
538         /// <summary>
539         /// The MaxLength property.
540         /// </summary>
541         /// <since_tizen> 3 </since_tizen>
542         public int MaxLength
543         {
544             get
545             {
546                 int temp = 0;
547                 GetProperty(TextField.Property.MAX_LENGTH).Get(out temp);
548                 return temp;
549             }
550             set
551             {
552                 SetProperty(TextField.Property.MAX_LENGTH, new Tizen.NUI.PropertyValue(value));
553             }
554         }
555
556         /// <summary>
557         /// The ExceedPolicy property.
558         /// </summary>
559         /// <since_tizen> 3 </since_tizen>
560         public int ExceedPolicy
561         {
562             get
563             {
564                 int temp = 0;
565                 GetProperty(TextField.Property.EXCEED_POLICY).Get(out temp);
566                 return temp;
567             }
568             set
569             {
570                 SetProperty(TextField.Property.EXCEED_POLICY, new Tizen.NUI.PropertyValue(value));
571             }
572         }
573
574         /// <summary>
575         /// The HorizontalAlignment property.
576         /// </summary>
577         /// <since_tizen> 3 </since_tizen>
578         public HorizontalAlignment HorizontalAlignment
579         {
580             get
581             {
582                 string temp;
583                 if (GetProperty(TextField.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
584                 {
585                     NUILog.Error("HorizontalAlignment get error!");
586                 }
587
588                 switch (temp)
589                 {
590                     case "BEGIN":
591                         return HorizontalAlignment.Begin;
592                     case "CENTER":
593                         return HorizontalAlignment.Center;
594                     case "END":
595                         return HorizontalAlignment.End;
596                     default:
597                         return HorizontalAlignment.Begin;
598                 }
599             }
600             set
601             {
602                 string valueToString = "";
603                 switch (value)
604                 {
605                     case HorizontalAlignment.Begin:
606                     {
607                         valueToString = "BEGIN";
608                         break;
609                     }
610                     case HorizontalAlignment.Center:
611                     {
612                         valueToString = "CENTER";
613                         break;
614                     }
615                     case HorizontalAlignment.End:
616                     {
617                         valueToString = "END";
618                         break;
619                     }
620                     default:
621                     {
622                         valueToString = "BEGIN";
623                         break;
624                     }
625                 }
626                 SetProperty(TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
627             }
628         }
629
630         /// <summary>
631         /// The VerticalAlignment property.
632         /// </summary>
633         /// <since_tizen> 3 </since_tizen>
634         public VerticalAlignment VerticalAlignment
635         {
636             get
637             {
638                 string temp;
639                 if (GetProperty(TextField.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
640                 {
641                     NUILog.Error("VerticalAlignment get error!");
642                 }
643
644                 switch (temp)
645                 {
646                     case "TOP":
647                         return VerticalAlignment.Top;
648                     case "CENTER":
649                         return VerticalAlignment.Center;
650                     case "BOTTOM":
651                         return VerticalAlignment.Bottom;
652                     default:
653                         return VerticalAlignment.Bottom;
654                 }
655             }
656             set
657             {
658                 string valueToString = "";
659                 switch (value)
660                 {
661                     case VerticalAlignment.Top:
662                     {
663                         valueToString = "TOP";
664                         break;
665                     }
666                     case VerticalAlignment.Center:
667                     {
668                         valueToString = "CENTER";
669                         break;
670                     }
671                     case VerticalAlignment.Bottom:
672                     {
673                         valueToString = "BOTTOM";
674                         break;
675                     }
676                     default:
677                     {
678                         valueToString = "BOTTOM";
679                         break;
680                     }
681                 }
682                 SetProperty(TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
683             }
684         }
685
686         /// <summary>
687         /// The TextColor property.
688         /// </summary>
689         /// <since_tizen> 3 </since_tizen>
690         public Color TextColor
691         {
692             get
693             {
694                 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
695                 GetProperty(TextField.Property.TEXT_COLOR).Get(temp);
696                 return temp;
697             }
698             set
699             {
700                 SetProperty(TextField.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
701             }
702         }
703
704         /// <summary>
705         /// The PlaceholderTextColor property.
706         /// </summary>
707         /// <since_tizen> 3 </since_tizen>
708         public Vector4 PlaceholderTextColor
709         {
710             get
711             {
712                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
713                 GetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
714                 return temp;
715             }
716             set
717             {
718                 SetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
719             }
720         }
721
722         /// <summary>
723         /// The ShadowOffset property.
724         /// </summary>
725         /// <since_tizen> 3 </since_tizen>
726         public Vector2 ShadowOffset
727         {
728             get
729             {
730                 Vector2 temp = new Vector2(0.0f, 0.0f);
731                 GetProperty(TextField.Property.SHADOW_OFFSET).Get(temp);
732                 return temp;
733             }
734             set
735             {
736                 SetProperty(TextField.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
737             }
738         }
739
740         /// <summary>
741         /// The ShadowColor property.
742         /// </summary>
743         /// <since_tizen> 3 </since_tizen>
744         public Vector4 ShadowColor
745         {
746             get
747             {
748                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
749                 GetProperty(TextField.Property.SHADOW_COLOR).Get(temp);
750                 return temp;
751             }
752             set
753             {
754                 SetProperty(TextField.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
755             }
756         }
757
758         /// <summary>
759         /// The PrimaryCursorColor property.
760         /// </summary>
761         /// <since_tizen> 3 </since_tizen>
762         public Vector4 PrimaryCursorColor
763         {
764             get
765             {
766                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
767                 GetProperty(TextField.Property.PRIMARY_CURSOR_COLOR).Get(temp);
768                 return temp;
769             }
770             set
771             {
772                 SetProperty(TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
773             }
774         }
775
776         /// <summary>
777         /// The SecondaryCursorColor property.
778         /// </summary>
779         /// <since_tizen> 3 </since_tizen>
780         public Vector4 SecondaryCursorColor
781         {
782             get
783             {
784                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
785                 GetProperty(TextField.Property.SECONDARY_CURSOR_COLOR).Get(temp);
786                 return temp;
787             }
788             set
789             {
790                 SetProperty(TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
791             }
792         }
793
794         /// <summary>
795         /// The EnableCursorBlink property.
796         /// </summary>
797         /// <since_tizen> 3 </since_tizen>
798         public bool EnableCursorBlink
799         {
800             get
801             {
802                 bool temp = false;
803                 GetProperty(TextField.Property.ENABLE_CURSOR_BLINK).Get(out temp);
804                 return temp;
805             }
806             set
807             {
808                 SetProperty(TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
809             }
810         }
811
812         /// <summary>
813         /// The CursorBlinkInterval property.
814         /// </summary>
815         /// <since_tizen> 3 </since_tizen>
816         public float CursorBlinkInterval
817         {
818             get
819             {
820                 float temp = 0.0f;
821                 GetProperty(TextField.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
822                 return temp;
823             }
824             set
825             {
826                 SetProperty(TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
827             }
828         }
829
830         /// <summary>
831         /// The CursorBlinkDuration property.
832         /// </summary>
833         /// <since_tizen> 3 </since_tizen>
834         public float CursorBlinkDuration
835         {
836             get
837             {
838                 float temp = 0.0f;
839                 GetProperty(TextField.Property.CURSOR_BLINK_DURATION).Get(out temp);
840                 return temp;
841             }
842             set
843             {
844                 SetProperty(TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
845             }
846         }
847
848         /// <summary>
849         /// The CursorWidth property.
850         /// </summary>
851         /// <since_tizen> 3 </since_tizen>
852         public int CursorWidth
853         {
854             get
855             {
856                 int temp = 0;
857                 GetProperty(TextField.Property.CURSOR_WIDTH).Get(out temp);
858                 return temp;
859             }
860             set
861             {
862                 SetProperty(TextField.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
863             }
864         }
865
866         /// <summary>
867         /// The GrabHandleImage property.
868         /// </summary>
869         /// <since_tizen> 3 </since_tizen>
870         public string GrabHandleImage
871         {
872             get
873             {
874                 string temp;
875                 GetProperty(TextField.Property.GRAB_HANDLE_IMAGE).Get(out temp);
876                 return temp;
877             }
878             set
879             {
880                 SetProperty(TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
881             }
882         }
883
884         /// <summary>
885         /// The GrabHandlePressedImage property.
886         /// </summary>
887         /// <since_tizen> 3 </since_tizen>
888         public string GrabHandlePressedImage
889         {
890             get
891             {
892                 string temp;
893                 GetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
894                 return temp;
895             }
896             set
897             {
898                 SetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
899             }
900         }
901
902         /// <summary>
903         /// The ScrollThreshold property.
904         /// </summary>
905         /// <since_tizen> 3 </since_tizen>
906         public float ScrollThreshold
907         {
908             get
909             {
910                 float temp = 0.0f;
911                 GetProperty(TextField.Property.SCROLL_THRESHOLD).Get(out temp);
912                 return temp;
913             }
914             set
915             {
916                 SetProperty(TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
917             }
918         }
919
920         /// <summary>
921         /// The ScrollSpeed property.
922         /// </summary>
923         /// <since_tizen> 3 </since_tizen>
924         public float ScrollSpeed
925         {
926             get
927             {
928                 float temp = 0.0f;
929                 GetProperty(TextField.Property.SCROLL_SPEED).Get(out temp);
930                 return temp;
931             }
932             set
933             {
934                 SetProperty(TextField.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
935             }
936         }
937
938         /// <summary>
939         /// The SelectionHandleImageLeft property.
940         /// </summary>
941         /// <since_tizen> 3 </since_tizen>
942         public PropertyMap SelectionHandleImageLeft
943         {
944             get
945             {
946                 PropertyMap temp = new PropertyMap();
947                 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
948                 return temp;
949             }
950             set
951             {
952                 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
953             }
954         }
955
956         /// <summary>
957         /// The SelectionHandleImageRight property.
958         /// </summary>
959         /// <since_tizen> 3 </since_tizen>
960         public PropertyMap SelectionHandleImageRight
961         {
962             get
963             {
964                 PropertyMap temp = new PropertyMap();
965                 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
966                 return temp;
967             }
968             set
969             {
970                 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
971             }
972         }
973
974         /// <summary>
975         /// The SelectionHandlePressedImageLeft property.
976         /// </summary>
977         /// <since_tizen> 3 </since_tizen>
978         public PropertyMap SelectionHandlePressedImageLeft
979         {
980             get
981             {
982                 PropertyMap temp = new PropertyMap();
983                 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
984                 return temp;
985             }
986             set
987             {
988                 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
989             }
990         }
991
992         /// <summary>
993         /// The SelectionHandlePressedImageRight property.
994         /// </summary>
995         /// <since_tizen> 3 </since_tizen>
996         public PropertyMap SelectionHandlePressedImageRight
997         {
998             get
999             {
1000                 PropertyMap temp = new PropertyMap();
1001                 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
1002                 return temp;
1003             }
1004             set
1005             {
1006                 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1007             }
1008         }
1009
1010         /// <summary>
1011         /// The SelectionHandleMarkerImageLeft property.
1012         /// </summary>
1013         /// <since_tizen> 3 </since_tizen>
1014         public PropertyMap SelectionHandleMarkerImageLeft
1015         {
1016             get
1017             {
1018                 PropertyMap temp = new PropertyMap();
1019                 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
1020                 return temp;
1021             }
1022             set
1023             {
1024                 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
1025             }
1026         }
1027
1028         /// <summary>
1029         /// The SelectionHandleMarkerImageRight property.
1030         /// </summary>
1031         /// <since_tizen> 3 </since_tizen>
1032         public PropertyMap SelectionHandleMarkerImageRight
1033         {
1034             get
1035             {
1036                 PropertyMap temp = new PropertyMap();
1037                 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
1038                 return temp;
1039             }
1040             set
1041             {
1042                 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1043             }
1044         }
1045
1046         /// <summary>
1047         /// The SelectionHighlightColor property.
1048         /// </summary>
1049         /// <since_tizen> 3 </since_tizen>
1050         public Vector4 SelectionHighlightColor
1051         {
1052             get
1053             {
1054                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1055                 GetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
1056                 return temp;
1057             }
1058             set
1059             {
1060                 SetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
1061             }
1062         }
1063
1064         /// <summary>
1065         /// The DecorationBoundingBox property.
1066         /// </summary>
1067         /// <since_tizen> 3 </since_tizen>
1068         public Rectangle DecorationBoundingBox
1069         {
1070             get
1071             {
1072                 Rectangle temp = new Rectangle(0, 0, 0, 0);
1073                 GetProperty(TextField.Property.DECORATION_BOUNDING_BOX).Get(temp);
1074                 return temp;
1075             }
1076             set
1077             {
1078                 SetProperty(TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
1079             }
1080         }
1081
1082         /// <summary>
1083         /// The InputMethodSettings property.
1084         /// </summary>
1085         /// <since_tizen> 3 </since_tizen>
1086         public PropertyMap InputMethodSettings
1087         {
1088             get
1089             {
1090                 PropertyMap temp = new PropertyMap();
1091                 GetProperty(TextField.Property.INPUT_METHOD_SETTINGS).Get(temp);
1092                 return temp;
1093             }
1094             set
1095             {
1096                 SetProperty(TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.PropertyValue(value));
1097             }
1098         }
1099
1100         /// <summary>
1101         /// The InputColor property.
1102         /// </summary>
1103         /// <since_tizen> 3 </since_tizen>
1104         public Vector4 InputColor
1105         {
1106             get
1107             {
1108                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1109                 GetProperty(TextField.Property.INPUT_COLOR).Get(temp);
1110                 return temp;
1111             }
1112             set
1113             {
1114                 SetProperty(TextField.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
1115             }
1116         }
1117
1118         /// <summary>
1119         /// The EnableMarkup property.
1120         /// </summary>
1121         /// <since_tizen> 3 </since_tizen>
1122         public bool EnableMarkup
1123         {
1124             get
1125             {
1126                 bool temp = false;
1127                 GetProperty(TextField.Property.ENABLE_MARKUP).Get(out temp);
1128                 return temp;
1129             }
1130             set
1131             {
1132                 SetProperty(TextField.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
1133             }
1134         }
1135
1136         /// <summary>
1137         /// The InputFontFamily property.
1138         /// </summary>
1139         /// <since_tizen> 3 </since_tizen>
1140         public string InputFontFamily
1141         {
1142             get
1143             {
1144                 string temp;
1145                 GetProperty(TextField.Property.INPUT_FONT_FAMILY).Get(out temp);
1146                 return temp;
1147             }
1148             set
1149             {
1150                 SetProperty(TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
1151             }
1152         }
1153
1154         /// <summary>
1155         /// The InputFontStyle property.
1156         /// </summary>
1157         /// <since_tizen> 3 </since_tizen>
1158         public PropertyMap InputFontStyle
1159         {
1160             get
1161             {
1162                 PropertyMap temp = new PropertyMap();
1163                 GetProperty(TextField.Property.INPUT_FONT_STYLE).Get(temp);
1164                 return temp;
1165             }
1166             set
1167             {
1168                 SetProperty(TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
1169             }
1170         }
1171
1172         /// <summary>
1173         /// The InputPointSize property.
1174         /// </summary>
1175         /// <since_tizen> 3 </since_tizen>
1176         public float InputPointSize
1177         {
1178             get
1179             {
1180                 float temp = 0.0f;
1181                 GetProperty(TextField.Property.INPUT_POINT_SIZE).Get(out temp);
1182                 return temp;
1183             }
1184             set
1185             {
1186                 SetProperty(TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
1187             }
1188         }
1189
1190         /// <summary>
1191         /// The Underline property.
1192         /// </summary>
1193         /// <since_tizen> 3 </since_tizen>
1194         public PropertyMap Underline
1195         {
1196             get
1197             {
1198                 PropertyMap temp = new PropertyMap();
1199                 GetProperty(TextField.Property.UNDERLINE).Get(temp);
1200                 return temp;
1201             }
1202             set
1203             {
1204                 SetProperty(TextField.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
1205             }
1206         }
1207
1208         /// <summary>
1209         /// The InputUnderline property.
1210         /// </summary>
1211         /// <since_tizen> 3 </since_tizen>
1212         public string InputUnderline
1213         {
1214             get
1215             {
1216                 string temp;
1217                 GetProperty(TextField.Property.INPUT_UNDERLINE).Get(out temp);
1218                 return temp;
1219             }
1220             set
1221             {
1222                 SetProperty(TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
1223             }
1224         }
1225
1226         /// <summary>
1227         /// The Shadow property.
1228         /// </summary>
1229         /// <since_tizen> 3 </since_tizen>
1230         public PropertyMap Shadow
1231         {
1232             get
1233             {
1234                 PropertyMap temp = new PropertyMap();
1235                 GetProperty(TextField.Property.SHADOW).Get(temp);
1236                 return temp;
1237             }
1238             set
1239             {
1240                 SetProperty(TextField.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
1241             }
1242         }
1243
1244         /// <summary>
1245         /// The InputShadow property.
1246         /// </summary>
1247         /// <since_tizen> 3 </since_tizen>
1248         public string InputShadow
1249         {
1250             get
1251             {
1252                 string temp;
1253                 GetProperty(TextField.Property.INPUT_SHADOW).Get(out temp);
1254                 return temp;
1255             }
1256             set
1257             {
1258                 SetProperty(TextField.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
1259             }
1260         }
1261
1262         /// <summary>
1263         /// The Emboss property.
1264         /// </summary>
1265         /// <since_tizen> 3 </since_tizen>
1266         public string Emboss
1267         {
1268             get
1269             {
1270                 string temp;
1271                 GetProperty(TextField.Property.EMBOSS).Get(out temp);
1272                 return temp;
1273             }
1274             set
1275             {
1276                 SetProperty(TextField.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
1277             }
1278         }
1279
1280         /// <summary>
1281         /// The InputEmboss property.
1282         /// </summary>
1283         /// <since_tizen> 3 </since_tizen>
1284         public string InputEmboss
1285         {
1286             get
1287             {
1288                 string temp;
1289                 GetProperty(TextField.Property.INPUT_EMBOSS).Get(out temp);
1290                 return temp;
1291             }
1292             set
1293             {
1294                 SetProperty(TextField.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
1295             }
1296         }
1297
1298         /// <summary>
1299         /// The Outline property.
1300         /// </summary>
1301         /// <since_tizen> 3 </since_tizen>
1302         public PropertyMap Outline
1303         {
1304             get
1305             {
1306                 PropertyMap temp = new PropertyMap();
1307                 GetProperty(TextField.Property.OUTLINE).Get(temp);
1308                 return temp;
1309             }
1310             set
1311             {
1312                 SetProperty(TextField.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
1313             }
1314         }
1315
1316         /// <summary>
1317         /// The InputOutline property.
1318         /// </summary>
1319         /// <since_tizen> 3 </since_tizen>
1320         public string InputOutline
1321         {
1322             get
1323             {
1324                 string temp;
1325                 GetProperty(TextField.Property.INPUT_OUTLINE).Get(out temp);
1326                 return temp;
1327             }
1328             set
1329             {
1330                 SetProperty(TextField.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
1331             }
1332         }
1333
1334         /// <summary>
1335         /// The HiddenInputSettings property.
1336         /// </summary>
1337         /// <since_tizen> 3 </since_tizen>
1338         public Tizen.NUI.PropertyMap HiddenInputSettings
1339         {
1340             get
1341             {
1342                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1343                 GetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS).Get(temp);
1344                 return temp;
1345             }
1346             set
1347             {
1348                 SetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS, new Tizen.NUI.PropertyValue(value));
1349             }
1350         }
1351
1352         /// <summary>
1353         /// The PixelSize property.
1354         /// </summary>
1355         /// <since_tizen> 3 </since_tizen>
1356         public float PixelSize
1357         {
1358             get
1359             {
1360                 float temp = 0.0f;
1361                 GetProperty(TextField.Property.PIXEL_SIZE).Get(out temp);
1362                 return temp;
1363             }
1364             set
1365             {
1366                 SetProperty(TextField.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue(value));
1367             }
1368         }
1369
1370         /// <summary>
1371         /// The Enable selection property.
1372         /// </summary>
1373         /// <since_tizen> 3 </since_tizen>
1374         public bool EnableSelection
1375         {
1376             get
1377             {
1378                 bool temp = false;
1379                 GetProperty(TextField.Property.ENABLE_SELECTION).Get(out temp);
1380                 return temp;
1381             }
1382             set
1383             {
1384                 SetProperty(TextField.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue(value));
1385             }
1386         }
1387
1388         /// <summary>
1389         /// The Placeholder property.
1390         /// Gets or sets the placeholder: text, color, font family, font style, point size, and pixel size.
1391         /// </summary>
1392         /// <example>
1393         /// The following example demonstrates how to set the Placeholder property.
1394         /// <code>
1395         /// PropertyMap propertyMap = new PropertyMap();
1396         /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
1397         /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
1398         /// propertyMap.Add("color", new PropertyValue(Color.Red));
1399         /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
1400         /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
1401         ///
1402         /// PropertyMap fontStyleMap = new PropertyMap();
1403         /// fontStyleMap.Add("weight", new PropertyValue("bold"));
1404         /// fontStyleMap.Add("width", new PropertyValue("condensed"));
1405         /// fontStyleMap.Add("slant", new PropertyValue("italic"));
1406         /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
1407         ///
1408         /// TextField field = new TextField();
1409         /// field.Placeholder = propertyMap;
1410         /// </code>
1411         /// </example>
1412         /// <since_tizen> 3 </since_tizen>
1413         public Tizen.NUI.PropertyMap Placeholder
1414         {
1415             get
1416             {
1417                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1418                 GetProperty(TextField.Property.PLACEHOLDER).Get(temp);
1419                 return temp;
1420             }
1421             set
1422             {
1423                 SetProperty(TextField.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue(value));
1424             }
1425         }
1426
1427         /// <summary>
1428         /// The Ellipsis property.<br />
1429         /// Enable or disable the ellipsis.<br />
1430         /// Placeholder PropertyMap is used to add ellipsis to placeholder text.
1431         /// </summary>
1432         /// <since_tizen> 4 </since_tizen>
1433         public bool Ellipsis
1434         {
1435             get
1436             {
1437                 bool temp = false;
1438                 GetProperty(TextField.Property.ELLIPSIS).Get(out temp);
1439                 return temp;
1440             }
1441             set
1442             {
1443                 SetProperty(TextField.Property.ELLIPSIS, new Tizen.NUI.PropertyValue(value));
1444             }
1445         }
1446
1447         /// <summary>
1448         /// Enables Text selection using Shift key.
1449         /// </summary>
1450         /// <since_tizen> 5 </since_tizen>
1451         [EditorBrowsable(EditorBrowsableState.Never)]
1452         public bool EnableShiftSelection
1453         {
1454             get
1455             {
1456                 // mShiftSelectionFlag( true )
1457                 bool temp = true;
1458                 GetProperty(TextField.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
1459                 return temp;
1460             }
1461             set
1462             {
1463                 SetProperty(TextField.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue(value));
1464             }
1465         }
1466
1467
1468
1469     }
1470 }