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.TextEditor_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);
387 /// The TranslatablePlaceholderText property.<br />
388 /// The text can set the SID value.<br />
390 /// <exception cref='ArgumentNullException'>
391 /// ResourceManager about multilingual is null.
393 /// <since_tizen> 4 </since_tizen>
394 public string TranslatablePlaceholderText
398 return textFieldPlaceHolderTextSid;
402 if (NUIApplication.MultilingualResourceManager == null)
404 throw new ArgumentNullException("ResourceManager about multilingual is null");
406 textFieldPlaceHolderTextSid = value;
407 PlaceholderText = SetTranslatable(textFieldPlaceHolderTextSid);
410 private string SetTranslatable(string textFieldSid)
412 string translatableText = null;
413 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textFieldSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
414 if (translatableText != null)
416 if (systemlangTextFlag == false)
418 SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
419 systemlangTextFlag = true;
421 return translatableText;
425 translatableText = "";
426 return translatableText;
429 private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
431 if (textFieldTextSid != null)
433 Text = NUIApplication.MultilingualResourceManager?.GetString(textFieldTextSid, new CultureInfo(e.Value.Replace("_", "-")));
435 if (textFieldPlaceHolderTextSid != null)
437 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textFieldPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
441 /// The Text property.
443 /// <since_tizen> 3 </since_tizen>
449 GetProperty(TextField.Property.TEXT).Get(out temp);
454 SetProperty(TextField.Property.TEXT, new Tizen.NUI.PropertyValue(value));
459 /// The PlaceholderText property.
461 /// <since_tizen> 3 </since_tizen>
462 public string PlaceholderText
467 GetProperty(TextField.Property.PLACEHOLDER_TEXT).Get(out temp);
472 SetProperty(TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue(value));
477 /// The PlaceholderTextFocused property.
479 /// <since_tizen> 3 </since_tizen>
480 public string PlaceholderTextFocused
485 GetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get(out temp);
490 SetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.PropertyValue(value));
495 /// The FontFamily property.
497 /// <since_tizen> 3 </since_tizen>
498 public string FontFamily
503 GetProperty(TextField.Property.FONT_FAMILY).Get(out temp);
508 SetProperty(TextField.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
513 /// The FontStyle property.
515 /// <since_tizen> 3 </since_tizen>
516 public PropertyMap FontStyle
520 PropertyMap temp = new PropertyMap();
521 GetProperty(TextField.Property.FONT_STYLE).Get(temp);
526 SetProperty(TextField.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
531 /// The PointSize property.
533 /// <since_tizen> 3 </since_tizen>
534 public float PointSize
539 GetProperty(TextField.Property.POINT_SIZE).Get(out temp);
544 SetProperty(TextField.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
549 /// The MaxLength property.
551 /// <since_tizen> 3 </since_tizen>
557 GetProperty(TextField.Property.MAX_LENGTH).Get(out temp);
562 SetProperty(TextField.Property.MAX_LENGTH, new Tizen.NUI.PropertyValue(value));
567 /// The ExceedPolicy property.
569 /// <since_tizen> 3 </since_tizen>
570 public int ExceedPolicy
575 GetProperty(TextField.Property.EXCEED_POLICY).Get(out temp);
580 SetProperty(TextField.Property.EXCEED_POLICY, new Tizen.NUI.PropertyValue(value));
585 /// The HorizontalAlignment property.
587 /// <since_tizen> 3 </since_tizen>
588 public HorizontalAlignment HorizontalAlignment
593 if (GetProperty(TextField.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
595 NUILog.Error("HorizontalAlignment get error!");
601 return HorizontalAlignment.Begin;
603 return HorizontalAlignment.Center;
605 return HorizontalAlignment.End;
607 return HorizontalAlignment.Begin;
612 string valueToString = "";
615 case HorizontalAlignment.Begin:
617 valueToString = "BEGIN";
620 case HorizontalAlignment.Center:
622 valueToString = "CENTER";
625 case HorizontalAlignment.End:
627 valueToString = "END";
632 valueToString = "BEGIN";
636 SetProperty(TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
641 /// The VerticalAlignment property.
643 /// <since_tizen> 3 </since_tizen>
644 public VerticalAlignment VerticalAlignment
649 if (GetProperty(TextField.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
651 NUILog.Error("VerticalAlignment get error!");
657 return VerticalAlignment.Top;
659 return VerticalAlignment.Center;
661 return VerticalAlignment.Bottom;
663 return VerticalAlignment.Bottom;
668 string valueToString = "";
671 case VerticalAlignment.Top:
673 valueToString = "TOP";
676 case VerticalAlignment.Center:
678 valueToString = "CENTER";
681 case VerticalAlignment.Bottom:
683 valueToString = "BOTTOM";
688 valueToString = "BOTTOM";
692 SetProperty(TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
697 /// The TextColor property.
699 /// <since_tizen> 3 </since_tizen>
700 public Color TextColor
704 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
705 GetProperty(TextField.Property.TEXT_COLOR).Get(temp);
710 SetProperty(TextField.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
715 /// The PlaceholderTextColor property.
717 /// <since_tizen> 3 </since_tizen>
718 public Vector4 PlaceholderTextColor
722 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
723 GetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
728 SetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
733 /// The ShadowOffset property.
735 /// <since_tizen> 3 </since_tizen>
736 public Vector2 ShadowOffset
740 Vector2 temp = new Vector2(0.0f, 0.0f);
741 GetProperty(TextField.Property.SHADOW_OFFSET).Get(temp);
746 SetProperty(TextField.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
751 /// The ShadowColor property.
753 /// <since_tizen> 3 </since_tizen>
754 public Vector4 ShadowColor
758 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
759 GetProperty(TextField.Property.SHADOW_COLOR).Get(temp);
764 SetProperty(TextField.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
769 /// The PrimaryCursorColor property.
771 /// <since_tizen> 3 </since_tizen>
772 public Vector4 PrimaryCursorColor
776 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
777 GetProperty(TextField.Property.PRIMARY_CURSOR_COLOR).Get(temp);
782 SetProperty(TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
787 /// The SecondaryCursorColor property.
789 /// <since_tizen> 3 </since_tizen>
790 public Vector4 SecondaryCursorColor
794 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
795 GetProperty(TextField.Property.SECONDARY_CURSOR_COLOR).Get(temp);
800 SetProperty(TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
805 /// The EnableCursorBlink property.
807 /// <since_tizen> 3 </since_tizen>
808 public bool EnableCursorBlink
813 GetProperty(TextField.Property.ENABLE_CURSOR_BLINK).Get(out temp);
818 SetProperty(TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
823 /// The CursorBlinkInterval property.
825 /// <since_tizen> 3 </since_tizen>
826 public float CursorBlinkInterval
831 GetProperty(TextField.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
836 SetProperty(TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
841 /// The CursorBlinkDuration property.
843 /// <since_tizen> 3 </since_tizen>
844 public float CursorBlinkDuration
849 GetProperty(TextField.Property.CURSOR_BLINK_DURATION).Get(out temp);
854 SetProperty(TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
859 /// The CursorWidth property.
861 /// <since_tizen> 3 </since_tizen>
862 public int CursorWidth
867 GetProperty(TextField.Property.CURSOR_WIDTH).Get(out temp);
872 SetProperty(TextField.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
877 /// The GrabHandleImage property.
879 /// <since_tizen> 3 </since_tizen>
880 public string GrabHandleImage
885 GetProperty(TextField.Property.GRAB_HANDLE_IMAGE).Get(out temp);
890 SetProperty(TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
895 /// The GrabHandlePressedImage property.
897 /// <since_tizen> 3 </since_tizen>
898 public string GrabHandlePressedImage
903 GetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
908 SetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
913 /// The ScrollThreshold property.
915 /// <since_tizen> 3 </since_tizen>
916 public float ScrollThreshold
921 GetProperty(TextField.Property.SCROLL_THRESHOLD).Get(out temp);
926 SetProperty(TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
931 /// The ScrollSpeed property.
933 /// <since_tizen> 3 </since_tizen>
934 public float ScrollSpeed
939 GetProperty(TextField.Property.SCROLL_SPEED).Get(out temp);
944 SetProperty(TextField.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
949 /// The SelectionHandleImageLeft property.
951 /// <since_tizen> 3 </since_tizen>
952 public PropertyMap SelectionHandleImageLeft
956 PropertyMap temp = new PropertyMap();
957 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
962 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
967 /// The SelectionHandleImageRight property.
969 /// <since_tizen> 3 </since_tizen>
970 public PropertyMap SelectionHandleImageRight
974 PropertyMap temp = new PropertyMap();
975 GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
980 SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
985 /// The SelectionHandlePressedImageLeft property.
987 /// <since_tizen> 3 </since_tizen>
988 public PropertyMap SelectionHandlePressedImageLeft
992 PropertyMap temp = new PropertyMap();
993 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
998 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
1003 /// The SelectionHandlePressedImageRight property.
1005 /// <since_tizen> 3 </since_tizen>
1006 public PropertyMap SelectionHandlePressedImageRight
1010 PropertyMap temp = new PropertyMap();
1011 GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
1016 SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1021 /// The SelectionHandleMarkerImageLeft property.
1023 /// <since_tizen> 3 </since_tizen>
1024 public PropertyMap SelectionHandleMarkerImageLeft
1028 PropertyMap temp = new PropertyMap();
1029 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
1034 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
1039 /// The SelectionHandleMarkerImageRight property.
1041 /// <since_tizen> 3 </since_tizen>
1042 public PropertyMap SelectionHandleMarkerImageRight
1046 PropertyMap temp = new PropertyMap();
1047 GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
1052 SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
1057 /// The SelectionHighlightColor property.
1059 /// <since_tizen> 3 </since_tizen>
1060 public Vector4 SelectionHighlightColor
1064 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1065 GetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
1070 SetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
1075 /// The DecorationBoundingBox property.
1077 /// <since_tizen> 3 </since_tizen>
1078 public Rectangle DecorationBoundingBox
1082 Rectangle temp = new Rectangle(0, 0, 0, 0);
1083 GetProperty(TextField.Property.DECORATION_BOUNDING_BOX).Get(temp);
1088 SetProperty(TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
1093 /// The InputMethodSettings property.
1095 /// <since_tizen> 3 </since_tizen>
1096 public PropertyMap InputMethodSettings
1100 PropertyMap temp = new PropertyMap();
1101 GetProperty(TextField.Property.INPUT_METHOD_SETTINGS).Get(temp);
1106 SetProperty(TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.PropertyValue(value));
1111 /// The InputColor property.
1113 /// <since_tizen> 3 </since_tizen>
1114 public Vector4 InputColor
1118 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
1119 GetProperty(TextField.Property.INPUT_COLOR).Get(temp);
1124 SetProperty(TextField.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
1129 /// The EnableMarkup property.
1131 /// <since_tizen> 3 </since_tizen>
1132 public bool EnableMarkup
1137 GetProperty(TextField.Property.ENABLE_MARKUP).Get(out temp);
1142 SetProperty(TextField.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
1147 /// The InputFontFamily property.
1149 /// <since_tizen> 3 </since_tizen>
1150 public string InputFontFamily
1155 GetProperty(TextField.Property.INPUT_FONT_FAMILY).Get(out temp);
1160 SetProperty(TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
1165 /// The InputFontStyle property.
1167 /// <since_tizen> 3 </since_tizen>
1168 public PropertyMap InputFontStyle
1172 PropertyMap temp = new PropertyMap();
1173 GetProperty(TextField.Property.INPUT_FONT_STYLE).Get(temp);
1178 SetProperty(TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
1183 /// The InputPointSize property.
1185 /// <since_tizen> 3 </since_tizen>
1186 public float InputPointSize
1191 GetProperty(TextField.Property.INPUT_POINT_SIZE).Get(out temp);
1196 SetProperty(TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
1201 /// The Underline property.
1203 /// <since_tizen> 3 </since_tizen>
1204 public PropertyMap Underline
1208 PropertyMap temp = new PropertyMap();
1209 GetProperty(TextField.Property.UNDERLINE).Get(temp);
1214 SetProperty(TextField.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
1219 /// The InputUnderline property.
1221 /// <since_tizen> 3 </since_tizen>
1222 public string InputUnderline
1227 GetProperty(TextField.Property.INPUT_UNDERLINE).Get(out temp);
1232 SetProperty(TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
1237 /// The Shadow property.
1239 /// <since_tizen> 3 </since_tizen>
1240 public PropertyMap Shadow
1244 PropertyMap temp = new PropertyMap();
1245 GetProperty(TextField.Property.SHADOW).Get(temp);
1250 SetProperty(TextField.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
1255 /// The InputShadow property.
1257 /// <since_tizen> 3 </since_tizen>
1258 public string InputShadow
1263 GetProperty(TextField.Property.INPUT_SHADOW).Get(out temp);
1268 SetProperty(TextField.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
1273 /// The Emboss property.
1275 /// <since_tizen> 3 </since_tizen>
1276 public string Emboss
1281 GetProperty(TextField.Property.EMBOSS).Get(out temp);
1286 SetProperty(TextField.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
1291 /// The InputEmboss property.
1293 /// <since_tizen> 3 </since_tizen>
1294 public string InputEmboss
1299 GetProperty(TextField.Property.INPUT_EMBOSS).Get(out temp);
1304 SetProperty(TextField.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
1309 /// The Outline property.
1311 /// <since_tizen> 3 </since_tizen>
1312 public PropertyMap Outline
1316 PropertyMap temp = new PropertyMap();
1317 GetProperty(TextField.Property.OUTLINE).Get(temp);
1322 SetProperty(TextField.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
1327 /// The InputOutline property.
1329 /// <since_tizen> 3 </since_tizen>
1330 public string InputOutline
1335 GetProperty(TextField.Property.INPUT_OUTLINE).Get(out temp);
1340 SetProperty(TextField.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
1345 /// The HiddenInputSettings property.
1347 /// <since_tizen> 3 </since_tizen>
1348 public Tizen.NUI.PropertyMap HiddenInputSettings
1352 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1353 GetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS).Get(temp);
1358 SetProperty(TextField.Property.HIDDEN_INPUT_SETTINGS, new Tizen.NUI.PropertyValue(value));
1363 /// The PixelSize property.
1365 /// <since_tizen> 3 </since_tizen>
1366 public float PixelSize
1371 GetProperty(TextField.Property.PIXEL_SIZE).Get(out temp);
1376 SetProperty(TextField.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue(value));
1381 /// The Enable selection property.
1383 /// <since_tizen> 3 </since_tizen>
1384 public bool EnableSelection
1389 GetProperty(TextField.Property.ENABLE_SELECTION).Get(out temp);
1394 SetProperty(TextField.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue(value));
1399 /// The Placeholder property.
1400 /// Gets or sets the placeholder: text, color, font family, font style, point size, and pixel size.
1403 /// The following example demonstrates how to set the Placeholder property.
1405 /// PropertyMap propertyMap = new PropertyMap();
1406 /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
1407 /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
1408 /// propertyMap.Add("color", new PropertyValue(Color.Red));
1409 /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
1410 /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
1412 /// PropertyMap fontStyleMap = new PropertyMap();
1413 /// fontStyleMap.Add("weight", new PropertyValue("bold"));
1414 /// fontStyleMap.Add("width", new PropertyValue("condensed"));
1415 /// fontStyleMap.Add("slant", new PropertyValue("italic"));
1416 /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
1418 /// TextField field = new TextField();
1419 /// field.Placeholder = propertyMap;
1422 /// <since_tizen> 3 </since_tizen>
1423 public Tizen.NUI.PropertyMap Placeholder
1427 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1428 GetProperty(TextField.Property.PLACEHOLDER).Get(temp);
1433 SetProperty(TextField.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue(value));
1438 /// The Ellipsis property.<br />
1439 /// Enable or disable the ellipsis.<br />
1440 /// Placeholder PropertyMap is used to add ellipsis to placeholder text.
1442 /// <since_tizen> 4 </since_tizen>
1443 public bool Ellipsis
1448 GetProperty(TextField.Property.ELLIPSIS).Get(out temp);
1453 SetProperty(TextField.Property.ELLIPSIS, new Tizen.NUI.PropertyValue(value));
1458 /// Enables Text selection using Shift key.
1460 /// <since_tizen> 5 </since_tizen>
1461 /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
1462 [EditorBrowsable(EditorBrowsableState.Never)]
1463 public bool EnableShiftSelection
1467 // mShiftSelectionFlag( true )
1469 GetProperty(TextField.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
1474 SetProperty(TextField.Property.ENABLE_SHIFT_SELECTION, new Tizen.NUI.PropertyValue(value));