2 * Copyright(c) 2018 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 extern alias TizenSystemSettings;
18 using TizenSystemSettings.Tizen.System;
21 using System.Runtime.InteropServices;
22 using System.Globalization;
23 using System.ComponentModel;
25 namespace Tizen.NUI.BaseComponents
28 /// A control which provides a single line editable text field.
30 /// <since_tizen> 3 </since_tizen>
31 public class TextField : View
33 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
34 private string textFieldTextSid = null;
35 private string textFieldPlaceHolderTextSid = null;
36 private bool systemlangTextFlag = false;
38 internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn)
40 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
43 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj)
45 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
51 /// <since_tizen> 3 </since_tizen>
52 protected override void Dispose(DisposeTypes type)
56 DisposeQueue.Instance.Add(this);
60 if (type == DisposeTypes.Explicit)
63 //Release your own managed resources here.
64 //You should release all of your own disposable objects here.
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.
72 if (_textFieldMaxLengthReachedCallbackDelegate != null)
74 this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
77 if (_textFieldTextChangedCallbackDelegate != null)
79 TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
83 if (swigCPtr.Handle != global::System.IntPtr.Zero)
88 NDalicPINVOKE.delete_TextField(swigCPtr);
90 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
97 /// The TextChanged event arguments.
99 /// <since_tizen> 3 </since_tizen>
100 public class TextChangedEventArgs : EventArgs
102 private TextField _textField;
107 /// <since_tizen> 3 </since_tizen>
108 public TextField TextField
122 /// The MaxLengthReached event arguments.
124 /// <since_tizen> 3 </since_tizen>
125 public class MaxLengthReachedEventArgs : EventArgs
127 private TextField _textField;
132 /// <since_tizen> 3 </since_tizen>
133 public TextField TextField
147 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
148 private delegate void TextChangedCallbackDelegate(IntPtr textField);
149 private EventHandler<TextChangedEventArgs> _textFieldTextChangedEventHandler;
150 private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
152 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
153 private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
154 private EventHandler<MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
155 private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
158 /// The TextChanged event.
160 /// <since_tizen> 3 </since_tizen>
161 public event EventHandler<TextChangedEventArgs> TextChanged
165 if (_textFieldTextChangedEventHandler == null)
167 _textFieldTextChangedCallbackDelegate = (OnTextChanged);
168 TextChangedSignal().Connect(_textFieldTextChangedCallbackDelegate);
170 _textFieldTextChangedEventHandler += value;
174 _textFieldTextChangedEventHandler -= value;
175 if (_textFieldTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
177 TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
182 private void OnTextChanged(IntPtr textField)
184 TextChangedEventArgs e = new TextChangedEventArgs();
186 // Populate all members of "e" (TextChangedEventArgs) with real data
187 e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
189 if (_textFieldTextChangedEventHandler != null)
191 //here we send all data to user event handlers
192 _textFieldTextChangedEventHandler(this, e);
198 /// The MaxLengthReached event.
200 /// <since_tizen> 3 </since_tizen>
201 public event EventHandler<MaxLengthReachedEventArgs> MaxLengthReached
205 if (_textFieldMaxLengthReachedEventHandler == null)
207 _textFieldMaxLengthReachedCallbackDelegate = (OnMaxLengthReached);
208 MaxLengthReachedSignal().Connect(_textFieldMaxLengthReachedCallbackDelegate);
210 _textFieldMaxLengthReachedEventHandler += value;
214 if (_textFieldMaxLengthReachedEventHandler == null && MaxLengthReachedSignal().Empty() == false)
216 this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
218 _textFieldMaxLengthReachedEventHandler -= value;
222 private void OnMaxLengthReached(IntPtr textField)
224 MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
226 // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
227 e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
229 if (_textFieldMaxLengthReachedEventHandler != null)
231 //here we send all data to user event handlers
232 _textFieldMaxLengthReachedEventHandler(this, e);
237 internal new class Property
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();
294 internal class InputStyle
312 /// Creates the TextField control.
314 /// <since_tizen> 3 </since_tizen>
315 public TextField() : this(NDalicPINVOKE.TextField_New(), true)
317 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
320 internal TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true)
322 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
326 /// Get the InputMethodContext instance.
328 /// <returns>The InputMethodContext instance.</returns>
329 public InputMethodContext GetInputMethodContext() {
330 InputMethodContext ret = new InputMethodContext(NDalicPINVOKE.TextField_GetInputMethodContext(swigCPtr), true);
331 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
335 internal TextFieldSignal TextChangedSignal()
337 TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
338 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
342 internal TextFieldSignal MaxLengthReachedSignal()
344 TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
345 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
349 internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal()
351 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);
352 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
356 internal enum ExceedPolicyType
358 ExceedPolicyOriginal,
363 /// The TranslatableText property.<br />
364 /// The text can set the SID value.<br />
366 /// <exception cref='ArgumentNullException'>
367 /// ResourceManager about multilingual is null.
369 /// <since_tizen> 4 </since_tizen>
370 public string TranslatableText
374 return textFieldTextSid;
378 if (NUIApplication.MultilingualResourceManager == null)
380 throw new ArgumentNullException("ResourceManager about multilingual is null");
382 textFieldTextSid = value;
383 Text = SetTranslatable(textFieldTextSid);
384 NotifyPropertyChanged();
388 /// The TranslatablePlaceholderText property.<br />
389 /// The text can set the SID value.<br />
391 /// <exception cref='ArgumentNullException'>
392 /// ResourceManager about multilingual is null.
394 /// <since_tizen> 4 </since_tizen>
395 public string TranslatablePlaceholderText
399 return textFieldPlaceHolderTextSid;
403 if (NUIApplication.MultilingualResourceManager == null)
405 throw new ArgumentNullException("ResourceManager about multilingual is null");
407 textFieldPlaceHolderTextSid = value;
408 PlaceholderText = SetTranslatable(textFieldPlaceHolderTextSid);
409 NotifyPropertyChanged();
412 private string SetTranslatable(string textFieldSid)
414 string translatableText = null;
415 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textFieldSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
416 if (translatableText != null)
418 if (systemlangTextFlag == false)
420 SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
421 systemlangTextFlag = true;
423 return translatableText;
427 translatableText = "";
428 return translatableText;
431 private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
433 if (textFieldTextSid != null)
435 Text = NUIApplication.MultilingualResourceManager?.GetString(textFieldTextSid, new CultureInfo(e.Value.Replace("_", "-")));
437 if (textFieldPlaceHolderTextSid != null)
439 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textFieldPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
443 /// The Text property.
445 /// <since_tizen> 3 </since_tizen>
451 GetProperty(TextField.Property.TEXT).Get(out temp);
456 SetProperty(TextField.Property.TEXT, new Tizen.NUI.PropertyValue(value));
457 NotifyPropertyChanged();
462 /// The PlaceholderText property.
464 /// <since_tizen> 3 </since_tizen>
465 public string PlaceholderText
470 GetProperty(TextField.Property.PLACEHOLDER_TEXT).Get(out temp);
475 SetProperty(TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue(value));
476 NotifyPropertyChanged();
481 /// The PlaceholderTextFocused property.
483 /// <since_tizen> 3 </since_tizen>
484 public string PlaceholderTextFocused
489 GetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get(out temp);
494 SetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.PropertyValue(value));
495 NotifyPropertyChanged();
500 /// The FontFamily property.
502 /// <since_tizen> 3 </since_tizen>
503 public string FontFamily
508 GetProperty(TextField.Property.FONT_FAMILY).Get(out temp);
513 SetProperty(TextField.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
514 NotifyPropertyChanged();
519 /// The FontStyle property.
521 /// <since_tizen> 3 </since_tizen>
522 public PropertyMap FontStyle
526 PropertyMap temp = new PropertyMap();
527 GetProperty(TextField.Property.FONT_STYLE).Get(temp);
532 SetProperty(TextField.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
533 NotifyPropertyChanged();
538 /// The PointSize property.
540 /// <since_tizen> 3 </since_tizen>
541 public float PointSize
546 GetProperty(TextField.Property.POINT_SIZE).Get(out temp);
551 SetProperty(TextField.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
552 NotifyPropertyChanged();
557 /// The MaxLength property.
559 /// <since_tizen> 3 </since_tizen>
565 GetProperty(TextField.Property.MAX_LENGTH).Get(out temp);
570 SetProperty(TextField.Property.MAX_LENGTH, new Tizen.NUI.PropertyValue(value));
571 NotifyPropertyChanged();
576 /// The ExceedPolicy property.
578 /// <since_tizen> 3 </since_tizen>
579 public int ExceedPolicy
584 GetProperty(TextField.Property.EXCEED_POLICY).Get(out temp);
589 SetProperty(TextField.Property.EXCEED_POLICY, new Tizen.NUI.PropertyValue(value));
590 NotifyPropertyChanged();
595 /// The HorizontalAlignment property.
597 /// <since_tizen> 3 </since_tizen>
598 public HorizontalAlignment HorizontalAlignment
603 if (GetProperty(TextField.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
605 NUILog.Error("HorizontalAlignment get error!");
611 return HorizontalAlignment.Begin;
613 return HorizontalAlignment.Center;
615 return HorizontalAlignment.End;
617 return HorizontalAlignment.Begin;
622 string valueToString = "";
625 case HorizontalAlignment.Begin:
627 valueToString = "BEGIN";
630 case HorizontalAlignment.Center:
632 valueToString = "CENTER";
635 case HorizontalAlignment.End:
637 valueToString = "END";
642 valueToString = "BEGIN";
646 SetProperty(TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
647 NotifyPropertyChanged();
652 /// The VerticalAlignment property.
654 /// <since_tizen> 3 </since_tizen>
655 public VerticalAlignment VerticalAlignment
660 if (GetProperty(TextField.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
662 NUILog.Error("VerticalAlignment get error!");
668 return VerticalAlignment.Top;
670 return VerticalAlignment.Center;
672 return VerticalAlignment.Bottom;
674 return VerticalAlignment.Bottom;
679 string valueToString = "";
682 case VerticalAlignment.Top:
684 valueToString = "TOP";
687 case VerticalAlignment.Center:
689 valueToString = "CENTER";
692 case VerticalAlignment.Bottom:
694 valueToString = "BOTTOM";
699 valueToString = "BOTTOM";
703 SetProperty(TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
704 NotifyPropertyChanged();
709 /// The TextColor property.
711 /// <since_tizen> 3 </since_tizen>
712 public Color TextColor
716 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
717 GetProperty(TextField.Property.TEXT_COLOR).Get(temp);
722 SetProperty(TextField.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
723 NotifyPropertyChanged();
728 /// The PlaceholderTextColor property.
730 /// <since_tizen> 3 </since_tizen>
731 public Vector4 PlaceholderTextColor
735 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
736 GetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
741 SetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
742 NotifyPropertyChanged();
747 /// The ShadowOffset property.
749 /// <since_tizen> 3 </since_tizen>
750 public Vector2 ShadowOffset
754 Vector2 temp = new Vector2(0.0f, 0.0f);
755 GetProperty(TextField.Property.SHADOW_OFFSET).Get(temp);
760 SetProperty(TextField.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
761 NotifyPropertyChanged();
766 /// The ShadowColor property.
768 /// <since_tizen> 3 </since_tizen>
769 public Vector4 ShadowColor
773 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
774 GetProperty(TextField.Property.SHADOW_COLOR).Get(temp);
779 SetProperty(TextField.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
780 NotifyPropertyChanged();
785 /// The PrimaryCursorColor property.
787 /// <since_tizen> 3 </since_tizen>
788 public Vector4 PrimaryCursorColor
792 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
793 GetProperty(TextField.Property.PRIMARY_CURSOR_COLOR).Get(temp);
798 SetProperty(TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
799 NotifyPropertyChanged();
804 /// The SecondaryCursorColor property.
806 /// <since_tizen> 3 </since_tizen>
807 public Vector4 SecondaryCursorColor
811 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
812 GetProperty(TextField.Property.SECONDARY_CURSOR_COLOR).Get(temp);
817 SetProperty(TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
818 NotifyPropertyChanged();
823 /// The EnableCursorBlink property.
825 /// <since_tizen> 3 </since_tizen>
826 public bool EnableCursorBlink
831 GetProperty(TextField.Property.ENABLE_CURSOR_BLINK).Get(out temp);
836 SetProperty(TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
837 NotifyPropertyChanged();
842 /// The CursorBlinkInterval property.
844 /// <since_tizen> 3 </since_tizen>
845 public float CursorBlinkInterval
850 GetProperty(TextField.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
855 SetProperty(TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
856 NotifyPropertyChanged();
861 /// The CursorBlinkDuration property.
863 /// <since_tizen> 3 </since_tizen>
864 public float CursorBlinkDuration
869 GetProperty(TextField.Property.CURSOR_BLINK_DURATION).Get(out temp);
874 SetProperty(TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
875 NotifyPropertyChanged();
880 /// The CursorWidth property.
882 /// <since_tizen> 3 </since_tizen>
883 public int CursorWidth
888 GetProperty(TextField.Property.CURSOR_WIDTH).Get(out temp);
893 SetProperty(TextField.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
894 NotifyPropertyChanged();
899 /// The GrabHandleImage property.
901 /// <since_tizen> 3 </since_tizen>
902 public string GrabHandleImage
907 GetProperty(TextField.Property.GRAB_HANDLE_IMAGE).Get(out temp);
912 SetProperty(TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
913 NotifyPropertyChanged();
918 /// The GrabHandlePressedImage property.
920 /// <since_tizen> 3 </since_tizen>
921 public string GrabHandlePressedImage
926 GetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
931 SetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
932 NotifyPropertyChanged();
937 /// The ScrollThreshold property.
939 /// <since_tizen> 3 </since_tizen>
940 public float ScrollThreshold
945 GetProperty(TextField.Property.SCROLL_THRESHOLD).Get(out temp);
950 SetProperty(TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
951 NotifyPropertyChanged();
956 /// The ScrollSpeed property.
958 /// <since_tizen> 3 </since_tizen>
959 public float ScrollSpeed
964 GetProperty(TextField.Property.SCROLL_SPEED).Get(out temp);
969 SetProperty(TextField.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
970 NotifyPropertyChanged();
975 /// The SelectionHandleImageLeft property.
977 /// <since_tizen> 3 </since_tizen>
978 public PropertyMap SelectionHandleImageLeft
982 PropertyMap temp = new PropertyMap();
983 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
988 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
989 NotifyPropertyChanged();
994 /// The SelectionHandleImageRight property.
996 /// <since_tizen> 3 </since_tizen>
997 public PropertyMap SelectionHandleImageRight
1001 PropertyMap temp = new PropertyMap();
1002 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
1007 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1008 NotifyPropertyChanged();
1013 /// The SelectionHandlePressedImageLeft property.
1015 /// <since_tizen> 3 </since_tizen>
1016 public PropertyMap SelectionHandlePressedImageLeft
1020 PropertyMap temp = new PropertyMap();
1021 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
1026 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
1027 NotifyPropertyChanged();
1032 /// The SelectionHandlePressedImageRight property.
1034 /// <since_tizen> 3 </since_tizen>
1035 public PropertyMap SelectionHandlePressedImageRight
1039 PropertyMap temp = new PropertyMap();
1040 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
1045 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1046 NotifyPropertyChanged();
1051 /// The SelectionHandleMarkerImageLeft property.
1053 /// <since_tizen> 3 </since_tizen>
1054 public PropertyMap SelectionHandleMarkerImageLeft
1058 PropertyMap temp = new PropertyMap();
1059 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
1064 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
1065 NotifyPropertyChanged();
1070 /// The SelectionHandleMarkerImageRight property.
1072 /// <since_tizen> 3 </since_tizen>
1073 public PropertyMap SelectionHandleMarkerImageRight
1077 PropertyMap temp = new PropertyMap();
1078 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
1083 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1084 NotifyPropertyChanged();
1089 /// The SelectionHighlightColor property.
1091 /// <since_tizen> 3 </since_tizen>
1092 public Vector4 SelectionHighlightColor
1096 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1097 GetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
1102 SetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
1103 NotifyPropertyChanged();
1108 /// The DecorationBoundingBox property.
1110 /// <since_tizen> 3 </since_tizen>
1111 public Rectangle DecorationBoundingBox
1115 Rectangle temp = new Rectangle(0, 0, 0, 0);
1116 GetProperty(TextField.Property.DECORATION_BOUNDING_BOX).Get(temp);
1121 SetProperty(TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
1122 NotifyPropertyChanged();
1127 /// The InputMethodSettings property.
1129 /// <since_tizen> 3 </since_tizen>
1130 public PropertyMap InputMethodSettings
1134 PropertyMap temp = new PropertyMap();
1135 GetProperty(TextField.Property.INPUT_METHOD_SETTINGS).Get(temp);
1140 SetProperty(TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.PropertyValue(value));
1141 NotifyPropertyChanged();
1146 /// The InputColor property.
1148 /// <since_tizen> 3 </since_tizen>
1149 public Vector4 InputColor
1153 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1154 GetProperty(TextField.Property.INPUT_COLOR).Get(temp);
1159 SetProperty(TextField.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
1160 NotifyPropertyChanged();
1165 /// The EnableMarkup property.
1167 /// <since_tizen> 3 </since_tizen>
1168 public bool EnableMarkup
1173 GetProperty(TextField.Property.ENABLE_MARKUP).Get(out temp);
1178 SetProperty(TextField.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
1179 NotifyPropertyChanged();
1184 /// The InputFontFamily property.
1186 /// <since_tizen> 3 </since_tizen>
1187 public string InputFontFamily
1192 GetProperty(TextField.Property.INPUT_FONT_FAMILY).Get(out temp);
1197 SetProperty(TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
1198 NotifyPropertyChanged();
1203 /// The InputFontStyle property.
1205 /// <since_tizen> 3 </since_tizen>
1206 public PropertyMap InputFontStyle
1210 PropertyMap temp = new PropertyMap();
1211 GetProperty(TextField.Property.INPUT_FONT_STYLE).Get(temp);
1216 SetProperty(TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
1217 NotifyPropertyChanged();
1222 /// The InputPointSize property.
1224 /// <since_tizen> 3 </since_tizen>
1225 public float InputPointSize
1230 GetProperty(TextField.Property.INPUT_POINT_SIZE).Get(out temp);
1235 SetProperty(TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
1236 NotifyPropertyChanged();
1241 /// The Underline property.
1243 /// <since_tizen> 3 </since_tizen>
1244 public PropertyMap Underline
1248 PropertyMap temp = new PropertyMap();
1249 GetProperty(TextField.Property.UNDERLINE).Get(temp);
1254 SetProperty(TextField.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
1255 NotifyPropertyChanged();
1260 /// The InputUnderline property.
1262 /// <since_tizen> 3 </since_tizen>
1263 public string InputUnderline
1268 GetProperty(TextField.Property.INPUT_UNDERLINE).Get(out temp);
1273 SetProperty(TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
1274 NotifyPropertyChanged();
1279 /// The Shadow property.
1281 /// <since_tizen> 3 </since_tizen>
1282 public PropertyMap Shadow
1286 PropertyMap temp = new PropertyMap();
1287 GetProperty(TextField.Property.SHADOW).Get(temp);
1292 SetProperty(TextField.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
1293 NotifyPropertyChanged();
1298 /// The InputShadow property.
1300 /// <since_tizen> 3 </since_tizen>
1301 public string InputShadow
1306 GetProperty(TextField.Property.INPUT_SHADOW).Get(out temp);
1311 SetProperty(TextField.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
1312 NotifyPropertyChanged();
1317 /// The Emboss property.
1319 /// <since_tizen> 3 </since_tizen>
1320 public string Emboss
1325 GetProperty(TextField.Property.EMBOSS).Get(out temp);
1330 SetProperty(TextField.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
1331 NotifyPropertyChanged();
1336 /// The InputEmboss property.
1338 /// <since_tizen> 3 </since_tizen>
1339 public string InputEmboss
1344 GetProperty(TextField.Property.INPUT_EMBOSS).Get(out temp);
1349 SetProperty(TextField.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
1350 NotifyPropertyChanged();
1355 /// The Outline property.
1357 /// <since_tizen> 3 </since_tizen>
1358 public PropertyMap Outline
1362 PropertyMap temp = new PropertyMap();
1363 GetProperty(TextField.Property.OUTLINE).Get(temp);
1368 SetProperty(TextField.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
1369 NotifyPropertyChanged();
1374 /// The InputOutline property.
1376 /// <since_tizen> 3 </since_tizen>
1377 public string InputOutline
1382 GetProperty(TextField.Property.INPUT_OUTLINE).Get(out temp);
1387 SetProperty(TextField.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
1388 NotifyPropertyChanged();
1393 /// The HiddenInputSettings property.
1395 /// <since_tizen> 3 </since_tizen>
1396 public Tizen.NUI.PropertyMap HiddenInputSettings
1400 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1401 GetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS).Get(temp);
1406 SetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS, new Tizen.NUI.PropertyValue(value));
1407 NotifyPropertyChanged();
1412 /// The PixelSize property.
1414 /// <since_tizen> 3 </since_tizen>
1415 public float PixelSize
1420 GetProperty(TextField.Property.PIXEL_SIZE).Get(out temp);
1425 SetProperty(TextField.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue(value));
1426 NotifyPropertyChanged();
1431 /// The Enable selection property.
1433 /// <since_tizen> 3 </since_tizen>
1434 public bool EnableSelection
1439 GetProperty(TextField.Property.ENABLE_SELECTION).Get(out temp);
1444 SetProperty(TextField.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue(value));
1445 NotifyPropertyChanged();
1450 /// The Placeholder property.
1451 /// Gets or sets the placeholder: text, color, font family, font style, point size, and pixel size.
1454 /// The following example demonstrates how to set the Placeholder property.
1456 /// PropertyMap propertyMap = new PropertyMap();
1457 /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
1458 /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
1459 /// propertyMap.Add("color", new PropertyValue(Color.Red));
1460 /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
1461 /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
1463 /// PropertyMap fontStyleMap = new PropertyMap();
1464 /// fontStyleMap.Add("weight", new PropertyValue("bold"));
1465 /// fontStyleMap.Add("width", new PropertyValue("condensed"));
1466 /// fontStyleMap.Add("slant", new PropertyValue("italic"));
1467 /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
1469 /// TextField field = new TextField();
1470 /// field.Placeholder = propertyMap;
1473 /// <since_tizen> 3 </since_tizen>
1474 public Tizen.NUI.PropertyMap Placeholder
1478 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1479 GetProperty(TextField.Property.PLACEHOLDER).Get(temp);
1484 SetProperty(TextField.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue(value));
1485 NotifyPropertyChanged();
1490 /// The Ellipsis property.<br />
1491 /// Enable or disable the ellipsis.<br />
1492 /// Placeholder PropertyMap is used to add ellipsis to placeholder text.
1494 /// <since_tizen> 4 </since_tizen>
1495 public bool Ellipsis
1500 GetProperty(TextField.Property.ELLIPSIS).Get(out temp);
1505 SetProperty(TextField.Property.ELLIPSIS, new Tizen.NUI.PropertyValue(value));
1506 NotifyPropertyChanged();
1511 /// Enables Text selection using Shift key.
1513 /// <since_tizen> 5 </since_tizen>
1514 public bool EnableShiftSelection
1518 // mShiftSelectionFlag( true )
1520 GetProperty(TextField.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
1525 SetProperty(TextField.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue(value));
1526 NotifyPropertyChanged();