[NUI] Fix text padding issue
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextLabelBindableProperty.cs
1 /*
2  * Copyright(c) 2021 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 extern alias TizenSystemSettings;
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI.BaseComponents
23 {
24     /// <summary>
25     /// A control which renders a short text string.<br />
26     /// Text labels are lightweight, non-editable, and do not respond to the user input.<br />
27     /// </summary>
28     /// <since_tizen> 3 </since_tizen>
29     public partial class TextLabel
30     {
31         /// <summary>
32         /// StyleNameProperty
33         /// </summary>
34         [EditorBrowsable(EditorBrowsableState.Never)]
35         public static readonly BindableProperty TranslatableTextProperty = BindableProperty.Create(nameof(TranslatableText), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
36         {
37             var textLabel = (TextLabel)bindable;
38
39             if (newValue is Selector<string> selector)
40             {
41                 textLabel.TranslatableTextSelector = selector;
42             }
43             else
44             {
45                 textLabel.selectorData?.TranslatableText?.Reset(textLabel);
46                 textLabel.SetTranslatableText((string)newValue);
47             }
48         },
49         defaultValueCreator: (bindable) =>
50         {
51             var textLabel = (TextLabel)bindable;
52             return textLabel.translatableText;
53         });
54         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
55         [EditorBrowsable(EditorBrowsableState.Never)]
56         public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
57         {
58             var textLabel = (TextLabel)bindable;
59
60             if (newValue is Selector<string> selector)
61             {
62                 textLabel.TextSelector = selector;
63             }
64             else
65             {
66                 textLabel.selectorData?.Text?.Reset(textLabel);
67                 textLabel.SetText((string)newValue);
68             }
69         }),
70         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
71         {
72             var textLabel = (TextLabel)bindable;
73
74             return Object.InternalGetPropertyString(textLabel.SwigCPtr, TextLabel.Property.TEXT);
75         }));
76         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
77         [EditorBrowsable(EditorBrowsableState.Never)]
78         public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
79         {
80             var textLabel = (TextLabel)bindable;
81
82             if (newValue is Selector<string> selector)
83             {
84                 textLabel.FontFamilySelector = selector;
85             }
86             else
87             {
88                 textLabel.selectorData?.FontFamily?.Reset(textLabel);
89                 textLabel.SetFontFamily((string)newValue);
90             }
91         }),
92         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
93         {
94             var textLabel = (TextLabel)bindable;
95             return textLabel.InternalFontFamily;
96         }));
97         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
98         [EditorBrowsable(EditorBrowsableState.Never)]
99         public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
100         {
101             var textLabel = (TextLabel)bindable;
102             if (newValue != null)
103             {
104                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontStyle, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
105                 textLabel.RequestLayout();
106             }
107         }),
108         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
109         {
110             var textLabel = (TextLabel)bindable;
111             PropertyMap temp = new PropertyMap();
112             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontStyle).Get(temp);
113             return temp;
114         }));
115         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
116         [EditorBrowsable(EditorBrowsableState.Never)]
117         public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
118         {
119             var textLabel = (TextLabel)bindable;
120
121             if (newValue is Selector<float?> selector)
122             {
123                 textLabel.PointSizeSelector = selector;
124             }
125             else
126             {
127                 textLabel.selectorData?.PointSize?.Reset(textLabel);
128                 textLabel.SetPointSize((float?)newValue);
129             }
130         }),
131         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
132         {
133             var textLabel = (TextLabel)bindable;
134
135             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.PointSize);
136         }));
137         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
138         [EditorBrowsable(EditorBrowsableState.Never)]
139         public static readonly BindableProperty MultiLineProperty = BindableProperty.Create(nameof(MultiLine), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
140         {
141             var textLabel = (TextLabel)bindable;
142             if (newValue != null)
143             {
144
145                 Object.InternalSetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.MultiLine, (bool)newValue);
146                 textLabel.RequestLayout();
147             }
148         }),
149         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
150         {
151             var textLabel = (TextLabel)bindable;
152
153             return Object.InternalGetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.MultiLine);
154         }));
155         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
156         [EditorBrowsable(EditorBrowsableState.Never)]
157         public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
158         {
159             var textLabel = (TextLabel)bindable;
160             if (newValue != null)
161             {
162
163                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.HorizontalAlignment, (int)newValue);
164             }
165         }),
166         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
167         {
168             var textLabel = (TextLabel)bindable;
169             string temp;
170
171             temp = Object.InternalGetPropertyString(textLabel.SwigCPtr, TextLabel.Property.HorizontalAlignment);
172             if (System.String.IsNullOrEmpty(temp))
173             {
174                 return HorizontalAlignment.Begin; // Return default value.
175             }
176
177             if (temp.Equals("BEGIN"))
178             {
179                 return HorizontalAlignment.Begin;
180             }
181             else if (temp.Equals("CENTER"))
182             {
183                 return HorizontalAlignment.Center;
184             }
185             else
186             {
187                 return HorizontalAlignment.End;
188             }
189         }));
190         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
191         [EditorBrowsable(EditorBrowsableState.Never)]
192         public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(VerticalAlignment), typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
193         {
194             var textLabel = (TextLabel)bindable;
195             if (newValue != null)
196             {
197
198                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.VerticalAlignment, (int)newValue);
199             }
200         }),
201         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
202         {
203             var textLabel = (TextLabel)bindable;
204             string temp;
205
206             temp = Object.InternalGetPropertyString(textLabel.SwigCPtr, TextLabel.Property.VerticalAlignment);
207             if (System.String.IsNullOrEmpty(temp))
208             {
209                 return VerticalAlignment.Top; // Return default value.
210             }
211
212             if (temp.Equals("TOP"))
213             {
214                 return VerticalAlignment.Top;
215             }
216             else if (temp.Equals("CENTER"))
217             {
218                 return VerticalAlignment.Center;
219             }
220             else
221             {
222                 return VerticalAlignment.Bottom;
223             }
224         }));
225         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
226         [EditorBrowsable(EditorBrowsableState.Never)]
227         public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
228         {
229             var textLabel = (TextLabel)bindable;
230
231             if (newValue is Selector<Color> selector)
232             {
233                 textLabel.TextColorSelector = selector;
234             }
235             else
236             {
237                 textLabel.selectorData?.TextColor?.Reset(textLabel);
238                 textLabel.SetTextColor((Color)newValue);
239             }
240         }),
241         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
242         {
243             var textLabel = (TextLabel)bindable;
244
245             if (textLabel.internalTextColor == null)
246             {
247                 textLabel.internalTextColor = new Color(0, 0, 0, 0);
248             }
249             Object.InternalRetrievingPropertyVector4(textLabel.SwigCPtr, TextLabel.Property.TextColor, textLabel.internalTextColor.SwigCPtr);
250             return textLabel.internalTextColor;
251         }));
252
253         [EditorBrowsable(EditorBrowsableState.Never)]
254         public static readonly BindableProperty AnchorColorProperty = BindableProperty.Create(nameof(TextLabel.AnchorColor), typeof(Color), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
255         {
256             var textLabel = (TextLabel)bindable;
257             if (newValue != null)
258             {
259                 Object.InternalSetPropertyVector4(textLabel.SwigCPtr, TextLabel.Property.AnchorColor, ((Color)newValue).SwigCPtr);
260             }
261         }),
262         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
263         {
264             var textLabel = (TextLabel)bindable;
265
266             if (textLabel.internalAnchorColor == null)
267             {
268                 textLabel.internalAnchorColor = new Color(0, 0, 0, 0);
269             }
270             Object.InternalRetrievingPropertyVector4(textLabel.SwigCPtr, TextLabel.Property.TextColor, textLabel.internalAnchorColor.SwigCPtr);
271             return textLabel.internalAnchorColor;
272         }));
273
274         [EditorBrowsable(EditorBrowsableState.Never)]
275         public static readonly BindableProperty AnchorClickedColorProperty = BindableProperty.Create(nameof(TextLabel.AnchorClickedColor), typeof(Color), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
276         {
277             var textLabel = (TextLabel)bindable;
278             if (newValue != null)
279             {
280                 Object.InternalSetPropertyVector4(textLabel.SwigCPtr, TextLabel.Property.AnchorClickedColor, ((Color)newValue).SwigCPtr);
281             }
282         }),
283         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
284         {
285             var textLabel = (TextLabel)bindable;
286
287             if (textLabel.internalAnchorClickedColor == null)
288             {
289                 textLabel.internalAnchorClickedColor = new Color(0, 0, 0, 0);
290             }
291             Object.InternalRetrievingPropertyVector4(textLabel.SwigCPtr, TextLabel.Property.TextColor, textLabel.internalAnchorClickedColor.SwigCPtr);
292             return textLabel.internalAnchorClickedColor;
293         }));
294
295         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
296         [EditorBrowsable(EditorBrowsableState.Never)]
297         public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
298         {
299             var textLabel = (TextLabel)bindable;
300             if (newValue != null)
301             {
302
303                 Object.InternalSetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.EnableMarkup, (bool)newValue);
304             }
305         }),
306         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
307         {
308             var textLabel = (TextLabel)bindable;
309
310             return Object.InternalGetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.EnableMarkup);
311         }));
312         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
313         [EditorBrowsable(EditorBrowsableState.Never)]
314         public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create(nameof(EnableAutoScroll), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
315         {
316             var textLabel = (TextLabel)bindable;
317             if (newValue != null)
318             {
319
320                 Object.InternalSetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.EnableAutoScroll, (bool)newValue);
321             }
322         }),
323         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
324         {
325             var textLabel = (TextLabel)bindable;
326
327             return Object.InternalGetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.EnableAutoScroll);
328         }));
329         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
330         [EditorBrowsable(EditorBrowsableState.Never)]
331         public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create(nameof(AutoScrollSpeed), typeof(int), typeof(TextLabel), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
332         {
333             var textLabel = (TextLabel)bindable;
334             if (newValue != null)
335             {
336
337                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.AutoScrollSpeed, (int)newValue);
338             }
339         }),
340         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
341         {
342             var textLabel = (TextLabel)bindable;
343
344             return Object.InternalGetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.AutoScrollSpeed);
345         }));
346         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
347         [EditorBrowsable(EditorBrowsableState.Never)]
348         public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create(nameof(AutoScrollLoopCount), typeof(int), typeof(TextLabel), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
349         {
350             var textLabel = (TextLabel)bindable;
351             if (newValue != null)
352             {
353
354                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopCount, (int)newValue);
355             }
356         }),
357         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
358         {
359             var textLabel = (TextLabel)bindable;
360
361             return Object.InternalGetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopCount);
362         }));
363         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
364         [EditorBrowsable(EditorBrowsableState.Never)]
365         public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create(nameof(AutoScrollGap), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
366         {
367             var textLabel = (TextLabel)bindable;
368             if (newValue != null)
369             {
370
371                 Object.InternalSetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.AutoScrollGap, (float)newValue);
372             }
373         }),
374         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
375         {
376             var textLabel = (TextLabel)bindable;
377
378             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.AutoScrollGap);
379         }));
380         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
381         [EditorBrowsable(EditorBrowsableState.Never)]
382         public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
383         {
384             var textLabel = (TextLabel)bindable;
385             if (newValue != null)
386             {
387
388                 Object.InternalSetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.LineSpacing, (float)newValue);
389                 textLabel.RequestLayout();
390             }
391         }),
392         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
393         {
394             var textLabel = (TextLabel)bindable;
395
396             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.LineSpacing);
397         }));
398         [EditorBrowsable(EditorBrowsableState.Never)]
399         public static readonly BindableProperty RelativeLineHeightProperty = BindableProperty.Create(nameof(RelativeLineHeight), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
400         {
401             var textLabel = (TextLabel)bindable;
402             if (newValue != null)
403             {
404
405                 Object.InternalSetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.RelativeLineHeight, (float)newValue);
406             }
407         }),
408         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
409         {
410             var textLabel = (TextLabel)bindable;
411
412             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.RelativeLineHeight);
413         }));
414         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
415         [EditorBrowsable(EditorBrowsableState.Never)]
416         public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
417         {
418             var textLabel = (TextLabel)bindable;
419             if (newValue != null)
420             {
421                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
422             }
423         }),
424         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
425         {
426             var textLabel = (TextLabel)bindable;
427             PropertyMap temp = new PropertyMap();
428             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.UNDERLINE).Get(temp);
429             return temp;
430         }));
431
432         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
433         [EditorBrowsable(EditorBrowsableState.Never)]
434         public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
435         {
436             var textLabel = (TextLabel)bindable;
437             if (newValue != null)
438             {
439                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
440             }
441         }),
442         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
443         {
444             var textLabel = (TextLabel)bindable;
445             PropertyMap temp = new PropertyMap();
446             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.SHADOW).Get(temp);
447             return temp;
448         }));
449         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
450         [EditorBrowsable(EditorBrowsableState.Never)]
451         public static readonly BindableProperty TextShadowProperty = BindableProperty.Create(nameof(TextShadow), typeof(TextShadow), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
452         {
453             var textLabel = (TextLabel)bindable;
454
455             if (newValue is Selector<TextShadow> selector)
456             {
457                 textLabel.TextShadowSelector = selector;
458             }
459             else
460             {
461                 textLabel.selectorData?.TextShadow?.Reset(textLabel);
462                 textLabel.SetTextShadow((TextShadow)newValue);
463             }
464         }),
465         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
466         {
467             var textLabel = (TextLabel)bindable;
468             PropertyMap temp = new PropertyMap();
469             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.SHADOW).Get(temp);
470             return temp.Empty() ? null : new TextShadow(temp);
471         }));
472         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
473         [EditorBrowsable(EditorBrowsableState.Never)]
474         public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
475         {
476             var textLabel = (TextLabel)bindable;
477             if (newValue != null)
478             {
479
480                 Object.InternalSetPropertyString(textLabel.SwigCPtr, TextLabel.Property.EMBOSS, (string)newValue);
481             }
482         }),
483         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
484         {
485             var textLabel = (TextLabel)bindable;
486
487             return Object.InternalGetPropertyString(textLabel.SwigCPtr, TextLabel.Property.EMBOSS);
488         }));
489         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
490         [EditorBrowsable(EditorBrowsableState.Never)]
491         public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
492         {
493             var textLabel = (TextLabel)bindable;
494             if (newValue != null)
495             {
496                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
497             }
498         }),
499         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
500         {
501             var textLabel = (TextLabel)bindable;
502             PropertyMap temp = new PropertyMap();
503             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.OUTLINE).Get(temp);
504             return temp;
505         }));
506         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
507         [EditorBrowsable(EditorBrowsableState.Never)]
508         public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
509         {
510             var textLabel = (TextLabel)bindable;
511
512             if (newValue is Selector<float?> selector)
513             {
514                 textLabel.PixelSizeSelector = selector;
515             }
516             else
517             {
518                 textLabel.selectorData?.PixelSize?.Reset(textLabel);
519                 textLabel.SetPixelSize((float?)newValue);
520             }
521         }),
522         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
523         {
524             var textLabel = (TextLabel)bindable;
525
526             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.PixelSize);
527         }));
528         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
529         [EditorBrowsable(EditorBrowsableState.Never)]
530         public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(Ellipsis), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
531         {
532             var textLabel = (TextLabel)bindable;
533             if (newValue != null)
534             {
535
536                 Object.InternalSetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.ELLIPSIS, (bool)newValue);
537             }
538         }),
539         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
540         {
541             var textLabel = (TextLabel)bindable;
542
543             return Object.InternalGetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.ELLIPSIS);
544         }));
545         /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
546         [EditorBrowsable(EditorBrowsableState.Never)]
547         public static readonly BindableProperty EllipsisPositionProperty = BindableProperty.Create(nameof(EllipsisPosition), typeof(EllipsisPosition), typeof(TextLabel), EllipsisPosition.End, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
548         {
549             var textLabel = (TextLabel)bindable;
550             if (newValue != null)
551             {
552
553                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.EllipsisPosition, (int)newValue);
554             }
555         }),
556         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
557         {
558             var textLabel = (TextLabel)bindable;
559
560             return (EllipsisPosition)Object.InternalGetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.EllipsisPosition);
561         }));
562         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
563         [EditorBrowsable(EditorBrowsableState.Never)]
564         public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create(nameof(AutoScrollLoopDelay), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
565         {
566             var textLabel = (TextLabel)bindable;
567             if (newValue != null)
568             {
569
570                 Object.InternalSetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopDelay, (float)newValue);
571             }
572         }),
573         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
574         {
575             var textLabel = (TextLabel)bindable;
576
577             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopDelay);
578         }));
579         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
580         [EditorBrowsable(EditorBrowsableState.Never)]
581         public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create(nameof(AutoScrollStopMode), typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
582         {
583             var textLabel = (TextLabel)bindable;
584             if (newValue != null)
585             {
586
587                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.AutoScrollStopMode, (int)newValue);
588             }
589         }),
590         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
591         {
592             var textLabel = (TextLabel)bindable;
593             string temp;
594
595             temp = Object.InternalGetPropertyString(textLabel.SwigCPtr, TextLabel.Property.AutoScrollStopMode);
596             return temp.GetValueByDescription<AutoScrollStopMode>();
597         }));
598         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
599         [EditorBrowsable(EditorBrowsableState.Never)]
600         public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
601         {
602             var textLabel = (TextLabel)bindable;
603             if (newValue != null)
604             {
605
606                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.LineWrapMode, (int)newValue);
607             }
608         }),
609         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
610         {
611             var textLabel = (TextLabel)bindable;
612
613             return (LineWrapMode)Object.InternalGetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.LineWrapMode);
614         }));
615         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
616         [EditorBrowsable(EditorBrowsableState.Never)]
617         public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create(nameof(VerticalLineAlignment), typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
618         {
619             var textLabel = (TextLabel)bindable;
620             if (newValue != null)
621             {
622
623                 Object.InternalSetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.VerticalLineAlignment, (int)newValue);
624             }
625         }),
626         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
627         {
628             var textLabel = (TextLabel)bindable;
629
630             return (VerticalLineAlignment)Object.InternalGetPropertyInt(textLabel.SwigCPtr, TextLabel.Property.VerticalLineAlignment);
631         }));
632         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
633         [EditorBrowsable(EditorBrowsableState.Never)]
634         public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(MatchSystemLanguageDirection), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
635         {
636             var textLabel = (TextLabel)bindable;
637             if (newValue != null)
638             {
639
640                 Object.InternalSetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.MatchSystemLanguageDirection, (bool)newValue);
641             }
642         }),
643         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
644         {
645             var textLabel = (TextLabel)bindable;
646
647             return Object.InternalGetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.MatchSystemLanguageDirection);
648         }));
649         /// This will be public opened in tizen_6.5 after ACR done. Before ACR, need to be hidden as inhouse API.
650         [EditorBrowsable(EditorBrowsableState.Never)]
651         public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
652         {
653             var textLabel = (TextLabel)bindable;
654             if (newValue != null)
655             {
656
657                 Object.InternalSetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.CharacterSpacing, (float)newValue);
658             }
659         }),
660         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
661         {
662             var textLabel = (TextLabel)bindable;
663
664             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.CharacterSpacing);
665         }));
666         /// Only for XAML. No need of public API. Make hidden as inhouse API.
667         [EditorBrowsable(EditorBrowsableState.Never)]
668         public static readonly BindableProperty TextFitProperty = BindableProperty.Create(nameof(TextFit), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
669         {
670             var textLabel = (TextLabel)bindable;
671             if (newValue != null)
672             {
673                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TextFit, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
674             }
675         }),
676         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
677         {
678             var textLabel = (TextLabel)bindable;
679             PropertyMap temp = new PropertyMap();
680             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TextFit).Get(temp);
681             return temp;
682         }));
683
684         /// Only for XAML. No need of public API. Make hidden as inhouse API.
685         [EditorBrowsable(EditorBrowsableState.Never)]
686         public static readonly BindableProperty MinLineSizeProperty = BindableProperty.Create(nameof(MinLineSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
687         {
688             var textLabel = (TextLabel)bindable;
689             if (newValue != null)
690             {
691
692                 Object.InternalSetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.MinLineSize, (float)newValue);
693                 textLabel.RequestLayout();
694             }
695         }),
696         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
697         {
698             var textLabel = (TextLabel)bindable;
699
700             return Object.InternalGetPropertyFloat(textLabel.SwigCPtr, TextLabel.Property.MinLineSize);
701         }));
702
703         [EditorBrowsable(EditorBrowsableState.Never)]
704         public static readonly BindableProperty FontSizeScaleProperty = BindableProperty.Create(nameof(FontSizeScale), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
705         {
706             var textLabel = (TextLabel)bindable;
707             if (newValue != null)
708             {
709                 textLabel.InternalFontSizeScale = (float)newValue;
710             }
711         }),
712         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
713         {
714             var textLabel = (TextLabel)bindable;
715             return textLabel.InternalFontSizeScale;
716         }));
717
718         [EditorBrowsable(EditorBrowsableState.Never)]
719         public static readonly BindableProperty EnableFontSizeScaleProperty = BindableProperty.Create(nameof(EnableFontSizeScale), typeof(bool), typeof(TextLabel), default(bool), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
720         {
721             var textLabel = (TextLabel)bindable;
722             if (newValue != null)
723             {
724
725                 Object.InternalSetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.EnableFontSizeScale, (bool)newValue);
726                 textLabel.RequestLayout();
727             }
728         }),
729         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
730         {
731             var textLabel = (TextLabel)bindable;
732
733             return Object.InternalGetPropertyBool(textLabel.SwigCPtr, TextLabel.Property.EnableFontSizeScale);
734         }));
735
736         /// <summary>
737         /// ShadowOffsetProperty
738         /// </summary>
739         [EditorBrowsable(EditorBrowsableState.Never)]
740         public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create(nameof(ShadowOffset), typeof(Tizen.NUI.Vector2), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
741         {
742             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
743             if (newValue != null)
744             {
745                 instance.InternalShadowOffset = (Tizen.NUI.Vector2)newValue;
746             }
747         },
748         defaultValueCreator: (bindable) =>
749         {
750             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
751             return instance.InternalShadowOffset;
752         });
753
754         /// <summary>
755         /// ShadowColorProperty
756         /// </summary>
757         [EditorBrowsable(EditorBrowsableState.Never)]
758         public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create(nameof(ShadowColor), typeof(Tizen.NUI.Vector4), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
759         {
760             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
761             if (newValue != null)
762             {
763                 instance.InternalShadowColor = (Tizen.NUI.Vector4)newValue;
764             }
765         },
766         defaultValueCreator: (bindable) =>
767         {
768             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
769             return instance.InternalShadowColor;
770         });
771
772         /// <summary>
773         /// UnderlineEnabledProperty
774         /// </summary>
775         [EditorBrowsable(EditorBrowsableState.Never)]
776         public static readonly BindableProperty UnderlineEnabledProperty = BindableProperty.Create(nameof(UnderlineEnabled), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
777         {
778             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
779             if (newValue != null)
780             {
781                 instance.InternalUnderlineEnabled = (bool)newValue;
782             }
783         },
784         defaultValueCreator: (bindable) =>
785         {
786             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
787             return instance.InternalUnderlineEnabled;
788         });
789
790         /// <summary>
791         /// UnderlineColorProperty
792         /// </summary>
793         [EditorBrowsable(EditorBrowsableState.Never)]
794         public static readonly BindableProperty UnderlineColorProperty = BindableProperty.Create(nameof(UnderlineColor), typeof(Tizen.NUI.Vector4), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
795         {
796             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
797             if (newValue != null)
798             {
799                 instance.InternalUnderlineColor = (Tizen.NUI.Vector4)newValue;
800             }
801         },
802         defaultValueCreator: (bindable) =>
803         {
804             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
805             return instance.InternalUnderlineColor;
806         });
807
808         /// <summary>
809         /// UnderlineHeightProperty
810         /// </summary>
811         [EditorBrowsable(EditorBrowsableState.Never)]
812         public static readonly BindableProperty UnderlineHeightProperty = BindableProperty.Create(nameof(UnderlineHeight), typeof(float), typeof(TextLabel), 0.0f, propertyChanged: (bindable, oldValue, newValue) =>
813         {
814             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
815             if (newValue != null)
816             {
817                 instance.InternalUnderlineHeight = (float)newValue;
818             }
819         },
820         defaultValueCreator: (bindable) =>
821         {
822             var instance = (Tizen.NUI.BaseComponents.TextLabel)bindable;
823             return instance.InternalUnderlineHeight;
824         });
825
826         internal Selector<string> TranslatableTextSelector
827         {
828             get => GetSelector<string>(selectorData?.TranslatableText, TextLabel.TranslatableTextProperty);
829             set
830             {
831                 selectorData?.TranslatableText?.Reset(this);
832                 if (value == null) return;
833
834                 if (value.HasAll()) SetTranslatableText(value.All);
835                 else EnsureSelectorData().TranslatableText = new TriggerableSelector<string>(this, value, SetTranslatableText, true);
836             }
837         }
838
839         internal Selector<string> TextSelector
840         {
841             get => GetSelector<string>(selectorData?.Text, TextLabel.TextProperty);
842             set
843             {
844                 selectorData?.Text?.Reset(this);
845                 if (value == null) return;
846
847                 if (value.HasAll()) SetText(value.All);
848                 else EnsureSelectorData().Text = new TriggerableSelector<string>(this, value, SetText, true);
849             }
850         }
851
852         internal Selector<string> FontFamilySelector
853         {
854             get => GetSelector<string>(selectorData?.FontFamily, TextLabel.FontFamilyProperty);
855             set
856             {
857                 selectorData?.FontFamily?.Reset(this);
858                 if (value == null) return;
859
860                 if (value.HasAll()) SetFontFamily(value.All);
861                 else EnsureSelectorData().FontFamily = new TriggerableSelector<string>(this, value, SetFontFamily, true);
862             }
863         }
864
865         internal Selector<float?> PointSizeSelector
866         {
867             get => GetSelector<float?>(selectorData?.PointSize, TextLabel.PointSizeProperty);
868             set
869             {
870                 selectorData?.PointSize?.Reset(this);
871                 if (value == null) return;
872
873                 if (value.HasAll()) SetPointSize(value.All);
874                 else EnsureSelectorData().PointSize = new TriggerableSelector<float?>(this, value, SetPointSize, true);
875             }
876         }
877
878         internal Selector<Color> TextColorSelector
879         {
880             get
881             {
882                 var selector = selectorData?.TextColor?.Get();
883                 if (selector != null)
884                 {
885                     return selector;
886                 }
887
888                 Color color = new Color();
889                 if (!GetProperty(TextLabel.Property.TextColor).Get(color))
890                 {
891                     return null;
892                 }
893                 return new Selector<Color>(color);
894             }
895             set
896             {
897                 selectorData?.TextColor?.Reset(this);
898                 if (value == null) return;
899
900                 if (value.HasAll()) SetTextColor(value.All);
901                 else EnsureSelectorData().TextColor = new TriggerableSelector<Color>(this, value, SetTextColor, true);
902             }
903         }
904
905         internal Selector<float?> PixelSizeSelector
906         {
907             get => GetSelector<float?>(selectorData?.PixelSize, TextLabel.PixelSizeProperty);
908             set
909             {
910                 selectorData?.PixelSize?.Reset(this);
911                 if (value == null) return;
912
913                 if (value.HasAll()) SetPixelSize(value.All);
914                 else EnsureSelectorData().PixelSize = new TriggerableSelector<float?>(this, value, SetPixelSize, true);
915             }
916         }
917
918         internal Selector<TextShadow> TextShadowSelector
919         {
920             get => GetSelector<TextShadow>(selectorData?.TextShadow, TextLabel.TextShadowProperty);
921             set
922             {
923                 selectorData?.TextShadow?.Reset(this);
924                 if (value == null) return;
925
926                 if (value.HasAll()) SetTextShadow(value.All);
927                 else EnsureSelectorData().TextShadow = new TriggerableSelector<TextShadow>(this, value, SetTextShadow);
928             }
929         }
930
931         private void SetTranslatableText(string value)
932         {
933             if (value != null)
934             {
935                 translatableText = value;
936             }
937         }
938
939         private void SetText(string value)
940         {
941             if (value != null)
942             {
943
944                 Object.InternalSetPropertyString(SwigCPtr, TextLabel.Property.TEXT, value);
945                 RequestLayout();
946             }
947         }
948
949         private void SetFontFamily(string value)
950         {
951             if (value != null)
952             {
953                 InternalFontFamily = (string)value;
954             }
955         }
956
957         private void SetTextColor(Color value)
958         {
959             if (value != null)
960             {
961
962                 Object.InternalSetPropertyVector4(SwigCPtr, TextLabel.Property.TextColor, value.SwigCPtr);
963             }
964         }
965
966         private void SetPointSize(float? value)
967         {
968             if (value != null)
969             {
970
971                 Object.InternalSetPropertyFloat(SwigCPtr, TextLabel.Property.PointSize, (float)value);
972                 RequestLayout();
973             }
974         }
975
976         private void SetPixelSize(float? value)
977         {
978             if (value != null)
979             {
980
981                 Object.InternalSetPropertyFloat(SwigCPtr, TextLabel.Property.PixelSize, (float)value);
982                 RequestLayout();
983             }
984         }
985
986         private void SetTextShadow(TextShadow value)
987         {
988             if (value != null)
989             {
990                 Object.SetProperty((System.Runtime.InteropServices.HandleRef)SwigCPtr, Property.SHADOW, TextShadow.ToPropertyValue(value));
991             }
992         }
993     }
994 }