1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
17 extern alias TizenSystemSettings;
18 using TizenSystemSettings.Tizen.System;
19 namespace Tizen.NUI.BaseComponents
23 using System.Runtime.InteropServices;
24 using System.Globalization;
27 /// A control which provides a multi-line editable text editor.
29 public class TextEditor : View
31 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
32 private string textEditorTextSid = null;
33 private string textEditorPlaceHolderTextSid = null;
34 private bool systemlangTextFlag = false;
36 internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn)
38 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
41 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
43 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
49 protected override void Dispose(DisposeTypes type)
56 if(type == DisposeTypes.Explicit)
59 //Release your own managed resources here.
60 //You should release all of your own disposable objects here.
63 //Release your own unmanaged resources here.
64 //You should not access any managed member here except static instance.
65 //because the execution order of Finalizes is non-deterministic.
67 if (swigCPtr.Handle != global::System.IntPtr.Zero)
72 NDalicPINVOKE.delete_TextEditor(swigCPtr);
74 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
81 /// Event arguments that passed via TextChanged signal.
83 public class TextChangedEventArgs : EventArgs
85 private TextEditor _textEditor;
88 /// TextEditor - is the texteditor control which has the text contents changed.
90 public TextEditor TextEditor
103 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
104 private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
105 private EventHandler<TextChangedEventArgs> _textEditorTextChangedEventHandler;
106 private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
109 /// Event for TextChanged signal which can be used to subscribe/unsubscribe the event handler
110 /// provided by the user. TextChanged signal is emitted when the text changes.<br>
112 public event EventHandler<TextChangedEventArgs> TextChanged
116 if (_textEditorTextChangedEventHandler == null)
118 _textEditorTextChangedCallbackDelegate = (OnTextChanged);
119 TextChangedSignal().Connect(_textEditorTextChangedCallbackDelegate);
121 _textEditorTextChangedEventHandler += value;
125 _textEditorTextChangedEventHandler -= value;
126 if (_textEditorTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
128 TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
133 private void OnTextChanged(IntPtr textEditor)
135 TextChangedEventArgs e = new TextChangedEventArgs();
137 // Populate all members of "e" (TextChangedEventArgs) with real data
138 e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
140 if (_textEditorTextChangedEventHandler != null)
142 //here we send all data to user event handlers
143 _textEditorTextChangedEventHandler(this, e);
149 /// Event arguments that passed via ScrollStateChanged signal.
151 public class ScrollStateChangedEventArgs : EventArgs
153 private TextEditor _textEditor;
154 private ScrollState _scrollState;
157 /// TextEditor - is the texteditor control which has the scroll state changed.
159 public TextEditor TextEditor
172 /// ScrollState - is the texteditor control scroll state.
174 public ScrollState ScrollState
182 _scrollState = value;
187 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
188 private delegate void ScrollStateChangedCallbackDelegate(IntPtr textEditor, ScrollState state);
189 private EventHandler<ScrollStateChangedEventArgs> _textEditorScrollStateChangedEventHandler;
190 private ScrollStateChangedCallbackDelegate _textEditorScrollStateChangedCallbackDelegate;
193 /// Event for ScrollStateChanged signal which can be used to subscribe/unsubscribe the event handler
194 /// provided by the user. ScrollStateChanged signal is emitted when the scroll state changes.<br>
196 public event EventHandler<ScrollStateChangedEventArgs> ScrollStateChanged
200 if (_textEditorScrollStateChangedEventHandler == null)
202 _textEditorScrollStateChangedCallbackDelegate = OnScrollStateChanged;
203 ScrollStateChangedSignal(this).Connect(_textEditorScrollStateChangedCallbackDelegate);
205 _textEditorScrollStateChangedEventHandler += value;
209 _textEditorScrollStateChangedEventHandler -= value;
210 if (_textEditorScrollStateChangedEventHandler == null && ScrollStateChangedSignal(this).Empty() == false)
212 ScrollStateChangedSignal(this).Disconnect(_textEditorScrollStateChangedCallbackDelegate);
217 private void OnScrollStateChanged(IntPtr textEditor, ScrollState state)
219 ScrollStateChangedEventArgs e = new ScrollStateChangedEventArgs();
221 if (textEditor != null)
223 // Populate all members of "e" (ScrollStateChangedEventArgs) with real data
224 e.TextEditor = Registry.GetManagedBaseHandleFromNativePtr(textEditor) as TextEditor;
225 e.ScrollState = state;
228 if (_textEditorScrollStateChangedEventHandler != null)
230 //here we send all data to user event handlers
231 _textEditorScrollStateChangedEventHandler(this, e);
235 internal class Property
237 internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
238 internal static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
239 internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
240 internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
241 internal static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
242 internal static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
243 internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
244 internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
245 internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
246 internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
247 internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
248 internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
249 internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
250 internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
251 internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
252 internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
253 internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
254 internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
255 internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
256 internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
257 internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
258 internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
259 internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
260 internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
261 internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
262 internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
263 internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
264 internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
265 internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
266 internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
267 internal static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
268 internal static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
269 internal static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
270 internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
271 internal static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
272 internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
273 internal static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
274 internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
275 internal static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
276 internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
277 internal static readonly int SMOOTH_SCROLL = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_get();
278 internal static readonly int SMOOTH_SCROLL_DURATION = NDalicManualPINVOKE.TextEditor_Property_SMOOTH_SCROLL_DURATION_get();
279 internal static readonly int ENABLE_SCROLL_BAR = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SCROLL_BAR_get();
280 internal static readonly int SCROLL_BAR_SHOW_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_SHOW_DURATION_get();
281 internal static readonly int SCROLL_BAR_FADE_DURATION = NDalicManualPINVOKE.TextEditor_Property_SCROLL_BAR_FADE_DURATION_get();
282 internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextEditor_Property_PIXEL_SIZE_get();
283 internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextEditor_Property_LINE_COUNT_get();
284 internal static readonly int PLACEHOLDER_TEXT = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_get();
285 internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_COLOR_get();
286 internal static readonly int ENABLE_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SELECTION_get();
287 internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_get();
288 internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextEditor_Property_LINE_WRAP_MODE_get();
291 internal class InputStyle
300 LineSpacing = 0x0010,
309 /// Creates the TextEditor control.
311 public TextEditor() : this(NDalicPINVOKE.TextEditor_New(), true)
313 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
316 internal TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true)
318 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
321 [Obsolete("Please do not use! this will be deprecated")]
322 public new static TextEditor DownCast(BaseHandle handle)
324 TextEditor ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TextEditor;
325 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
329 internal TextEditorSignal TextChangedSignal()
331 TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
332 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
336 internal ScrollStateChangedSignal ScrollStateChangedSignal(TextEditor textEditor)
338 ScrollStateChangedSignal ret = new ScrollStateChangedSignal(NDalicManualPINVOKE.TextEditor_ScrollStateChangedSignal(TextEditor.getCPtr(textEditor)), false);
339 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
343 internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
345 SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
346 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
351 /// TranslatableText property.<br>
352 /// The text can be set SID value.<br>
354 /// <exception cref='ArgumentNullException'>
355 /// ResourceManager about multilingual is null
357 public string TranslatableText
361 return textEditorTextSid;
365 if (NUIApplication.MultilingualResourceManager == null)
367 throw new ArgumentNullException("ResourceManager about multilingual is null");
369 textEditorTextSid = value;
370 Text = SetTranslatable(textEditorTextSid);
374 /// TranslatablePlaceholderText property.<br>
375 /// The text can be set SID value.<br>
377 /// <exception cref='ArgumentNullException'>
378 /// ResourceManager about multilingual is null
380 public string TranslatablePlaceholderText
384 return textEditorPlaceHolderTextSid;
388 if (NUIApplication.MultilingualResourceManager == null)
390 throw new ArgumentNullException("ResourceManager about multilingual is null");
392 textEditorPlaceHolderTextSid = value;
393 PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
396 private string SetTranslatable(string textEditorSid)
398 string translatableText = null;
399 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
400 if (translatableText != null)
402 if (systemlangTextFlag == false)
404 SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
405 systemlangTextFlag = true;
407 return translatableText;
411 translatableText = "";
412 return translatableText;
415 private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
417 if (textEditorTextSid != null)
419 Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
421 if (textEditorPlaceHolderTextSid != null)
423 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
433 GetProperty(TextEditor.Property.TEXT).Get(out temp);
438 SetProperty(TextEditor.Property.TEXT, new Tizen.NUI.PropertyValue(value));
443 /// Text color property.
445 public Vector4 TextColor
449 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
450 GetProperty(TextEditor.Property.TEXT_COLOR).Get(temp);
455 SetProperty(TextEditor.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
460 /// Font family property.
462 public string FontFamily
467 GetProperty(TextEditor.Property.FONT_FAMILY).Get(out temp);
472 SetProperty(TextEditor.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
477 /// Font style property.
479 public PropertyMap FontStyle
483 PropertyMap temp = new PropertyMap();
484 GetProperty(TextEditor.Property.FONT_STYLE).Get(temp);
489 SetProperty(TextEditor.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
494 /// Point size property.
496 public float PointSize
501 GetProperty(TextEditor.Property.POINT_SIZE).Get(out temp);
506 SetProperty(TextEditor.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
511 /// Horizontal alignment property.
513 public HorizontalAlignment HorizontalAlignment
518 if (GetProperty(TextEditor.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
520 NUILog.Error("HorizontalAlignment get error!");
526 return HorizontalAlignment.Begin;
528 return HorizontalAlignment.Center;
530 return HorizontalAlignment.End;
532 return HorizontalAlignment.Begin;
537 string valueToString = "";
540 case HorizontalAlignment.Begin:
542 valueToString = "BEGIN";
545 case HorizontalAlignment.Center:
547 valueToString = "CENTER";
550 case HorizontalAlignment.End:
552 valueToString = "END";
557 valueToString = "BEGIN";
561 SetProperty(TextEditor.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
566 /// Scroll threshold property.
568 public float ScrollThreshold
573 GetProperty(TextEditor.Property.SCROLL_THRESHOLD).Get(out temp);
578 SetProperty(TextEditor.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
583 /// Scroll speed property.
585 public float ScrollSpeed
590 GetProperty(TextEditor.Property.SCROLL_SPEED).Get(out temp);
595 SetProperty(TextEditor.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
600 /// Primary cursor color property.
602 public Vector4 PrimaryCursorColor
606 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
607 GetProperty(TextEditor.Property.PRIMARY_CURSOR_COLOR).Get(temp);
612 SetProperty(TextEditor.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
617 /// SecondaryCursorColor property.
619 public Vector4 SecondaryCursorColor
623 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
624 GetProperty(TextEditor.Property.SECONDARY_CURSOR_COLOR).Get(temp);
629 SetProperty(TextEditor.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
634 /// EnableCursorBlink property.
636 public bool EnableCursorBlink
641 GetProperty(TextEditor.Property.ENABLE_CURSOR_BLINK).Get(out temp);
646 SetProperty(TextEditor.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
651 /// CursorBlinkInterval property.
653 public float CursorBlinkInterval
658 GetProperty(TextEditor.Property.CURSOR_BLINK_INTERVAL).Get(out temp);
663 SetProperty(TextEditor.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
668 /// CursorBlinkDuration property.
670 public float CursorBlinkDuration
675 GetProperty(TextEditor.Property.CURSOR_BLINK_DURATION).Get(out temp);
680 SetProperty(TextEditor.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
685 /// CursorWidth property.
687 public int CursorWidth
692 GetProperty(TextEditor.Property.CURSOR_WIDTH).Get(out temp);
697 SetProperty(TextEditor.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
702 /// GrabHandleImage property.
704 public string GrabHandleImage
709 GetProperty(TextEditor.Property.GRAB_HANDLE_IMAGE).Get(out temp);
714 SetProperty(TextEditor.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
719 /// GrabHandlePressedImage property.
721 public string GrabHandlePressedImage
726 GetProperty(TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
731 SetProperty(TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
736 /// SelectionHandleImageLeft property.
738 public PropertyMap SelectionHandleImageLeft
742 PropertyMap temp = new PropertyMap();
743 GetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
748 SetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
753 /// SelectionHandleImageRight property.
755 public PropertyMap SelectionHandleImageRight
759 PropertyMap temp = new PropertyMap();
760 GetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
765 SetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
770 /// SelectionHandlePressedImageLeft property.
772 public PropertyMap SelectionHandlePressedImageLeft
776 PropertyMap temp = new PropertyMap();
777 GetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
782 SetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
787 /// SelectionHandlePressedImageRight property.
789 public PropertyMap SelectionHandlePressedImageRight
793 PropertyMap temp = new PropertyMap();
794 GetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
799 SetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
804 /// SelectionHandleMarkerImageLeft property.
806 public PropertyMap SelectionHandleMarkerImageLeft
810 PropertyMap temp = new PropertyMap();
811 GetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
816 SetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
821 /// SelectionHandleMarkerImageRight property.
823 public PropertyMap SelectionHandleMarkerImageRight
827 PropertyMap temp = new PropertyMap();
828 GetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
833 SetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
838 /// SelectionHighlightColor property.
840 public Vector4 SelectionHighlightColor
844 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
845 GetProperty(TextEditor.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
850 SetProperty(TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
855 /// DecorationBoundingBox property.
857 public Rectangle DecorationBoundingBox
861 Rectangle temp = new Rectangle(0, 0, 0, 0);
862 GetProperty(TextEditor.Property.DECORATION_BOUNDING_BOX).Get(temp);
867 SetProperty(TextEditor.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
872 /// EnableMarkup property.
874 public bool EnableMarkup
879 GetProperty(TextEditor.Property.ENABLE_MARKUP).Get(out temp);
884 SetProperty(TextEditor.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
889 /// InputColor property.
891 public Vector4 InputColor
895 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
896 GetProperty(TextEditor.Property.INPUT_COLOR).Get(temp);
901 SetProperty(TextEditor.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
906 /// InputFontFamily property.
908 public string InputFontFamily
913 GetProperty(TextEditor.Property.INPUT_FONT_FAMILY).Get(out temp);
918 SetProperty(TextEditor.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
923 /// InputFontStyle property.
925 public PropertyMap InputFontStyle
929 PropertyMap temp = new PropertyMap();
930 GetProperty(TextEditor.Property.INPUT_FONT_STYLE).Get(temp);
935 SetProperty(TextEditor.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
940 /// InputPointSize property.
942 public float InputPointSize
947 GetProperty(TextEditor.Property.INPUT_POINT_SIZE).Get(out temp);
952 SetProperty(TextEditor.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
957 /// LineSpacing property.
959 public float LineSpacing
964 GetProperty(TextEditor.Property.LINE_SPACING).Get(out temp);
969 SetProperty(TextEditor.Property.LINE_SPACING, new Tizen.NUI.PropertyValue(value));
974 /// InputLineSpacing property.
976 public float InputLineSpacing
981 GetProperty(TextEditor.Property.INPUT_LINE_SPACING).Get(out temp);
986 SetProperty(TextEditor.Property.INPUT_LINE_SPACING, new Tizen.NUI.PropertyValue(value));
991 /// Underline property.
993 public PropertyMap Underline
997 PropertyMap temp = new PropertyMap();
998 GetProperty(TextEditor.Property.UNDERLINE).Get(temp);
1003 SetProperty(TextEditor.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
1008 /// InputUnderline property.
1010 public string InputUnderline
1015 GetProperty(TextEditor.Property.INPUT_UNDERLINE).Get(out temp);
1020 SetProperty(TextEditor.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
1025 /// Shadow property.
1027 public PropertyMap Shadow
1031 PropertyMap temp = new PropertyMap();
1032 GetProperty(TextEditor.Property.SHADOW).Get(temp);
1037 SetProperty(TextEditor.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
1042 /// InputShadow property.
1044 public string InputShadow
1049 GetProperty(TextEditor.Property.INPUT_SHADOW).Get(out temp);
1054 SetProperty(TextEditor.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
1059 /// Emboss property.
1061 public string Emboss
1066 GetProperty(TextEditor.Property.EMBOSS).Get(out temp);
1071 SetProperty(TextEditor.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
1076 /// InputEmboss property.
1078 public string InputEmboss
1083 GetProperty(TextEditor.Property.INPUT_EMBOSS).Get(out temp);
1088 SetProperty(TextEditor.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
1093 /// Outline property.
1095 public string Outline
1100 GetProperty(TextEditor.Property.OUTLINE).Get(out temp);
1105 SetProperty(TextEditor.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
1110 /// InputOutline property.
1112 public string InputOutline
1117 GetProperty(TextEditor.Property.INPUT_OUTLINE).Get(out temp);
1122 SetProperty(TextEditor.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
1127 /// SmoothScroll property.
1129 public bool SmoothScroll
1134 GetProperty(TextEditor.Property.SMOOTH_SCROLL).Get(out temp);
1139 SetProperty(TextEditor.Property.SMOOTH_SCROLL, new Tizen.NUI.PropertyValue(value));
1144 /// SmoothScrollDuration property.
1146 public float SmoothScrollDuration
1151 GetProperty(TextEditor.Property.SMOOTH_SCROLL_DURATION).Get(out temp);
1156 SetProperty(TextEditor.Property.SMOOTH_SCROLL_DURATION, new Tizen.NUI.PropertyValue(value));
1161 /// EnableScrollBar property.
1163 public bool EnableScrollBar
1168 GetProperty(TextEditor.Property.ENABLE_SCROLL_BAR).Get(out temp);
1173 SetProperty(TextEditor.Property.ENABLE_SCROLL_BAR, new Tizen.NUI.PropertyValue(value));
1178 /// ScrollBarShowDuration property.
1180 public float ScrollBarShowDuration
1185 GetProperty(TextEditor.Property.SCROLL_BAR_SHOW_DURATION).Get(out temp);
1190 SetProperty(TextEditor.Property.SCROLL_BAR_SHOW_DURATION, new Tizen.NUI.PropertyValue(value));
1195 /// ScrollBarFadeDuration property.
1197 public float ScrollBarFadeDuration
1202 GetProperty(TextEditor.Property.SCROLL_BAR_FADE_DURATION).Get(out temp);
1207 SetProperty(TextEditor.Property.SCROLL_BAR_FADE_DURATION, new Tizen.NUI.PropertyValue(value));
1212 /// PixelSize property.
1214 public float PixelSize
1219 GetProperty(TextEditor.Property.PIXEL_SIZE).Get(out temp);
1224 SetProperty(TextEditor.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue(value));
1229 /// The line count of text.
1231 public int LineCount
1236 GetProperty(TextEditor.Property.LINE_COUNT).Get(out temp);
1242 /// The text to display when the TextEditor is empty and inactive.
1244 public string PlaceholderText
1249 GetProperty(TextEditor.Property.PLACEHOLDER_TEXT).Get(out temp);
1254 SetProperty(TextEditor.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue(value));
1259 /// The placeholder-text color.
1261 public Color PlaceholderTextColor
1265 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
1266 GetProperty(TextEditor.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
1271 SetProperty(TextEditor.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
1276 /// Enable selection property.
1278 public bool EnableSelection
1283 GetProperty(TextEditor.Property.ENABLE_SELECTION).Get(out temp);
1288 SetProperty(TextEditor.Property.ENABLE_SELECTION, new Tizen.NUI.PropertyValue(value));
1293 /// Placeholder property.
1294 /// Gets/Sets the placeholder : text, color, font family, font style, point size, and pixel size.
1297 /// The following example demonstrates how to set the placeholder property.
1299 /// PropertyMap propertyMap = new PropertyMap();
1300 /// propertyMap.Add("placeholderText", new PropertyValue("Setting Placeholder Text"));
1301 /// propertyMap.Add("placeholderTextFocused", new PropertyValue("Setting Placeholder Text Focused"));
1302 /// propertyMap.Add("placeholderColor", new PropertyValue(Color.Red));
1303 /// propertyMap.Add("placeholderFontFamily", new PropertyValue("Arial"));
1304 /// propertyMap.Add("placeholderPointSize", new PropertyValue(12.0f));
1306 /// PropertyMap fontStyleMap = new PropertyMap();
1307 /// fontStyleMap.Add("weight", new PropertyValue("bold"));
1308 /// fontStyleMap.Add("width", new PropertyValue("condensed"));
1309 /// fontStyleMap.Add("slant", new PropertyValue("italic"));
1310 /// propertyMap.Add("placeholderFontStyle", new PropertyValue(fontStyleMap));
1312 /// TextEditor editor = new TextEditor();
1313 /// editor.Placeholder = propertyMap;
1316 public Tizen.NUI.PropertyMap Placeholder
1320 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
1321 GetProperty(TextEditor.Property.PLACEHOLDER).Get(temp);
1326 SetProperty(TextEditor.Property.PLACEHOLDER, new Tizen.NUI.PropertyValue(value));
1331 /// LineWrapMode property.<br>
1332 /// line wrap mode when the text lines over layout width.<br>
1334 public LineWrapMode LineWrapMode
1339 if(GetProperty(TextEditor.Property.LINE_WRAP_MODE).Get(out temp) == false)
1341 NUILog.Error("LineWrapMode get error!");
1346 return LineWrapMode.Word;
1348 return LineWrapMode.Character;
1350 return LineWrapMode.Word;
1358 case LineWrapMode.Word:
1363 case LineWrapMode.Character:
1369 SetProperty(TextEditor.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue(temp));