2 * Copyright(c) 2017 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.
71 if (_textFieldMaxLengthReachedCallbackDelegate != null)
73 this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
76 if (_textFieldTextChangedCallbackDelegate != null)
78 TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
81 if (swigCPtr.Handle != global::System.IntPtr.Zero)
86 NDalicPINVOKE.delete_TextField(swigCPtr);
88 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
95 /// The TextChanged event arguments.
97 /// <since_tizen> 3 </since_tizen>
98 public class TextChangedEventArgs : EventArgs
100 private TextField _textField;
105 /// <since_tizen> 3 </since_tizen>
106 public TextField TextField
120 /// The MaxLengthReached event arguments.
122 /// <since_tizen> 3 </since_tizen>
123 public class MaxLengthReachedEventArgs : EventArgs
125 private TextField _textField;
130 /// <since_tizen> 3 </since_tizen>
131 public TextField TextField
145 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
146 private delegate void TextChangedCallbackDelegate(IntPtr textField);
147 private EventHandler<TextChangedEventArgs> _textFieldTextChangedEventHandler;
148 private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
150 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
151 private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
152 private EventHandler<MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
153 private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
156 /// The TextChanged event.
158 /// <since_tizen> 3 </since_tizen>
159 public event EventHandler<TextChangedEventArgs> TextChanged
163 if (_textFieldTextChangedEventHandler == null)
165 _textFieldTextChangedCallbackDelegate = (OnTextChanged);
166 TextChangedSignal().Connect(_textFieldTextChangedCallbackDelegate);
168 _textFieldTextChangedEventHandler += value;
172 _textFieldTextChangedEventHandler -= value;
173 if (_textFieldTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
175 TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
180 private void OnTextChanged(IntPtr textField)
182 TextChangedEventArgs e = new TextChangedEventArgs();
184 // Populate all members of "e" (TextChangedEventArgs) with real data
185 e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
187 if (_textFieldTextChangedEventHandler != null)
189 //here we send all data to user event handlers
190 _textFieldTextChangedEventHandler(this, e);
196 /// The MaxLengthReached event.
198 /// <since_tizen> 3 </since_tizen>
199 public event EventHandler<MaxLengthReachedEventArgs> MaxLengthReached
203 if (_textFieldMaxLengthReachedEventHandler == null)
205 _textFieldMaxLengthReachedCallbackDelegate = (OnMaxLengthReached);
206 MaxLengthReachedSignal().Connect(_textFieldMaxLengthReachedCallbackDelegate);
208 _textFieldMaxLengthReachedEventHandler += value;
212 if (_textFieldMaxLengthReachedEventHandler == null && MaxLengthReachedSignal().Empty() == false)
214 this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
216 _textFieldMaxLengthReachedEventHandler -= value;
220 private void OnMaxLengthReached(IntPtr textField)
222 MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
224 // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
225 e.TextField = Registry.GetManagedBaseHandleFromNativePtr(textField) as TextField;
227 if (_textFieldMaxLengthReachedEventHandler != null)
229 //here we send all data to user event handlers
230 _textFieldMaxLengthReachedEventHandler(this, e);
235 internal new class Property
237 internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
238 internal static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
239 internal static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
240 internal static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
241 internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
242 internal static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
243 internal static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
244 internal static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
245 internal static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
246 internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
247 internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
248 internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
249 internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
250 internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextField_Property_SHADOW_OFFSET_get();
251 internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextField_Property_SHADOW_COLOR_get();
252 internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
253 internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
254 internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
255 internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
256 internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
257 internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
258 internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
259 internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
260 internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
261 internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
262 internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
263 internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
264 internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
265 internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
266 internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
267 internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
268 internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
269 internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
270 internal static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
271 internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
272 internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
273 internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
274 internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
275 internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
276 internal static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
277 internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
278 internal static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
279 internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
280 internal static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
281 internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
282 internal static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
283 internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
284 internal static readonly int HIDDEN_INPUT_SETTINGS = NDalicManualPINVOKE.TextField_Property_HIDDEN_INPUT_SETTINGS_get();
285 internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextField_Property_PIXEL_SIZE_get();
286 internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SELECTION_get();
287 internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextField_Property_PLACEHOLDER_get();
288 internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextField_Property_ELLIPSIS_get();
289 internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SHIFT_SELECTION_get();
292 internal class InputStyle
310 /// Creates the TextField control.
312 /// <since_tizen> 3 </since_tizen>
313 public TextField() : this(NDalicPINVOKE.TextField_New(), true)
315 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
318 internal TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true)
320 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
323 internal TextFieldSignal TextChangedSignal()
325 TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
326 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
330 internal TextFieldSignal MaxLengthReachedSignal()
332 TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
333 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
337 internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal()
339 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);
340 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
344 internal enum ExceedPolicyType
346 ExceedPolicyOriginal,
351 /// The TranslatableText property.<br />
352 /// The text can set the SID value.<br />
354 /// <exception cref='ArgumentNullException'>
355 /// ResourceManager about multilingual is null.
357 /// <since_tizen> 4 </since_tizen>
358 public string TranslatableText
362 return textFieldTextSid;
366 if (NUIApplication.MultilingualResourceManager == null)
368 throw new ArgumentNullException("ResourceManager about multilingual is null");
370 textFieldTextSid = value;
371 Text = SetTranslatable(textFieldTextSid);
375 /// The TranslatablePlaceholderText property.<br />
376 /// The text can set the SID value.<br />
378 /// <exception cref='ArgumentNullException'>
379 /// ResourceManager about multilingual is null.
381 /// <since_tizen> 4 </since_tizen>
382 public string TranslatablePlaceholderText
386 return textFieldPlaceHolderTextSid;
390 if (NUIApplication.MultilingualResourceManager == null)
392 throw new ArgumentNullException("ResourceManager about multilingual is null");
394 textFieldPlaceHolderTextSid = value;
395 PlaceholderText = SetTranslatable(textFieldPlaceHolderTextSid);
398 private string SetTranslatable(string textFieldSid)
400 string translatableText = null;
401 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textFieldSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
402 if (translatableText != null)
404 if (systemlangTextFlag == false)
406 SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
407 systemlangTextFlag = true;
409 return translatableText;
413 translatableText = "";
414 return translatableText;
417 private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
419 if (textFieldTextSid != null)
421 Text = NUIApplication.MultilingualResourceManager?.GetString(textFieldTextSid, new CultureInfo(e.Value.Replace("_", "-")));
423 if (textFieldPlaceHolderTextSid != null)
425 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textFieldPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
429 /// The Text property.
431 /// <since_tizen> 3 </since_tizen>
437 GetProperty(TextField.Property.TEXT).Get(out temp);
442 SetProperty(TextField.Property.TEXT, new Tizen.NUI.PropertyValue(value));
447 /// The PlaceholderText property.
449 /// <since_tizen> 3 </since_tizen>
450 public string PlaceholderText
455 GetProperty(TextField.Property.PLACEHOLDER_TEXT).Get(out temp);
460 SetProperty(TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue(value));
465 /// The PlaceholderTextFocused property.
467 /// <since_tizen> 3 </since_tizen>
468 public string PlaceholderTextFocused
473 GetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get(out temp);
478 SetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.PropertyValue(value));
483 /// The FontFamily property.
485 /// <since_tizen> 3 </since_tizen>
486 public string FontFamily
491 GetProperty(TextField.Property.FONT_FAMILY).Get(out temp);
496 SetProperty(TextField.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
501 /// The FontStyle property.
503 /// <since_tizen> 3 </since_tizen>
504 public PropertyMap FontStyle
508 PropertyMap temp = new PropertyMap();
509 GetProperty(TextField.Property.FONT_STYLE).Get(temp);
514 SetProperty(TextField.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
519 /// The PointSize property.
521 /// <since_tizen> 3 </since_tizen>
522 public float PointSize
527 GetProperty(TextField.Property.POINT_SIZE).Get(out temp);
532 SetProperty(TextField.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
537 /// The MaxLength property.
539 /// <since_tizen> 3 </since_tizen>
545 GetProperty(TextField.Property.MAX_LENGTH).Get(out temp);
550 SetProperty(TextField.Property.MAX_LENGTH, new Tizen.NUI.PropertyValue(value));
555 /// The ExceedPolicy property.
557 /// <since_tizen> 3 </since_tizen>
558 public int ExceedPolicy
563 GetProperty(TextField.Property.EXCEED_POLICY).Get(out temp);
568 SetProperty(TextField.Property.EXCEED_POLICY, new Tizen.NUI.PropertyValue(value));
573 /// The HorizontalAlignment property.
575 /// <since_tizen> 3 </since_tizen>
576 public HorizontalAlignment HorizontalAlignment
581 if (GetProperty(TextField.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
583 NUILog.Error("HorizontalAlignment get error!");
589 return HorizontalAlignment.Begin;
591 return HorizontalAlignment.Center;
593 return HorizontalAlignment.End;
595 return HorizontalAlignment.Begin;
600 string valueToString = "";
603 case HorizontalAlignment.Begin:
605 valueToString = "BEGIN";
608 case HorizontalAlignment.Center:
610 valueToString = "CENTER";
613 case HorizontalAlignment.End:
615 valueToString = "END";
620 valueToString = "BEGIN";
624 SetProperty(TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
629 /// The VerticalAlignment property.
631 /// <since_tizen> 3 </since_tizen>
632 public VerticalAlignment VerticalAlignment
637 if (GetProperty(TextField.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
639 NUILog.Error("VerticalAlignment get error!");
645 return VerticalAlignment.Top;
647 return VerticalAlignment.Center;
649 return VerticalAlignment.Bottom;
651 return VerticalAlignment.Bottom;
656 string valueToString = "";
659 case VerticalAlignment.Top:
661 valueToString = "TOP";
664 case VerticalAlignment.Center:
666 valueToString = "CENTER";
669 case VerticalAlignment.Bottom:
671 valueToString = "BOTTOM";
676 valueToString = "BOTTOM";
680 SetProperty(TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
685 /// The TextColor property.
687 /// <since_tizen> 3 </since_tizen>
688 public Color TextColor
692 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
693 GetProperty(TextField.Property.TEXT_COLOR).Get(temp);
698 SetProperty(TextField.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
703 /// The PlaceholderTextColor property.
705 /// <since_tizen> 3 </since_tizen>
706 public Vector4 PlaceholderTextColor
710 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
711 GetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
716 SetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
721 /// The ShadowOffset property.
723 /// <since_tizen> 3 </since_tizen>
724 public Vector2 ShadowOffset
728 Vector2 temp = new Vector2(0.0f, 0.0f);
729 GetProperty(TextField.Property.SHADOW_OFFSET).Get(temp);
734 SetProperty(TextField.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
739 /// The ShadowColor property.
741 /// <since_tizen> 3 </since_tizen>
742 public Vector4 ShadowColor
746 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
747 GetProperty(TextField.Property.SHADOW_COLOR).Get(temp);
752 SetProperty(TextField.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
757 /// The PrimaryCursorColor property.
759 /// <since_tizen> 3 </since_tizen>
760 public Vector4 PrimaryCursorColor
764 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
765 GetProperty(TextField.Property.PRIMARY_CURSOR_COLOR).Get(temp);
770 SetProperty(TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
775 /// The SecondaryCursorColor property.
777 /// <since_tizen> 3 </since_tizen>
778 public Vector4 SecondaryCursorColor
782 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
783 GetProperty(TextField.Property.SECONDARY_CURSOR_COLOR).Get(temp);
788 SetProperty(TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
793 /// The EnableCursorBlink property.
795 /// <since_tizen> 3 </since_tizen>
796 public bool EnableCursorBlink
801 GetProperty(TextField.Property.ENABLE_CURSOR_BLINK).Get(out temp);
806 SetProperty(TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
811 /// The CursorBlinkInterval property.
813 /// <since_tizen> 3 </since_tizen>
814 public float CursorBlinkInterval
819 GetProperty(TextField.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
824 SetProperty(TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
829 /// The CursorBlinkDuration property.
831 /// <since_tizen> 3 </since_tizen>
832 public float CursorBlinkDuration
837 GetProperty(TextField.Property.CURSOR_BLINK_DURATION).Get(out temp);
842 SetProperty(TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
847 /// The CursorWidth property.
849 /// <since_tizen> 3 </since_tizen>
850 public int CursorWidth
855 GetProperty(TextField.Property.CURSOR_WIDTH).Get(out temp);
860 SetProperty(TextField.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
865 /// The GrabHandleImage property.
867 /// <since_tizen> 3 </since_tizen>
868 public string GrabHandleImage
873 GetProperty(TextField.Property.GRAB_HANDLE_IMAGE).Get(out temp);
878 SetProperty(TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
883 /// The GrabHandlePressedImage property.
885 /// <since_tizen> 3 </since_tizen>
886 public string GrabHandlePressedImage
891 GetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
896 SetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
901 /// The ScrollThreshold property.
903 /// <since_tizen> 3 </since_tizen>
904 public float ScrollThreshold
909 GetProperty(TextField.Property.SCROLL_THRESHOLD).Get(out temp);
914 SetProperty(TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
919 /// The ScrollSpeed property.
921 /// <since_tizen> 3 </since_tizen>
922 public float ScrollSpeed
927 GetProperty(TextField.Property.SCROLL_SPEED).Get(out temp);
932 SetProperty(TextField.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
937 /// The SelectionHandleImageLeft property.
939 /// <since_tizen> 3 </since_tizen>
940 public PropertyMap SelectionHandleImageLeft
944 PropertyMap temp = new PropertyMap();
945 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
950 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
955 /// The SelectionHandleImageRight property.
957 /// <since_tizen> 3 </since_tizen>
958 public PropertyMap SelectionHandleImageRight
962 PropertyMap temp = new PropertyMap();
963 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
968 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
973 /// The SelectionHandlePressedImageLeft property.
975 /// <since_tizen> 3 </since_tizen>
976 public PropertyMap SelectionHandlePressedImageLeft
980 PropertyMap temp = new PropertyMap();
981 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
986 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
991 /// The SelectionHandlePressedImageRight property.
993 /// <since_tizen> 3 </since_tizen>
994 public PropertyMap SelectionHandlePressedImageRight
998 PropertyMap temp = new PropertyMap();
999 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
1004 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1009 /// The SelectionHandleMarkerImageLeft property.
1011 /// <since_tizen> 3 </since_tizen>
1012 public PropertyMap SelectionHandleMarkerImageLeft
1016 PropertyMap temp = new PropertyMap();
1017 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
1022 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
1027 /// The SelectionHandleMarkerImageRight property.
1029 /// <since_tizen> 3 </since_tizen>
1030 public PropertyMap SelectionHandleMarkerImageRight
1034 PropertyMap temp = new PropertyMap();
1035 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
1040 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1045 /// The SelectionHighlightColor property.
1047 /// <since_tizen> 3 </since_tizen>
1048 public Vector4 SelectionHighlightColor
1052 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1053 GetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
1058 SetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
1063 /// The DecorationBoundingBox property.
1065 /// <since_tizen> 3 </since_tizen>
1066 public Rectangle DecorationBoundingBox
1070 Rectangle temp = new Rectangle(0, 0, 0, 0);
1071 GetProperty(TextField.Property.DECORATION_BOUNDING_BOX).Get(temp);
1076 SetProperty(TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
1081 /// The InputMethodSettings property.
1083 /// <since_tizen> 3 </since_tizen>
1084 public PropertyMap InputMethodSettings
1088 PropertyMap temp = new PropertyMap();
1089 GetProperty(TextField.Property.INPUT_METHOD_SETTINGS).Get(temp);
1094 SetProperty(TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.PropertyValue(value));
1099 /// The InputColor property.
1101 /// <since_tizen> 3 </since_tizen>
1102 public Vector4 InputColor
1106 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1107 GetProperty(TextField.Property.INPUT_COLOR).Get(temp);
1112 SetProperty(TextField.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
1117 /// The EnableMarkup property.
1119 /// <since_tizen> 3 </since_tizen>
1120 public bool EnableMarkup
1125 GetProperty(TextField.Property.ENABLE_MARKUP).Get(out temp);
1130 SetProperty(TextField.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
1135 /// The InputFontFamily property.
1137 /// <since_tizen> 3 </since_tizen>
1138 public string InputFontFamily
1143 GetProperty(TextField.Property.INPUT_FONT_FAMILY).Get(out temp);
1148 SetProperty(TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
1153 /// The InputFontStyle property.
1155 /// <since_tizen> 3 </since_tizen>
1156 public PropertyMap InputFontStyle
1160 PropertyMap temp = new PropertyMap();
1161 GetProperty(TextField.Property.INPUT_FONT_STYLE).Get(temp);
1166 SetProperty(TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
1171 /// The InputPointSize property.
1173 /// <since_tizen> 3 </since_tizen>
1174 public float InputPointSize
1179 GetProperty(TextField.Property.INPUT_POINT_SIZE).Get(out temp);
1184 SetProperty(TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
1189 /// The Underline property.
1191 /// <since_tizen> 3 </since_tizen>
1192 public PropertyMap Underline
1196 PropertyMap temp = new PropertyMap();
1197 GetProperty(TextField.Property.UNDERLINE).Get(temp);
1202 SetProperty(TextField.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
1207 /// The InputUnderline property.
1209 /// <since_tizen> 3 </since_tizen>
1210 public string InputUnderline
1215 GetProperty(TextField.Property.INPUT_UNDERLINE).Get(out temp);
1220 SetProperty(TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
1225 /// The Shadow property.
1227 /// <since_tizen> 3 </since_tizen>
1228 public PropertyMap Shadow
1232 PropertyMap temp = new PropertyMap();
1233 GetProperty(TextField.Property.SHADOW).Get(temp);
1238 SetProperty(TextField.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
1243 /// The InputShadow property.
1245 /// <since_tizen> 3 </since_tizen>
1246 public string InputShadow
1251 GetProperty(TextField.Property.INPUT_SHADOW).Get(out temp);
1256 SetProperty(TextField.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
1261 /// The Emboss property.
1263 /// <since_tizen> 3 </since_tizen>
1264 public string Emboss
1269 GetProperty(TextField.Property.EMBOSS).Get(out temp);
1274 SetProperty(TextField.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
1279 /// The InputEmboss property.
1281 /// <since_tizen> 3 </since_tizen>
1282 public string InputEmboss
1287 GetProperty(TextField.Property.INPUT_EMBOSS).Get(out temp);
1292 SetProperty(TextField.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
1297 /// The Outline property.
1299 /// <since_tizen> 3 </since_tizen>
1300 public PropertyMap Outline
1304 PropertyMap temp = new PropertyMap();
1305 GetProperty(TextField.Property.OUTLINE).Get(temp);
1310 SetProperty(TextField.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
1315 /// The InputOutline property.
1317 /// <since_tizen> 3 </since_tizen>
1318 public string InputOutline
1323 GetProperty(TextField.Property.INPUT_OUTLINE).Get(out temp);
1328 SetProperty(TextField.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
1333 /// The HiddenInputSettings property.
1335 /// <since_tizen> 3 </since_tizen>
1336 public Tizen.NUI.PropertyMap HiddenInputSettings
1340 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1341 GetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS).Get(temp);
1346 SetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS, new Tizen.NUI.PropertyValue(value));
1351 /// The PixelSize property.
1353 /// <since_tizen> 3 </since_tizen>
1354 public float PixelSize
1359 GetProperty(TextField.Property.PIXEL_SIZE).Get(out temp);
1364 SetProperty(TextField.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue(value));
1369 /// The Enable selection property.
1371 /// <since_tizen> 3 </since_tizen>
1372 public bool EnableSelection
1377 GetProperty(TextField.Property.ENABLE_SELECTION).Get(out temp);
1382 SetProperty(TextField.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue(value));
1387 /// The Placeholder property.
1388 /// Gets or sets the placeholder: text, color, font family, font style, point size, and pixel size.
1391 /// The following example demonstrates how to set the Placeholder property.
1393 /// PropertyMap propertyMap = new PropertyMap();
1394 /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
1395 /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
1396 /// propertyMap.Add("color", new PropertyValue(Color.Red));
1397 /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
1398 /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
1400 /// PropertyMap fontStyleMap = new PropertyMap();
1401 /// fontStyleMap.Add("weight", new PropertyValue("bold"));
1402 /// fontStyleMap.Add("width", new PropertyValue("condensed"));
1403 /// fontStyleMap.Add("slant", new PropertyValue("italic"));
1404 /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
1406 /// TextField field = new TextField();
1407 /// field.Placeholder = propertyMap;
1410 /// <since_tizen> 3 </since_tizen>
1411 public Tizen.NUI.PropertyMap Placeholder
1415 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1416 GetProperty(TextField.Property.PLACEHOLDER).Get(temp);
1421 SetProperty(TextField.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue(value));
1426 /// The Ellipsis property.<br />
1427 /// Enable or disable the ellipsis.<br />
1428 /// Placeholder PropertyMap is used to add ellipsis to placeholder text.
1430 /// <since_tizen> 4 </since_tizen>
1431 public bool Ellipsis
1436 GetProperty(TextField.Property.ELLIPSIS).Get(out temp);
1441 SetProperty(TextField.Property.ELLIPSIS, new Tizen.NUI.PropertyValue(value));
1446 /// Enables Text selection using Shift key.
1448 /// <since_tizen> 5 </since_tizen>
1449 [EditorBrowsable(EditorBrowsableState.Never)]
1450 public bool EnableShiftSelection
1454 // mShiftSelectionFlag( true )
1456 GetProperty(TextField.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
1461 SetProperty(TextField.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue(value));