[NUI] Add license, delete unnecessary code(public)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextLabelBindableProperty.cs
1 /*
2  * Copyright(c) 2020 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             if (newValue != null)
39             {
40                 textLabel.translatableText = (string)newValue;
41             }
42         },
43         defaultValueCreator: (bindable) =>
44         {
45             var textLabel = (TextLabel)bindable;
46             return textLabel.translatableText;
47         });
48         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
49         [EditorBrowsable(EditorBrowsableState.Never)]
50         public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
51         {
52             var textLabel = (TextLabel)bindable;
53             if (newValue != null)
54             {
55                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
56             }
57         }),
58         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
59         {
60             var textLabel = (TextLabel)bindable;
61             string temp;
62             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TEXT).Get(out temp);
63             return temp;
64         }));
65         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
66         [EditorBrowsable(EditorBrowsableState.Never)]
67         public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
68         {
69             var textLabel = (TextLabel)bindable;
70             if (newValue != null)
71             {
72                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontFamily, new Tizen.NUI.PropertyValue((string)newValue));
73             }
74         }),
75         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
76         {
77             var textLabel = (TextLabel)bindable;
78             string temp;
79             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontFamily).Get(out temp);
80             return temp;
81         }));
82         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
83         [EditorBrowsable(EditorBrowsableState.Never)]
84         public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
85         {
86             var textLabel = (TextLabel)bindable;
87             if (newValue != null)
88             {
89                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontStyle, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
90             }
91         }),
92         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
93         {
94             var textLabel = (TextLabel)bindable;
95             PropertyMap temp = new PropertyMap();
96             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontStyle).Get(temp);
97             return temp;
98         }));
99         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
100         [EditorBrowsable(EditorBrowsableState.Never)]
101         public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
102         {
103             var textLabel = (TextLabel)bindable;
104             if (newValue != null)
105             {
106                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.PointSize, new Tizen.NUI.PropertyValue((float)newValue));
107             }
108         }),
109         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
110         {
111             var textLabel = (TextLabel)bindable;
112             float temp = 0.0f;
113             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.PointSize).Get(out temp);
114             return temp;
115         }));
116         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
117         [EditorBrowsable(EditorBrowsableState.Never)]
118         public static readonly BindableProperty MultiLineProperty = BindableProperty.Create(nameof(MultiLine), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
119         {
120             var textLabel = (TextLabel)bindable;
121             if (newValue != null)
122             {
123                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MultiLine, new Tizen.NUI.PropertyValue((bool)newValue));
124             }
125         }),
126         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
127         {
128             var textLabel = (TextLabel)bindable;
129             bool temp = false;
130             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MultiLine).Get(out temp);
131             return temp;
132         }));
133         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
134         [EditorBrowsable(EditorBrowsableState.Never)]
135         public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
136         {
137             var textLabel = (TextLabel)bindable;
138             string valueToString = "";
139             if (newValue != null)
140             {
141                 valueToString = ((HorizontalAlignment)newValue).GetDescription();
142                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.HorizontalAlignment, new Tizen.NUI.PropertyValue(valueToString));
143             }
144         }),
145         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
146         {
147             var textLabel = (TextLabel)bindable;
148             string temp;
149             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.HorizontalAlignment).Get(out temp) == false)
150             {
151                 NUILog.Error("HorizontalAlignment get error!");
152             }
153             return temp.GetValueByDescription<HorizontalAlignment>();
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 VerticalAlignmentProperty = BindableProperty.Create(nameof(VerticalAlignment), typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
158         {
159             var textLabel = (TextLabel)bindable;
160             string valueToString = "";
161             if (newValue != null)
162             {
163                 valueToString = ((VerticalAlignment)newValue).GetDescription();
164                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.VerticalAlignment, new Tizen.NUI.PropertyValue(valueToString));
165             }
166         }),
167         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
168         {
169             var textLabel = (TextLabel)bindable;
170             string temp;
171             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.VerticalAlignment).Get(out temp) == false)
172             {
173                 NUILog.Error("VerticalAlignment get error!");
174             }
175
176             return temp.GetValueByDescription<VerticalAlignment>();
177         }));
178         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
179         [EditorBrowsable(EditorBrowsableState.Never)]
180         public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
181         {
182             var textLabel = (TextLabel)bindable;
183             if (newValue != null)
184             {
185                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TextColor, new Tizen.NUI.PropertyValue((Color)newValue));
186             }
187         }),
188         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
189         {
190             var textLabel = (TextLabel)bindable;
191             Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
192             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TextColor).Get(temp);
193             return temp;
194         }));
195
196         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
197         [EditorBrowsable(EditorBrowsableState.Never)]
198         public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
199         {
200             var textLabel = (TextLabel)bindable;
201             if (newValue != null)
202             {
203                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.EnableMarkup, new Tizen.NUI.PropertyValue((bool)newValue));
204             }
205         }),
206         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
207         {
208             var textLabel = (TextLabel)bindable;
209             bool temp = false;
210             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.EnableMarkup).Get(out temp);
211             return temp;
212         }));
213         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
214         [EditorBrowsable(EditorBrowsableState.Never)]
215         public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create(nameof(EnableAutoScroll), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
216         {
217             var textLabel = (TextLabel)bindable;
218             if (newValue != null)
219             {
220                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.EnableAutoScroll, new Tizen.NUI.PropertyValue((bool)newValue));
221             }
222         }),
223         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
224         {
225             var textLabel = (TextLabel)bindable;
226             bool temp = false;
227             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.EnableAutoScroll).Get(out temp);
228             return temp;
229         }));
230         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
231         [EditorBrowsable(EditorBrowsableState.Never)]
232         public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create(nameof(AutoScrollSpeed), typeof(int), typeof(TextLabel), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
233         {
234             var textLabel = (TextLabel)bindable;
235             if (newValue != null)
236             {
237                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollSpeed, new Tizen.NUI.PropertyValue((int)newValue));
238             }
239         }),
240         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
241         {
242             var textLabel = (TextLabel)bindable;
243             int temp = 0;
244             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollSpeed).Get(out temp);
245             return temp;
246         }));
247         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
248         [EditorBrowsable(EditorBrowsableState.Never)]
249         public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create(nameof(AutoScrollLoopCount), typeof(int), typeof(TextLabel), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
250         {
251             var textLabel = (TextLabel)bindable;
252             if (newValue != null)
253             {
254                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopCount, new Tizen.NUI.PropertyValue((int)newValue));
255             }
256         }),
257         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
258         {
259             var textLabel = (TextLabel)bindable;
260             int temp = 0;
261             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopCount).Get(out temp);
262             return temp;
263         }));
264         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
265         [EditorBrowsable(EditorBrowsableState.Never)]
266         public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create(nameof(AutoScrollGap), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
267         {
268             var textLabel = (TextLabel)bindable;
269             if (newValue != null)
270             {
271                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollGap, new Tizen.NUI.PropertyValue((float)newValue));
272             }
273         }),
274         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
275         {
276             var textLabel = (TextLabel)bindable;
277             float temp = 0.0f;
278             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollGap).Get(out temp);
279             return temp;
280         }));
281         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
282         [EditorBrowsable(EditorBrowsableState.Never)]
283         public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
284         {
285             var textLabel = (TextLabel)bindable;
286             if (newValue != null)
287             {
288                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.LineSpacing, new Tizen.NUI.PropertyValue((float)newValue));
289             }
290         }),
291         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
292         {
293             var textLabel = (TextLabel)bindable;
294             float temp = 0.0f;
295             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.LineSpacing).Get(out temp);
296             return temp;
297         }));
298         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
299         [EditorBrowsable(EditorBrowsableState.Never)]
300         public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
301         {
302             var textLabel = (TextLabel)bindable;
303             if (newValue != null)
304             {
305                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
306             }
307         }),
308         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
309         {
310             var textLabel = (TextLabel)bindable;
311             PropertyMap temp = new PropertyMap();
312             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.UNDERLINE).Get(temp);
313             return temp;
314         }));
315         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
316         [EditorBrowsable(EditorBrowsableState.Never)]
317         public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
318         {
319             var textLabel = (TextLabel)bindable;
320             if (newValue != null)
321             {
322                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
323             }
324         }),
325         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
326         {
327             var textLabel = (TextLabel)bindable;
328             PropertyMap temp = new PropertyMap();
329             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.SHADOW).Get(temp);
330             return temp;
331         }));
332         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
333         [EditorBrowsable(EditorBrowsableState.Never)]
334         public static readonly BindableProperty TextShadowProperty = BindableProperty.Create(nameof(TextShadow), typeof(TextShadow), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
335         {
336             var textLabel = (TextLabel)bindable;
337             if (newValue != null)
338             {
339                 Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, Property.SHADOW, TextShadow.ToPropertyValue((TextShadow)newValue));
340             }
341         }),
342         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
343         {
344             var textLabel = (TextLabel)bindable;
345             PropertyMap temp = new PropertyMap();
346             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.SHADOW).Get(temp);
347             return temp.Empty() ? null : new TextShadow(temp);
348         }));
349         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
350         [EditorBrowsable(EditorBrowsableState.Never)]
351         public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
352         {
353             var textLabel = (TextLabel)bindable;
354             if (newValue != null)
355             {
356                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
357             }
358         }),
359         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
360         {
361             var textLabel = (TextLabel)bindable;
362             string temp;
363             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.EMBOSS).Get(out temp);
364             return temp;
365         }));
366         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
367         [EditorBrowsable(EditorBrowsableState.Never)]
368         public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
369         {
370             var textLabel = (TextLabel)bindable;
371             if (newValue != null)
372             {
373                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
374             }
375         }),
376         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
377         {
378             var textLabel = (TextLabel)bindable;
379             PropertyMap temp = new PropertyMap();
380             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.OUTLINE).Get(temp);
381             return temp;
382         }));
383         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
384         [EditorBrowsable(EditorBrowsableState.Never)]
385         public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
386         {
387             var textLabel = (TextLabel)bindable;
388             if (newValue != null)
389             {
390                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.PixelSize, new Tizen.NUI.PropertyValue((float)newValue));
391             }
392         }),
393         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
394         {
395             var textLabel = (TextLabel)bindable;
396             float temp = 0.0f;
397             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.PixelSize).Get(out temp);
398             return temp;
399         }));
400         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
401         [EditorBrowsable(EditorBrowsableState.Never)]
402         public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(Ellipsis), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
403         {
404             var textLabel = (TextLabel)bindable;
405             if (newValue != null)
406             {
407                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.ELLIPSIS, new Tizen.NUI.PropertyValue((bool)newValue));
408             }
409         }),
410         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
411         {
412             var textLabel = (TextLabel)bindable;
413             bool temp = false;
414             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.ELLIPSIS).Get(out temp);
415             return temp;
416         }));
417         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
418         [EditorBrowsable(EditorBrowsableState.Never)]
419         public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create(nameof(AutoScrollLoopDelay), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
420         {
421             var textLabel = (TextLabel)bindable;
422             if (newValue != null)
423             {
424                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopDelay, new Tizen.NUI.PropertyValue((float)newValue));
425             }
426         }),
427         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
428         {
429             var textLabel = (TextLabel)bindable;
430             float temp = 0.0f;
431             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollLoopDelay).Get(out temp);
432             return temp;
433         }));
434         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
435         [EditorBrowsable(EditorBrowsableState.Never)]
436         public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create(nameof(AutoScrollStopMode), typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
437         {
438             var textLabel = (TextLabel)bindable;
439             if (newValue != null)
440             {
441                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollStopMode, new Tizen.NUI.PropertyValue((int)newValue));
442             }
443         }),
444         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
445         {
446             var textLabel = (TextLabel)bindable;
447             string temp;
448             if (Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.AutoScrollStopMode).Get(out temp) == false)
449             {
450                 NUILog.Error("AutoScrollStopMode get error!");
451             }
452             return temp.GetValueByDescription<AutoScrollStopMode>();
453         }));
454         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
455         [EditorBrowsable(EditorBrowsableState.Never)]
456         public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
457         {
458             var textLabel = (TextLabel)bindable;
459             if (newValue != null)
460             {
461                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.LineWrapMode, new Tizen.NUI.PropertyValue((int)newValue));
462             }
463         }),
464         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
465         {
466             var textLabel = (TextLabel)bindable;
467             int temp;
468             if (false == Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.LineWrapMode).Get(out temp))
469             {
470                 NUILog.Error("LineWrapMode get error!");
471             }
472             return (LineWrapMode)temp;
473         }));
474         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
475         [EditorBrowsable(EditorBrowsableState.Never)]
476         public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create(nameof(VerticalLineAlignment), typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
477         {
478             var textLabel = (TextLabel)bindable;
479             if (newValue != null)
480             {
481                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.VerticalLineAlignment, new Tizen.NUI.PropertyValue((int)newValue));
482             }
483         }),
484         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
485         {
486             var textLabel = (TextLabel)bindable;
487             int temp = 0;
488             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.VerticalLineAlignment).Get(out temp);
489             return (VerticalLineAlignment)temp;
490         }));
491         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
492         [EditorBrowsable(EditorBrowsableState.Never)]
493         public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(MatchSystemLanguageDirection), typeof(bool), typeof(TextLabel), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
494         {
495             var textLabel = (TextLabel)bindable;
496             if (newValue != null)
497             {
498                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MatchSystemLanguageDirection, new Tizen.NUI.PropertyValue((bool)newValue));
499             }
500         }),
501         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
502         {
503             var textLabel = (TextLabel)bindable;
504             bool temp = false;
505             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MatchSystemLanguageDirection).Get(out temp);
506             return temp;
507         }));
508
509         /// Only for XAML. No need of public API. Make hidden as inhouse API.
510         [EditorBrowsable(EditorBrowsableState.Never)]
511         public static readonly BindableProperty TextFitProperty = BindableProperty.Create(nameof(TextFit), typeof(PropertyMap), typeof(TextLabel), null, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
512         {
513             var textLabel = (TextLabel)bindable;
514             if (newValue != null)
515             {
516                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TextFit, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
517             }
518         }),
519         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
520         {
521             var textLabel = (TextLabel)bindable;
522             PropertyMap temp = new PropertyMap();
523             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.TextFit).Get(temp);
524             return temp;
525         }));
526
527         /// Only for XAML. No need of public API. Make hidden as inhouse API.
528         [EditorBrowsable(EditorBrowsableState.Never)]
529         public static readonly BindableProperty MinLineSizeProperty = BindableProperty.Create(nameof(MinLineSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
530         {
531             var textLabel = (TextLabel)bindable;
532             if (newValue != null)
533             {
534                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MinLineSize, new Tizen.NUI.PropertyValue((float)newValue));
535             }
536         }),
537         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
538         {
539             var textLabel = (TextLabel)bindable;
540             float temp = 0.0f;
541             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.MinLineSize).Get(out temp);
542             return temp;
543         }));
544
545         [EditorBrowsable(EditorBrowsableState.Never)]
546         public static readonly BindableProperty FontSizeScaleProperty = BindableProperty.Create(nameof(FontSizeScale), typeof(float), typeof(TextLabel), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
547         {
548             var textLabel = (TextLabel)bindable;
549             if (newValue != null)
550             {
551                 using (var property = new Tizen.NUI.PropertyValue((float)newValue))
552                 {
553                     Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontSizeScale, property);
554                 }
555             }
556         }),
557         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
558         {
559             var textLabel = (TextLabel)bindable;
560             float temp;
561             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)textLabel.SwigCPtr, TextLabel.Property.FontSizeScale).Get(out temp);
562             return temp;
563         }));
564
565         #region Selectors
566         internal static readonly BindableProperty TranslatableTextSelectorProperty = BindableProperty.Create("TranslatableTextSelector", typeof(Selector<string>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
567         {
568             var textLabel = (TextLabel)bindable;
569             textLabel.SelectorData.TranslatableText.Update(textLabel, (Selector<string>)newValue, true);
570         },
571         defaultValueCreator: (bindable) =>
572         {
573             var textLabel = (TextLabel)bindable;
574             return textLabel.SelectorData.TranslatableText.Get(textLabel);
575         });
576         internal static readonly BindableProperty TextSelectorProperty = BindableProperty.Create("TextSelector", typeof(Selector<string>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
577         {
578             var textLabel = (TextLabel)bindable;
579             textLabel.SelectorData.Text.Update(textLabel, (Selector<string>)newValue, true);
580         },
581         defaultValueCreator: (bindable) =>
582         {
583             var textLabel = (TextLabel)bindable;
584             return textLabel.SelectorData.Text.Get(textLabel);
585         });
586         internal static readonly BindableProperty FontFamilySelectorProperty = BindableProperty.Create("FontFamilySelector", typeof(Selector<string>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
587         {
588             var textLabel = (TextLabel)bindable;
589             textLabel.SelectorData.FontFamily.Update(textLabel, (Selector<string>)newValue, true);
590         },
591         defaultValueCreator: (bindable) =>
592         {
593             var textLabel = (TextLabel)bindable;
594             return textLabel.SelectorData.FontFamily.Get(textLabel);
595         });
596         internal static readonly BindableProperty PointSizeSelectorProperty = BindableProperty.Create("PointSizeSelector", typeof(Selector<float?>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
597         {
598             var textLabel = (TextLabel)bindable;
599             textLabel.SelectorData.PointSize.Update(textLabel, (Selector<float?>)newValue, true);
600         },
601         defaultValueCreator: (bindable) =>
602         {
603             var textLabel = (TextLabel)bindable;
604             return textLabel.SelectorData.PointSize.Get(textLabel);
605         });
606         internal static readonly BindableProperty TextColorSelectorProperty = BindableProperty.Create("TextColorSelector", typeof(Selector<Color>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
607         {
608             var textLabel = (TextLabel)bindable;
609             textLabel.SelectorData.TextColor.Update(textLabel, (Selector<Color>)newValue, true);
610         },
611         defaultValueCreator: (bindable) =>
612         {
613             var textLabel = (TextLabel)bindable;
614             return textLabel.SelectorData.TextColor.Get(textLabel);
615         });
616
617         internal static readonly BindableProperty TextShadowSelectorProperty = BindableProperty.Create("TextShadowSelector", typeof(Selector<TextShadow>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
618         {
619             var textLabel = (TextLabel)bindable;
620             textLabel.SelectorData.TextShadow.Update(textLabel, (Selector<TextShadow>)newValue, true);
621         },
622         defaultValueCreator: (bindable) =>
623         {
624             var textLabel = (TextLabel)bindable;
625             return textLabel.SelectorData.TextShadow.Get(textLabel);
626         });
627
628         internal static readonly BindableProperty PixelSizeSelectorProperty = BindableProperty.Create("PixelSizeSelector", typeof(Selector<float?>), typeof(TextLabel), null, propertyChanged: (bindable, oldValue, newValue) =>
629         {
630             var textLabel = (TextLabel)bindable;
631             ((TextLabel)bindable).SelectorData.PixelSize.Update(textLabel, (Selector<float?>)newValue, true);
632         },
633         defaultValueCreator: (bindable) =>
634         {
635             var textLabel = (TextLabel)bindable;
636             return textLabel.SelectorData.PixelSize.Get(textLabel);
637         });
638         #endregion
639
640     }
641 }