2 * Copyright(c) 2021 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.
18 extern alias TizenSystemSettings;
19 using TizenSystemSettings.Tizen.System;
22 using System.Globalization;
23 using System.ComponentModel;
26 namespace Tizen.NUI.BaseComponents
29 /// A control which provides a multi-line editable text editor.
31 /// <since_tizen> 3 </since_tizen>
32 public partial class TextEditor : View
34 private string textEditorTextSid = null;
35 private string textEditorPlaceHolderTextSid = null;
36 private bool systemlangTextFlag = false;
37 private InputMethodContext inputMethodContext = null;
38 private float fontSizeScale = 1.0f;
39 private bool hasFontSizeChangedCallback = false;
41 static TextEditor() { }
44 /// Creates the TextEditor control.
46 /// <since_tizen> 3 </since_tizen>
47 public TextEditor() : this(Interop.TextEditor.New(), true)
49 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
53 /// Creates the TextEditor with specified style.
55 [EditorBrowsable(EditorBrowsableState.Never)]
56 public TextEditor(TextEditorStyle style) : this(Interop.TextLabel.New(), true, style: style)
61 /// Creates the TextEditor with setting the status of shown or hidden.
63 /// <param name="shown">false : Not displayed (hidden), true : displayed (shown)</param>
64 /// This will be public opened in next release of tizen after ACR done. Before ACR, it is used as HiddenAPI (InhouseAPI).
65 [EditorBrowsable(EditorBrowsableState.Never)]
66 public TextEditor(bool shown) : this(Interop.TextEditor.New(), true)
68 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
72 internal TextEditor(TextEditor handle, bool shown = true) : this(Interop.TextEditor.NewTextEditor(TextEditor.getCPtr(handle)), true)
74 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
82 internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn, bool shown = true, TextEditorStyle style = null) : base(cPtr, cMemoryOwn, style)
91 /// The TranslatableText property.<br />
92 /// The text can set the SID value.<br />
94 /// <exception cref='ArgumentNullException'>
95 /// ResourceManager about multilingual is null.
97 /// <since_tizen> 4 </since_tizen>
98 public string TranslatableText
102 return textEditorTextSid;
106 if (NUIApplication.MultilingualResourceManager == null)
108 throw new ArgumentNullException(null, "ResourceManager about multilingual is null");
110 textEditorTextSid = value;
111 Text = SetTranslatable(textEditorTextSid);
112 NotifyPropertyChanged();
116 /// The TranslatablePlaceholderText property.<br />
117 /// The text can set the SID value.<br />
119 /// <exception cref='ArgumentNullException'>
120 /// ResourceManager about multilingual is null.
122 /// <since_tizen> 4 </since_tizen>
123 public string TranslatablePlaceholderText
127 return textEditorPlaceHolderTextSid;
131 if (NUIApplication.MultilingualResourceManager == null)
133 throw new ArgumentNullException(null, "ResourceManager about multilingual is null");
135 textEditorPlaceHolderTextSid = value;
136 PlaceholderText = SetTranslatable(textEditorPlaceHolderTextSid);
137 NotifyPropertyChanged();
142 /// The Text property.
144 /// <since_tizen> 3 </since_tizen>
149 return (string)GetValue(TextProperty);
153 SetValueAndForceSendChangeSignal(TextProperty, value);
154 NotifyPropertyChanged();
159 /// The TextColor property.
162 /// The property cascade chaining set is possible. For example, this (textEditor.TextColor.X = 0.1f;) is possible.
164 /// <since_tizen> 3 </since_tizen>
165 public Vector4 TextColor
169 Vector4 temp = (Vector4)GetValue(TextColorProperty);
170 return new Vector4(OnTextColorChanged, temp.X, temp.Y, temp.Z, temp.W);
174 SetValue(TextColorProperty, value);
175 NotifyPropertyChanged();
180 /// The FontFamily property.
182 /// <since_tizen> 3 </since_tizen>
183 public string FontFamily
187 return (string)GetValue(FontFamilyProperty);
191 SetValue(FontFamilyProperty, value);
192 NotifyPropertyChanged();
197 /// The FontStyle property.
198 /// The fontStyle map contains the following keys :<br />
199 /// <list type="table">
200 /// <item><term>width (string)</term><description>The width key defines occupied by each glyph. (values: ultraCondensed, extraCondensed, condensed, semiCondensed, normal, semiExpanded, expanded, extraExpanded, ultraExpanded)</description></item>
201 /// <item><term>weight (string)</term><description>The weight key defines the thickness or darkness of the glyphs. (values: thin, ultraLight, extraLight, light, demiLight, semiLight, book, normal, regular, medium, demiBold, semiBold, bold, ultraBold, extraBold, black, heavy, extraBlack)</description></item>
202 /// <item><term>slant (string)</term><description>The slant key defines whether to use italics. (values: normal, roman, italic, oblique)</description></item>
205 /// <since_tizen> 3 </since_tizen>
206 public PropertyMap FontStyle
210 return (PropertyMap)GetValue(FontStyleProperty);
214 SetValue(FontStyleProperty, value);
215 NotifyPropertyChanged();
220 /// Set FontStyle to TextEditor. <br />
222 /// <param name="fontStyle">The FontStyle</param>
224 /// SetFontStyle specifies the requested font style through <see cref="Tizen.NUI.Text.FontStyle"/>. <br />
227 /// The following example demonstrates how to use the SetFontStyle method.
229 /// var fontStyle = new Tizen.NUI.Text.FontStyle();
230 /// fontStyle.Width = FontWidthType.Expanded;
231 /// fontStyle.Weight = FontWeightType.Bold;
232 /// fontStyle.Slant = FontSlantType.Italic;
233 /// editor.SetFontStyle(fontStyle);
236 [EditorBrowsable(EditorBrowsableState.Never)]
237 public void SetFontStyle(FontStyle fontStyle)
239 SetProperty(TextEditor.Property.FontStyle, new PropertyValue(TextUtils.GetFontStyleMap(fontStyle)));
243 /// Get FontStyle from TextEditor. <br />
245 /// <returns>The FontStyle</returns>
247 /// <see cref="Tizen.NUI.Text.FontStyle"/>
249 [EditorBrowsable(EditorBrowsableState.Never)]
250 public FontStyle GetFontStyle()
252 var map = new PropertyMap();
253 GetProperty(TextEditor.Property.FontStyle).Get(map);
254 return TextUtils.GetFontStyleStruct(map);
258 /// The PointSize property.
260 /// <since_tizen> 3 </since_tizen>
261 public float PointSize
265 return (float)GetValue(PointSizeProperty);
269 SetValue(PointSizeProperty, value);
270 NotifyPropertyChanged();
275 /// The HorizontalAlignment property.
277 /// <since_tizen> 3 </since_tizen>
278 public HorizontalAlignment HorizontalAlignment
282 return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty);
286 SetValue(HorizontalAlignmentProperty, value);
287 NotifyPropertyChanged();
292 /// The ScrollThreshold property.
294 /// <since_tizen> 3 </since_tizen>
295 public float ScrollThreshold
299 return (float)GetValue(ScrollThresholdProperty);
303 SetValue(ScrollThresholdProperty, value);
304 NotifyPropertyChanged();
309 /// The ScrollSpeed property.
311 /// <since_tizen> 3 </since_tizen>
312 public float ScrollSpeed
316 return (float)GetValue(ScrollSpeedProperty);
320 SetValue(ScrollSpeedProperty, value);
321 NotifyPropertyChanged();
326 /// The PrimaryCursorColor property.
329 /// The property cascade chaining set is possible. For example, this (textEditor.PrimaryCursorColor.X = 0.1f;) is possible.
331 /// <since_tizen> 3 </since_tizen>
332 public Vector4 PrimaryCursorColor
336 Vector4 temp = (Vector4)GetValue(PrimaryCursorColorProperty);
337 return new Vector4(OnPrimaryCursorColorChanged, temp.X, temp.Y, temp.Z, temp.W);
341 SetValue(PrimaryCursorColorProperty, value);
342 NotifyPropertyChanged();
347 /// The SecondaryCursorColor property.
350 /// The property cascade chaining set is possible. For example, this (textEditor.SecondaryCursorColor.X = 0.1f;) is possible.
352 /// <since_tizen> 3 </since_tizen>
353 public Vector4 SecondaryCursorColor
357 Vector4 temp = (Vector4)GetValue(SecondaryCursorColorProperty);
358 return new Vector4(OnSecondaryCursorColorChanged, temp.X, temp.Y, temp.Z, temp.W);
362 SetValue(SecondaryCursorColorProperty, value);
363 NotifyPropertyChanged();
368 /// The EnableCursorBlink property.
370 /// <since_tizen> 3 </since_tizen>
371 public bool EnableCursorBlink
375 return (bool)GetValue(EnableCursorBlinkProperty);
379 SetValue(EnableCursorBlinkProperty, value);
380 NotifyPropertyChanged();
385 /// The CursorBlinkInterval property.
387 /// <since_tizen> 3 </since_tizen>
388 public float CursorBlinkInterval
392 return (float)GetValue(CursorBlinkIntervalProperty);
396 SetValue(CursorBlinkIntervalProperty, value);
397 NotifyPropertyChanged();
402 /// The CursorBlinkDuration property.
404 /// <since_tizen> 3 </since_tizen>
405 public float CursorBlinkDuration
409 return (float)GetValue(CursorBlinkDurationProperty);
413 SetValue(CursorBlinkDurationProperty, value);
414 NotifyPropertyChanged();
419 /// The CursorWidth property.
421 /// <since_tizen> 3 </since_tizen>
422 public int CursorWidth
426 return (int)GetValue(CursorWidthProperty);
430 SetValue(CursorWidthProperty, value);
431 NotifyPropertyChanged();
436 /// The GrabHandleImage property.
438 /// <since_tizen> 3 </since_tizen>
439 public string GrabHandleImage
443 return (string)GetValue(GrabHandleImageProperty);
447 SetValue(GrabHandleImageProperty, value);
448 NotifyPropertyChanged();
453 /// The GrabHandlePressedImage property.
455 /// <since_tizen> 3 </since_tizen>
456 public string GrabHandlePressedImage
460 return (string)GetValue(GrabHandlePressedImageProperty);
464 SetValue(GrabHandlePressedImageProperty, value);
465 NotifyPropertyChanged();
470 /// The SelectionHandleImageLeft property.
471 /// The selectionHandleImageLeft map contains the following key :<br />
472 /// <list type="table">
473 /// <item><term>filename (string)</term><description>The path of image file</description></item>
476 /// <since_tizen> 3 </since_tizen>
477 public PropertyMap SelectionHandleImageLeft
481 return (PropertyMap)GetValue(SelectionHandleImageLeftProperty);
485 SetValue(SelectionHandleImageLeftProperty, value);
486 NotifyPropertyChanged();
491 /// The SelectionHandleImageRight property.
492 /// The selectionHandleImageRight map contains the following key :<br />
493 /// <list type="table">
494 /// <item><term>filename (string)</term><description>The path of image file</description></item>
497 /// <since_tizen> 3 </since_tizen>
498 public PropertyMap SelectionHandleImageRight
502 return (PropertyMap)GetValue(SelectionHandleImageRightProperty);
506 SetValue(SelectionHandleImageRightProperty, value);
507 NotifyPropertyChanged();
512 /// The SelectionHandlePressedImageLeft property.
513 /// The selectionHandlePressedImageLeft map contains the following key :<br />
514 /// <list type="table">
515 /// <item><term>filename (string)</term><description>The path of image file</description></item>
518 /// <since_tizen> 3 </since_tizen>
519 public PropertyMap SelectionHandlePressedImageLeft
523 return (PropertyMap)GetValue(SelectionHandlePressedImageLeftProperty);
527 SetValue(SelectionHandlePressedImageLeftProperty, value);
528 NotifyPropertyChanged();
533 /// The SelectionHandlePressedImageRight property.
534 /// The selectionHandlePressedImageRight map contains the following key :<br />
535 /// <list type="table">
536 /// <item><term>filename (string)</term><description>The path of image file</description></item>
539 /// <since_tizen> 3 </since_tizen>
540 public PropertyMap SelectionHandlePressedImageRight
544 return (PropertyMap)GetValue(SelectionHandlePressedImageRightProperty);
548 SetValue(SelectionHandlePressedImageRightProperty, value);
549 NotifyPropertyChanged();
554 /// The SelectionHandleMarkerImageLeft property.
555 /// The selectionHandleMarkerImageLeft map contains the following key :<br />
556 /// <list type="table">
557 /// <item><term>filename (string)</term><description>The path of image file</description></item>
560 /// <since_tizen> 3 </since_tizen>
561 public PropertyMap SelectionHandleMarkerImageLeft
565 return (PropertyMap)GetValue(SelectionHandleMarkerImageLeftProperty);
569 SetValue(SelectionHandleMarkerImageLeftProperty, value);
570 NotifyPropertyChanged();
575 /// The SelectionHandleMarkerImageRight property.
576 /// The selectionHandleMarkerImageRight map contains the following key :<br />
577 /// <list type="table">
578 /// <item><term>filename (string)</term><description>The path of image file</description></item>
581 /// <since_tizen> 3 </since_tizen>
582 public PropertyMap SelectionHandleMarkerImageRight
586 return (PropertyMap)GetValue(SelectionHandleMarkerImageRightProperty);
590 SetValue(SelectionHandleMarkerImageRightProperty, value);
591 NotifyPropertyChanged();
596 /// The SelectionHighlightColor property.
599 /// The property cascade chaining set is possible. For example, this (textEditor.SelectionHighlightColor.X = 0.1f;) is possible.
601 /// <since_tizen> 3 </since_tizen>
602 public Vector4 SelectionHighlightColor
606 Vector4 temp = (Vector4)GetValue(SelectionHighlightColorProperty);
607 return new Vector4(OnSelectionHighlightColorChanged, temp.X, temp.Y, temp.Z, temp.W);
611 SetValue(SelectionHighlightColorProperty, value);
612 NotifyPropertyChanged();
617 /// The DecorationBoundingBox property.
620 /// The property cascade chaining set is possible. For example, this (textEditor.DecorationBoundingBox.X = 1;) is possible.
622 /// <since_tizen> 3 </since_tizen>
623 public Rectangle DecorationBoundingBox
627 Rectangle temp = (Rectangle)GetValue(DecorationBoundingBoxProperty);
628 return new Rectangle(OnDecorationBoundingBoxChanged, temp.X, temp.Y, temp.Width, temp.Height);
632 SetValue(DecorationBoundingBoxProperty, value);
633 NotifyPropertyChanged();
638 /// The EnableMarkup property.
640 /// <since_tizen> 3 </since_tizen>
641 public bool EnableMarkup
645 return (bool)GetValue(EnableMarkupProperty);
649 SetValue(EnableMarkupProperty, value);
650 NotifyPropertyChanged();
655 /// The InputColor property.
658 /// The property cascade chaining set is possible. For example, this (textEditor.InputColor.X = 0.1f;) is possible.
660 /// <since_tizen> 3 </since_tizen>
661 public Vector4 InputColor
665 Vector4 temp = (Vector4)GetValue(InputColorProperty);
666 return new Vector4(OnInputColorChanged, temp.X, temp.Y, temp.Z, temp.W);
670 SetValue(InputColorProperty, value);
671 NotifyPropertyChanged();
676 /// The InputFontFamily property.
678 /// <since_tizen> 3 </since_tizen>
679 public string InputFontFamily
683 return (string)GetValue(InputFontFamilyProperty);
687 SetValue(InputFontFamilyProperty, value);
688 NotifyPropertyChanged();
693 /// The InputFontStyle property.
694 /// The inputFontStyle map contains the following keys :<br />
695 /// <list type="table">
696 /// <item><term>width (string)</term><description>The width key defines occupied by each glyph. (values: ultraCondensed, extraCondensed, condensed, semiCondensed, normal, semiExpanded, expanded, extraExpanded, ultraExpanded)</description></item>
697 /// <item><term>weight (string)</term><description>The weight key defines the thickness or darkness of the glyphs. (values: thin, ultraLight, extraLight, light, demiLight, semiLight, book, normal, regular, medium, demiBold, semiBold, bold, ultraBold, extraBold, black, heavy, extraBlack)</description></item>
698 /// <item><term>slant (string)</term><description>The slant key defines whether to use italics. (values: normal, roman, italic, oblique)</description></item>
701 /// <since_tizen> 3 </since_tizen>
702 public PropertyMap InputFontStyle
706 return (PropertyMap)GetValue(InputFontStyleProperty);
710 SetValue(InputFontStyleProperty, value);
711 NotifyPropertyChanged();
716 /// Set InputFontStyle to TextEditor. <br />
718 /// <param name="fontStyle">The FontStyle</param>
720 /// SetInputFontStyle specifies the requested font style for new input text through <see cref="Tizen.NUI.Text.FontStyle"/>. <br />
723 /// The following example demonstrates how to use the SetInputFontStyle method.
725 /// var fontStyle = new Tizen.NUI.Text.FontStyle();
726 /// fontStyle.Width = FontWidthType.Expanded;
727 /// fontStyle.Weight = FontWeightType.Bold;
728 /// fontStyle.Slant = FontSlantType.Italic;
729 /// editor.SetInputFontStyle(fontStyle);
732 [EditorBrowsable(EditorBrowsableState.Never)]
733 public void SetInputFontStyle(FontStyle fontStyle)
735 SetProperty(TextEditor.Property.InputFontStyle, new PropertyValue(TextUtils.GetFontStyleMap(fontStyle)));
736 NotifyPropertyChanged();
740 /// Get InputFontStyle from TextEditor. <br />
742 /// <returns>The FontStyle</returns>
744 /// <see cref="Tizen.NUI.Text.FontStyle"/>
746 [EditorBrowsable(EditorBrowsableState.Never)]
747 public FontStyle GetInputFontStyle()
749 var map = new PropertyMap();
750 GetProperty(TextEditor.Property.InputFontStyle).Get(map);
751 return TextUtils.GetFontStyleStruct(map);
755 /// The InputPointSize property.
757 /// <since_tizen> 3 </since_tizen>
758 public float InputPointSize
762 return (float)GetValue(InputPointSizeProperty);
766 SetValue(InputPointSizeProperty, value);
767 NotifyPropertyChanged();
772 /// The LineSpacing property.
774 /// <since_tizen> 3 </since_tizen>
775 public float LineSpacing
779 return (float)GetValue(LineSpacingProperty);
783 SetValue(LineSpacingProperty, value);
784 NotifyPropertyChanged();
789 /// The InputLineSpacing property.
791 /// <since_tizen> 3 </since_tizen>
792 public float InputLineSpacing
796 return (float)GetValue(InputLineSpacingProperty);
800 SetValue(InputLineSpacingProperty, value);
801 NotifyPropertyChanged();
806 /// The Underline property.
807 /// The underline map contains the following keys :<br />
808 /// <list type="table">
809 /// <item><term>enable (bool)</term><description>Whether the underline is enabled (the default value is false)</description></item>
810 /// <item><term>color (Color)</term><description>The color of the underline (If not provided then the color of the text is used)</description></item>
811 /// <item><term>height (float)</term><description>The height in pixels of the underline (the default value is 1.f)</description></item>
814 /// <since_tizen> 3 </since_tizen>
815 public PropertyMap Underline
819 return (PropertyMap)GetValue(UnderlineProperty);
823 SetValue(UnderlineProperty, value);
824 NotifyPropertyChanged();
829 /// Set Underline to TextEditor. <br />
831 /// <param name="underline">The Underline</param>
833 /// SetUnderline specifies the underline of the text through <see cref="Tizen.NUI.Text.Underline"/>. <br />
836 /// The following example demonstrates how to use the SetUnderline method.
838 /// var underline = new Tizen.NUI.Text.Underline();
839 /// underline.Enable = true;
840 /// underline.Color = new Color("#3498DB");
841 /// underline.Height = 2.0f;
842 /// editor.SetUnderline(underline);
845 [EditorBrowsable(EditorBrowsableState.Never)]
846 public void SetUnderline(Underline underline)
848 SetProperty(TextEditor.Property.UNDERLINE, new PropertyValue(TextUtils.GetUnderlineMap(underline)));
852 /// Get Underline from TextEditor. <br />
854 /// <returns>The Underline</returns>
856 /// <see cref="Tizen.NUI.Text.Underline"/>
858 [EditorBrowsable(EditorBrowsableState.Never)]
859 public Underline GetUnderline()
861 var map = new PropertyMap();
862 GetProperty(TextEditor.Property.UNDERLINE).Get(map);
863 return TextUtils.GetUnderlineStruct(map);
867 /// The InputUnderline property.
869 /// <since_tizen> 3 </since_tizen>
870 public string InputUnderline
874 return (string)GetValue(InputUnderlineProperty);
878 SetValue(InputUnderlineProperty, value);
879 NotifyPropertyChanged();
884 /// The Shadow property.
885 /// The shadow map contains the following keys :<br />
886 /// <list type="table">
887 /// <item><term>color (Color)</term><description>The color of the shadow (the default color is Color.Black)</description></item>
888 /// <item><term>offset (Vector2)</term><description>The offset in pixels of the shadow (If not provided then the shadow is not enabled)</description></item>
889 /// <item><term>blurRadius (float)</term><description>The radius of the Gaussian blur for the soft shadow (If not provided then the soft shadow is not enabled)</description></item>
892 /// <since_tizen> 3 </since_tizen>
893 public PropertyMap Shadow
897 return (PropertyMap)GetValue(ShadowProperty);
901 SetValue(ShadowProperty, value);
902 NotifyPropertyChanged();
907 /// The InputShadow property.
909 /// <since_tizen> 3 </since_tizen>
910 public string InputShadow
914 return (string)GetValue(InputShadowProperty);
918 SetValue(InputShadowProperty, value);
919 NotifyPropertyChanged();
924 /// The Emboss property.
926 /// <since_tizen> 3 </since_tizen>
931 return (string)GetValue(EmbossProperty);
935 SetValue(EmbossProperty, value);
936 NotifyPropertyChanged();
941 /// The InputEmboss property.
943 /// <since_tizen> 3 </since_tizen>
944 public string InputEmboss
948 return (string)GetValue(InputEmbossProperty);
952 SetValue(InputEmbossProperty, value);
953 NotifyPropertyChanged();
958 /// The Outline property.
959 /// The outline map contains the following keys :<br />
960 /// <list type="table">
961 /// <item><term>color (Color)</term><description>The color of the outline (the default color is Color.White)</description></item>
962 /// <item><term>width (float)</term><description>The width in pixels of the outline (If not provided then the outline is not enabled)</description></item>
965 /// <since_tizen> 3 </since_tizen>
966 public PropertyMap Outline
970 return (PropertyMap)GetValue(OutlineProperty);
974 SetValue(OutlineProperty, value);
975 NotifyPropertyChanged();
980 /// The InputOutline property.
982 /// <since_tizen> 3 </since_tizen>
983 public string InputOutline
987 return (string)GetValue(InputOutlineProperty);
991 SetValue(InputOutlineProperty, value);
992 NotifyPropertyChanged();
997 /// The SmoothScroll property.
999 /// <since_tizen> 3 </since_tizen>
1000 public bool SmoothScroll
1004 return (bool)GetValue(SmoothScrollProperty);
1008 SetValue(SmoothScrollProperty, value);
1009 NotifyPropertyChanged();
1014 /// The SmoothScrollDuration property.
1016 /// <since_tizen> 3 </since_tizen>
1017 public float SmoothScrollDuration
1021 return (float)GetValue(SmoothScrollDurationProperty);
1025 SetValue(SmoothScrollDurationProperty, value);
1026 NotifyPropertyChanged();
1031 /// The EnableScrollBar property.
1033 /// <since_tizen> 3 </since_tizen>
1034 public bool EnableScrollBar
1038 return (bool)GetValue(EnableScrollBarProperty);
1042 SetValue(EnableScrollBarProperty, value);
1043 NotifyPropertyChanged();
1048 /// The ScrollBarShowDuration property.
1050 /// <since_tizen> 3 </since_tizen>
1051 public float ScrollBarShowDuration
1055 return (float)GetValue(ScrollBarShowDurationProperty);
1059 SetValue(ScrollBarShowDurationProperty, value);
1060 NotifyPropertyChanged();
1065 /// The ScrollBarFadeDuration property.
1067 /// <since_tizen> 3 </since_tizen>
1068 public float ScrollBarFadeDuration
1072 return (float)GetValue(ScrollBarFadeDurationProperty);
1076 SetValue(ScrollBarFadeDurationProperty, value);
1077 NotifyPropertyChanged();
1082 /// The PixelSize property.
1084 /// <since_tizen> 3 </since_tizen>
1085 public float PixelSize
1089 return (float)GetValue(PixelSizeProperty);
1093 SetValue(PixelSizeProperty, value);
1094 NotifyPropertyChanged();
1099 /// The line count of the text.
1101 /// <since_tizen> 3 </since_tizen>
1102 public int LineCount
1107 GetProperty(TextEditor.Property.LineCount).Get(out temp);
1113 /// The text to display when the TextEditor is empty and inactive.
1115 /// <since_tizen> 3 </since_tizen>
1116 public string PlaceholderText
1120 return (string)GetValue(PlaceholderTextProperty);
1124 SetValue(PlaceholderTextProperty, value);
1125 NotifyPropertyChanged();
1130 /// The Selected Text property (read-only).
1132 [EditorBrowsable(EditorBrowsableState.Never)]
1133 public string SelectedText
1138 GetProperty(TextEditor.Property.SelectedText).Get(out temp);
1144 /// The Placeholder text color.
1147 /// The property cascade chaining set is possible. For example, this (textEditor.PlaceholderTextColor.X = 0.1f;) is possible.
1149 /// <since_tizen> 3 </since_tizen>
1150 public Color PlaceholderTextColor
1154 Color temp = (Color)GetValue(PlaceholderTextColorProperty);
1155 return new Color(OnPlaceholderTextColorChanged, temp.R, temp.G, temp.B, temp.A);
1159 SetValue(PlaceholderTextColorProperty, value);
1160 NotifyPropertyChanged();
1165 /// The EnableSelection property.
1167 /// <since_tizen> 3 </since_tizen>
1168 public bool EnableSelection
1172 return (bool)GetValue(EnableSelectionProperty);
1176 SetValue(EnableSelectionProperty, value);
1177 NotifyPropertyChanged();
1182 /// The start index for selection.
1184 /// <since_tizen> 8 </since_tizen>
1185 /// This will be public opened in tizen_6.0 after ACR done, Before ACR, need to be hidden as inhouse API.
1186 [EditorBrowsable(EditorBrowsableState.Never)]
1187 public int SelectedTextStart
1192 GetProperty(TextEditor.Property.SelectedTextStart).Get(out temp);
1197 SetProperty(TextEditor.Property.SelectedTextStart, new PropertyValue(value));
1198 NotifyPropertyChanged();
1203 /// The end index for selection.
1205 /// <since_tizen> 8 </since_tizen>
1206 /// This will be public opened in tizen_6.0 after ACR done, Before ACR, need to be hidden as inhouse API.
1207 [EditorBrowsable(EditorBrowsableState.Never)]
1208 public int SelectedTextEnd
1213 GetProperty(TextEditor.Property.SelectedTextEnd).Get(out temp);
1218 SetProperty(TextEditor.Property.SelectedTextEnd, new PropertyValue(value));
1219 NotifyPropertyChanged();
1224 /// Enable editing in text control.
1226 /// <since_tizen> 8 </since_tizen>
1227 /// This will be public opened in tizen_6.0 after ACR done, Before ACR, need to be hidden as inhouse API.
1228 [EditorBrowsable(EditorBrowsableState.Never)]
1229 public bool EnableEditing
1234 GetProperty(TextEditor.Property.EnableEditing).Get(out temp);
1239 SetProperty(TextEditor.Property.EnableEditing, new PropertyValue(value));
1240 NotifyPropertyChanged();
1245 /// Specify horizontal scroll position in text control.
1247 [EditorBrowsable(EditorBrowsableState.Never)]
1248 public int HorizontalScrollPosition
1253 using (PropertyValue propertyValue = GetProperty(TextEditor.Property.HorizontalScrollPosition))
1255 propertyValue.Get(out temp);
1261 using (PropertyValue propertyValue = new PropertyValue(value))
1263 SetProperty(TextEditor.Property.HorizontalScrollPosition, propertyValue);
1264 NotifyPropertyChanged();
1270 /// Specify vertical scroll position in text control.
1272 [EditorBrowsable(EditorBrowsableState.Never)]
1273 public int VerticalScrollPosition
1278 using (PropertyValue propertyValue = GetProperty(TextEditor.Property.VerticalScrollPosition))
1280 propertyValue.Get(out temp);
1286 using (PropertyValue propertyValue = new PropertyValue(value))
1288 SetProperty(TextEditor.Property.VerticalScrollPosition, propertyValue);
1289 NotifyPropertyChanged();
1295 /// Specify primary cursor (caret) position in text control.
1297 [EditorBrowsable(EditorBrowsableState.Never)]
1298 public int PrimaryCursorPosition
1303 using (PropertyValue propertyValue = GetProperty(TextEditor.Property.PrimaryCursorPosition))
1305 propertyValue.Get(out temp);
1311 using (PropertyValue propertyValue = new PropertyValue(value))
1313 SetProperty(TextEditor.Property.PrimaryCursorPosition, propertyValue);
1314 NotifyPropertyChanged();
1320 /// The GrabHandleColor property.
1323 /// The property cascade chaining set is possible. For example, this (textEditor.GrabHandleColor.X = 0.1f;) is possible.
1325 [EditorBrowsable(EditorBrowsableState.Never)]
1326 public Color GrabHandleColor
1330 Color temp = (Color)GetValue(GrabHandleColorProperty);
1331 return new Color(OnGrabHandleColorChanged, temp.R, temp.G, temp.B, temp.A);
1335 SetValue(GrabHandleColorProperty, value);
1336 NotifyPropertyChanged();
1341 /// Set InputFilter to TextEditor. <br />
1343 /// <param name="inputFilter">The InputFilter</param>
1345 /// <see cref="Tizen.NUI.Text.InputFilter"/> filters input based on regular expressions. <br />
1346 /// Users can set the Accepted or Rejected regular expression set, or both. <br />
1347 /// If both are used, Rejected has higher priority. <br />
1348 /// InputFiltered signal is emitted when the input is filtered by InputFilter <br />
1349 /// See <see cref="InputFiltered"/>, <see cref="InputFilterType"/> and <see cref="InputFilteredEventArgs"/> for a detailed description. <br />
1352 /// The following example demonstrates how to use the SetInputFilter method.
1354 /// Tizen.NUI.Text.InputFilter inputFilter;
1355 /// inputFilter.Accepted = new Regex(@"[\d]"); // accept whole digits
1356 /// inputFilter.Rejected = new Regex("[0-3]"); // reject 0, 1, 2, 3
1357 /// editor.SetInputFilter(inputFilter); // acceptable inputs are 4, 5, 6, 7, 8, 9
1360 [EditorBrowsable(EditorBrowsableState.Never)]
1361 public void SetInputFilter(InputFilter inputFilter)
1363 SetProperty(TextEditor.Property.InputFilter, new PropertyValue(TextUtils.GetInputFilterMap(inputFilter)));
1367 /// Get InputFilter from TextEditor. <br />
1369 /// <returns>The InputFilter</returns>
1371 /// <see cref="Tizen.NUI.Text.InputFilter"/>
1373 [EditorBrowsable(EditorBrowsableState.Never)]
1374 public InputFilter GetInputFilter()
1376 var map = new PropertyMap();
1377 GetProperty(TextEditor.Property.InputFilter).Get(map);
1378 return TextUtils.GetInputFilterStruct(map);
1382 /// The Placeholder property.
1383 /// The placeholder map contains the following keys :<br />
1384 /// <list type="table">
1385 /// <item><term>text (string)</term><description>The text to display when the TextEditor is empty and inactive</description></item>
1386 /// <item><term>textFocused (string)</term><description>The text to display when the placeholder has focus</description></item>
1387 /// <item><term>color (Color)</term><description>The color of the placeholder text</description></item>
1388 /// <item><term>fontFamily (string)</term><description>The fontFamily of the placeholder text</description></item>
1389 /// <item><term>fontStyle (PropertyMap)</term><description>The fontStyle of the placeholder text</description></item>
1390 /// <item><term>pointSize (float)</term><description>The pointSize of the placeholder text</description></item>
1391 /// <item><term>pixelSize (float)</term><description>The pixelSize of the placeholder text</description></item>
1392 /// <item><term>ellipsis (bool)</term><description>The ellipsis of the placeholder text</description></item>
1396 /// The following example demonstrates how to set the placeholder property.
1398 /// PropertyMap propertyMap = new PropertyMap();
1399 /// propertyMap.Add("text", new PropertyValue("Setting Placeholder Text"));
1400 /// propertyMap.Add("textFocused", new PropertyValue("Setting Placeholder Text Focused"));
1401 /// propertyMap.Add("color", new PropertyValue(Color.Red));
1402 /// propertyMap.Add("fontFamily", new PropertyValue("Arial"));
1403 /// propertyMap.Add("pointSize", new PropertyValue(12.0f));
1405 /// PropertyMap fontStyleMap = new PropertyMap();
1406 /// fontStyleMap.Add("weight", new PropertyValue("bold"));
1407 /// fontStyleMap.Add("width", new PropertyValue("condensed"));
1408 /// fontStyleMap.Add("slant", new PropertyValue("italic"));
1409 /// propertyMap.Add("fontStyle", new PropertyValue(fontStyleMap));
1411 /// TextEditor editor = new TextEditor();
1412 /// editor.Placeholder = propertyMap;
1415 /// <since_tizen> 3 </since_tizen>
1416 public Tizen.NUI.PropertyMap Placeholder
1420 PropertyMap map = (PropertyMap)GetValue(PlaceholderProperty);
1421 PropertyValue value = null;
1424 value = map.Find(0);
1427 value.Get(out string text);
1428 map.Add("text", new PropertyValue(text));
1432 value = map.Find(1);
1435 value.Get(out string textFocused);
1436 map.Add("textFocused", new PropertyValue(textFocused));
1440 value = map.Find(2);
1443 Color color = new Color();
1445 map.Add("color", new PropertyValue(color));
1449 value = map.Find(3);
1452 value.Get(out string fontFamily);
1453 map.Add("fontFamily", new PropertyValue(fontFamily));
1457 value = map.Find(4);
1460 PropertyMap fontStyle = new PropertyMap();
1461 value.Get(fontStyle);
1462 map.Add("fontStyle", new PropertyValue(fontStyle));
1466 value = map.Find(5);
1469 value.Get(out float pointSize);
1470 map.Add("pointSize", new PropertyValue(pointSize));
1474 value = map.Find(6);
1477 value.Get(out float pixelSize);
1478 map.Add("pixelSize", new PropertyValue(pixelSize));
1482 value = map.Find(7);
1485 value.Get(out bool ellipsis);
1486 map.Add("ellipsis", new PropertyValue(ellipsis));
1493 SetValue(PlaceholderProperty, value);
1494 NotifyPropertyChanged();
1499 /// The Ellipsis property.<br />
1500 /// Enable or disable the ellipsis.<br />
1502 [EditorBrowsable(EditorBrowsableState.Never)]
1503 public bool Ellipsis
1507 return (bool)GetValue(EllipsisProperty);
1511 SetValue(EllipsisProperty, value);
1512 NotifyPropertyChanged();
1518 /// The ellipsis position of the text.
1519 /// The ellipsis position type when the text size over the layout size.<br />
1520 /// The ellipsis position: End, Start or Middle.<br />
1522 [EditorBrowsable(EditorBrowsableState.Never)]
1523 public EllipsisPosition EllipsisPosition
1527 return (EllipsisPosition)GetValue(EllipsisPositionProperty);
1531 SetValue(EllipsisPositionProperty, value);
1532 NotifyPropertyChanged();
1537 /// The LineWrapMode property.<br />
1538 /// The line wrap mode when the text lines over the layout width.<br />
1540 /// <since_tizen> 4 </since_tizen>
1541 public LineWrapMode LineWrapMode
1545 return (LineWrapMode)GetValue(LineWrapModeProperty);
1549 SetValue(LineWrapModeProperty, value);
1550 NotifyPropertyChanged();
1555 /// Enables Text selection using Shift key.
1557 /// <since_tizen> 5 </since_tizen>
1558 /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
1559 [EditorBrowsable(EditorBrowsableState.Never)]
1560 public bool EnableShiftSelection
1564 return (bool)GetValue(EnableShiftSelectionProperty);
1568 SetValue(EnableShiftSelectionProperty, value);
1569 NotifyPropertyChanged();
1574 /// The text alignment to match the direction of the system language.
1576 /// <since_tizen> 6 </since_tizen>
1577 public bool MatchSystemLanguageDirection
1581 return (bool)GetValue(MatchSystemLanguageDirectionProperty);
1585 SetValue(MatchSystemLanguageDirectionProperty, value);
1586 NotifyPropertyChanged();
1591 /// The MaxLength property.
1593 /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
1594 [EditorBrowsable(EditorBrowsableState.Never)]
1595 public int MaxLength
1599 return (int)GetValue(MaxLengthProperty);
1603 SetValue(MaxLengthProperty, value);
1604 NotifyPropertyChanged();
1608 /// Only used by the IL of xaml, will never changed to not hidden.
1609 [EditorBrowsable(EditorBrowsableState.Never)]
1610 public override bool IsCreateByXaml
1614 return base.IsCreateByXaml;
1618 base.IsCreateByXaml = value;
1622 this.TextChanged += (obj, e) =>
1624 this.Text = e.TextEditor.Text;
1631 /// The FontSizeScale property. <br />
1632 /// The default value is 1.0. <br />
1633 /// If FontSizeScale.UseSystemSetting, will use the SystemSettings.FontSize internally. <br />
1635 /// <since_tizen> 9 </since_tizen>
1636 public float FontSizeScale
1640 return fontSizeScale;
1644 float newFontSizeScale;
1646 if (fontSizeScale == value) return;
1648 fontSizeScale = value;
1649 if (fontSizeScale == Tizen.NUI.FontSizeScale.UseSystemSetting)
1651 SystemSettingsFontSize systemSettingsFontSize;
1655 systemSettingsFontSize = SystemSettings.FontSize;
1659 Console.WriteLine("{0} Exception caught.", e);
1660 systemSettingsFontSize = SystemSettingsFontSize.Normal;
1662 newFontSizeScale = TextUtils.GetFontSizeScale(systemSettingsFontSize);
1663 addFontSizeChangedCallback();
1667 newFontSizeScale = fontSizeScale;
1668 removeFontSizeChangedCallback();
1671 SetValue(FontSizeScaleProperty, newFontSizeScale);
1672 NotifyPropertyChanged();
1677 /// The InputMethodSettings property.
1680 /// <see cref="InputMethod"/> is a class encapsulating the input method map. Please use the <see cref="InputMethod"/> class for this property.
1683 /// The following example demonstrates how to set the InputMethodSettings property.
1685 /// InputMethod method = new InputMethod();
1686 /// method.PanelLayout = InputMethod.PanelLayoutType.Normal;
1687 /// method.ActionButton = InputMethod.ActionButtonTitleType.Default;
1688 /// method.AutoCapital = InputMethod.AutoCapitalType.Word;
1689 /// method.Variation = 1;
1690 /// textEditor.InputMethodSettings = method.OutputMap;
1693 [EditorBrowsable(EditorBrowsableState.Never)]
1694 public PropertyMap InputMethodSettings
1698 return (PropertyMap)GetValue(InputMethodSettingsProperty);
1702 SetValue(InputMethodSettingsProperty, value);
1703 NotifyPropertyChanged();
1708 /// Scroll the text control by specific amount..
1710 /// <param name="scroll">The amount (in pixels) of scrolling in horizontal & vertical directions.</param>
1711 [EditorBrowsable(EditorBrowsableState.Never)]
1712 public void ScrollBy(Vector2 scroll)
1714 Interop.TextEditor.ScrollBy(SwigCPtr, Vector2.getCPtr(scroll));
1715 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1719 /// Get the InputMethodContext instance.
1721 /// <returns>The InputMethodContext instance.</returns>
1722 /// <since_tizen> 5 </since_tizen>
1723 public InputMethodContext GetInputMethodContext()
1725 if (inputMethodContext == null)
1727 /*Avoid raising InputMethodContext reference count.*/
1728 inputMethodContext = new InputMethodContext(Interop.TextEditor.GetInputMethodContext(SwigCPtr), true);
1729 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1731 return inputMethodContext;
1735 /// Select the whole text.
1737 [EditorBrowsable(EditorBrowsableState.Never)]
1738 public void SelectWholeText()
1740 Interop.TextEditor.SelectWholeText(SwigCPtr);
1741 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1745 /// Select text from start to end index.
1747 /// <param name="start">The start index for selection.</param>
1748 /// <param name="end">The end index for selection.</param>
1749 [EditorBrowsable(EditorBrowsableState.Never)]
1750 public void SelectText(uint start, uint end)
1752 Interop.TextEditor.SelectText(SwigCPtr, start, end);
1753 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1757 /// Clear selection of the text.
1759 [EditorBrowsable(EditorBrowsableState.Never)]
1760 public void SelectNone()
1762 _ = Interop.TextEditor.SelectNone(SwigCPtr);
1763 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1767 /// Enable grab handle property.
1769 [EditorBrowsable(EditorBrowsableState.Never)]
1770 public bool EnableGrabHandle
1774 return (bool)GetValue(EnableGrabHandleProperty);
1778 SetValue(EnableGrabHandleProperty, value);
1779 NotifyPropertyChanged();
1784 /// Enable grab handle popup property.
1786 [EditorBrowsable(EditorBrowsableState.Never)]
1787 public bool EnableGrabHandlePopup
1791 return (bool)GetValue(EnableGrabHandlePopupProperty);
1795 SetValue(EnableGrabHandlePopupProperty, value);
1796 NotifyPropertyChanged();
1800 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
1802 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.SwigCPtr;
1805 internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
1807 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(Interop.TextEditor.InputStyleChangedSignal(SwigCPtr));
1808 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
1815 /// <since_tizen> 3 </since_tizen>
1816 protected override void Dispose(DisposeTypes type)
1823 if (systemlangTextFlag)
1825 SystemSettings.LocaleLanguageChanged -= SystemSettings_LocaleLanguageChanged;
1828 removeFontSizeChangedCallback();
1830 //Release your own unmanaged resources here.
1831 //You should not access any managed member here except static instance.
1832 //because the execution order of Finalizes is non-deterministic.
1836 if (textEditorTextChangedCallbackDelegate != null)
1838 TextChangedSignal().Disconnect(textEditorTextChangedCallbackDelegate);
1841 if (textEditorMaxLengthReachedCallbackDelegate != null)
1843 this.MaxLengthReachedSignal().Disconnect(textEditorMaxLengthReachedCallbackDelegate);
1850 /// This will not be public opened.
1851 [EditorBrowsable(EditorBrowsableState.Never)]
1852 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
1854 // In order to speed up IME hide, temporarily add
1855 GetInputMethodContext()?.DestroyContext();
1856 Interop.TextEditor.DeleteTextEditor(swigCPtr);
1859 private string SetTranslatable(string textEditorSid)
1861 string translatableText = null;
1862 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textEditorSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
1863 if (translatableText != null)
1865 if (systemlangTextFlag == false)
1867 SystemSettings.LocaleLanguageChanged += SystemSettings_LocaleLanguageChanged;
1868 systemlangTextFlag = true;
1870 return translatableText;
1874 translatableText = "";
1875 return translatableText;
1879 private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
1881 if (textEditorTextSid != null)
1883 Text = NUIApplication.MultilingualResourceManager?.GetString(textEditorTextSid, new CultureInfo(e.Value.Replace("_", "-")));
1885 if (textEditorPlaceHolderTextSid != null)
1887 PlaceholderText = NUIApplication.MultilingualResourceManager?.GetString(textEditorPlaceHolderTextSid, new CultureInfo(e.Value.Replace("_", "-")));
1891 private void SystemSettingsFontSizeChanged(object sender, FontSizeChangedEventArgs e)
1893 float newFontSizeScale = TextUtils.GetFontSizeScale(e.Value);
1894 SetValue(FontSizeScaleProperty, newFontSizeScale);
1895 NotifyPropertyChanged();
1898 private void addFontSizeChangedCallback()
1900 if (hasFontSizeChangedCallback != true)
1904 SystemSettings.FontSizeChanged += SystemSettingsFontSizeChanged;
1905 hasFontSizeChangedCallback = true;
1909 Console.WriteLine("{0} Exception caught.", e);
1910 hasFontSizeChangedCallback = false;
1915 private void removeFontSizeChangedCallback()
1917 if (hasFontSizeChangedCallback == true)
1921 SystemSettings.FontSizeChanged -= SystemSettingsFontSizeChanged;
1922 hasFontSizeChangedCallback = false;
1926 Console.WriteLine("{0} Exception caught.", e);
1927 hasFontSizeChangedCallback = true;
1932 internal new class Property
1934 internal static readonly int TEXT = Interop.TextEditor.TextGet();
1935 internal static readonly int TextColor = Interop.TextEditor.TextColorGet();
1936 internal static readonly int FontFamily = Interop.TextEditor.FontFamilyGet();
1937 internal static readonly int FontStyle = Interop.TextEditor.FontStyleGet();
1938 internal static readonly int PointSize = Interop.TextEditor.PointSizeGet();
1939 internal static readonly int HorizontalAlignment = Interop.TextEditor.HorizontalAlignmentGet();
1940 internal static readonly int ScrollThreshold = Interop.TextEditor.ScrollThresholdGet();
1941 internal static readonly int ScrollSpeed = Interop.TextEditor.ScrollSpeedGet();
1942 internal static readonly int PrimaryCursorColor = Interop.TextEditor.PrimaryCursorColorGet();
1943 internal static readonly int SecondaryCursorColor = Interop.TextEditor.SecondaryCursorColorGet();
1944 internal static readonly int EnableCursorBlink = Interop.TextEditor.EnableCursorBlinkGet();
1945 internal static readonly int CursorBlinkInterval = Interop.TextEditor.CursorBlinkIntervalGet();
1946 internal static readonly int CursorBlinkDuration = Interop.TextEditor.CursorBlinkDurationGet();
1947 internal static readonly int CursorWidth = Interop.TextEditor.CursorWidthGet();
1948 internal static readonly int GrabHandleImage = Interop.TextEditor.GrabHandleImageGet();
1949 internal static readonly int GrabHandlePressedImage = Interop.TextEditor.GrabHandlePressedImageGet();
1950 internal static readonly int SelectionHandleImageLeft = Interop.TextEditor.SelectionHandleImageLeftGet();
1951 internal static readonly int SelectionHandleImageRight = Interop.TextEditor.SelectionHandleImageRightGet();
1952 internal static readonly int SelectionHandlePressedImageLeft = Interop.TextEditor.SelectionHandlePressedImageLeftGet();
1953 internal static readonly int SelectionHandlePressedImageRight = Interop.TextEditor.SelectionHandlePressedImageRightGet();
1954 internal static readonly int SelectionHandleMarkerImageLeft = Interop.TextEditor.SelectionHandleMarkerImageLeftGet();
1955 internal static readonly int SelectionHandleMarkerImageRight = Interop.TextEditor.SelectionHandleMarkerImageRightGet();
1956 internal static readonly int SelectionHighlightColor = Interop.TextEditor.SelectionHighlightColorGet();
1957 internal static readonly int DecorationBoundingBox = Interop.TextEditor.DecorationBoundingBoxGet();
1958 internal static readonly int EnableMarkup = Interop.TextEditor.EnableMarkupGet();
1959 internal static readonly int InputColor = Interop.TextEditor.InputColorGet();
1960 internal static readonly int InputFontFamily = Interop.TextEditor.InputFontFamilyGet();
1961 internal static readonly int InputFontStyle = Interop.TextEditor.InputFontStyleGet();
1962 internal static readonly int InputPointSize = Interop.TextEditor.InputPointSizeGet();
1963 internal static readonly int LineSpacing = Interop.TextEditor.LineSpacingGet();
1964 internal static readonly int InputLineSpacing = Interop.TextEditor.InputLineSpacingGet();
1965 internal static readonly int UNDERLINE = Interop.TextEditor.UnderlineGet();
1966 internal static readonly int InputUnderline = Interop.TextEditor.InputUnderlineGet();
1967 internal static readonly int SHADOW = Interop.TextEditor.ShadowGet();
1968 internal static readonly int InputShadow = Interop.TextEditor.InputShadowGet();
1969 internal static readonly int EMBOSS = Interop.TextEditor.EmbossGet();
1970 internal static readonly int InputEmboss = Interop.TextEditor.InputEmbossGet();
1971 internal static readonly int OUTLINE = Interop.TextEditor.OutlineGet();
1972 internal static readonly int InputOutline = Interop.TextEditor.InputOutlineGet();
1973 internal static readonly int SmoothScroll = Interop.TextEditor.SmoothScrollGet();
1974 internal static readonly int SmoothScrollDuration = Interop.TextEditor.SmoothScrollDurationGet();
1975 internal static readonly int EnableScrollBar = Interop.TextEditor.EnableScrollBarGet();
1976 internal static readonly int ScrollBarShowDuration = Interop.TextEditor.ScrollBarShowDurationGet();
1977 internal static readonly int ScrollBarFadeDuration = Interop.TextEditor.ScrollBarFadeDurationGet();
1978 internal static readonly int PixelSize = Interop.TextEditor.PixelSizeGet();
1979 internal static readonly int LineCount = Interop.TextEditor.LineCountGet();
1980 internal static readonly int EnableSelection = Interop.TextEditor.EnableSelectionGet();
1981 internal static readonly int PLACEHOLDER = Interop.TextEditor.PlaceholderGet();
1982 internal static readonly int LineWrapMode = Interop.TextEditor.LineWrapModeGet();
1983 internal static readonly int PlaceholderText = Interop.TextEditor.PlaceholderTextGet();
1984 internal static readonly int PlaceholderTextColor = Interop.TextEditor.PlaceholderTextColorGet();
1985 internal static readonly int EnableShiftSelection = Interop.TextEditor.EnableShiftSelectionGet();
1986 internal static readonly int MatchSystemLanguageDirection = Interop.TextEditor.MatchSystemLanguageDirectionGet();
1987 internal static readonly int MaxLength = Interop.TextEditor.MaxLengthGet();
1988 internal static readonly int SelectedTextStart = Interop.TextEditor.SelectedTextStartGet();
1989 internal static readonly int SelectedTextEnd = Interop.TextEditor.SelectedTextEndGet();
1990 internal static readonly int EnableEditing = Interop.TextEditor.EnableEditingGet();
1991 internal static readonly int SelectedText = Interop.TextEditor.SelectedTextGet();
1992 internal static readonly int HorizontalScrollPosition = Interop.TextEditor.HorizontalScrollPositionGet();
1993 internal static readonly int VerticalScrollPosition = Interop.TextEditor.VerticalScrollPositionGet();
1994 internal static readonly int PrimaryCursorPosition = Interop.TextEditor.PrimaryCursorPositionGet();
1995 internal static readonly int FontSizeScale = Interop.TextEditor.FontSizeScaleGet();
1996 internal static readonly int GrabHandleColor = Interop.TextEditor.GrabHandleColorGet();
1997 internal static readonly int EnableGrabHandle = Interop.TextEditor.EnableGrabHandleGet();
1998 internal static readonly int EnableGrabHandlePopup = Interop.TextEditor.EnableGrabHandlePopupGet();
1999 internal static readonly int InputMethodSettings = Interop.TextEditor.InputMethodSettingsGet();
2000 internal static readonly int ELLIPSIS = Interop.TextEditor.EllipsisGet();
2001 internal static readonly int EllipsisPosition = Interop.TextEditor.EllipsisPositionGet();
2002 internal static readonly int InputFilter = Interop.TextEditor.InputFilterGet();
2005 internal class InputStyle
2011 FontFamily = 0x0002,
2014 LineSpacing = 0x0010,
2022 private void OnDecorationBoundingBoxChanged(int x, int y, int width, int height)
2024 DecorationBoundingBox = new Rectangle(x, y, width, height);
2026 private void OnInputColorChanged(float x, float y, float z, float w)
2028 InputColor = new Vector4(x, y, z, w);
2030 private void OnPlaceholderTextColorChanged(float r, float g, float b, float a)
2032 PlaceholderTextColor = new Color(r, g, b, a);
2034 private void OnPrimaryCursorColorChanged(float x, float y, float z, float w)
2036 PrimaryCursorColor = new Vector4(x, y, z, w);
2038 private void OnSecondaryCursorColorChanged(float x, float y, float z, float w)
2040 SecondaryCursorColor = new Vector4(x, y, z, w);
2042 private void OnSelectionHighlightColorChanged(float x, float y, float z, float w)
2044 SelectionHighlightColor = new Vector4(x, y, z, w);
2046 private void OnTextColorChanged(float x, float y, float z, float w)
2048 TextColor = new Vector4(x, y, z, w);
2050 private void OnGrabHandleColorChanged(float r, float g, float b, float a)
2052 GrabHandleColor = new Color(r, g, b, a);