[NUI] Sync dalihub and Samsung TizenFX (#338)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextLabel.cs
1 /*
2  * Copyright(c) 2017 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 TizenSystemSettings.Tizen.System;
20 using System;
21 using System.Globalization;
22 using System.ComponentModel;
23 using Tizen.NUI.Binding;
24
25 namespace Tizen.NUI.BaseComponents
26 {
27
28     /// <summary>
29     /// A control which renders a short text string.<br />
30     /// Text labels are lightweight, non-editable, and do not respond to the user input.<br />
31     /// </summary>
32     /// <since_tizen> 3 </since_tizen>
33     [ContentProperty("Text")]
34     public class TextLabel : View
35     {
36         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
37         [EditorBrowsable(EditorBrowsableState.Never)]
38         public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
39         {
40             var textLabel = (TextLabel)bindable;
41                         if (newValue != null)
42             {
43                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.TEXT, new Tizen.NUI.PropertyValue((string)newValue));
44             }
45         },
46         defaultValueCreator:(bindable) =>
47         {
48             var textLabel = (TextLabel)bindable;
49             string temp;
50             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.TEXT).Get(out temp);
51             return temp;
52         });
53         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
54         [EditorBrowsable(EditorBrowsableState.Never)]
55         public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
56         {
57             var textLabel = (TextLabel)bindable;
58             if (newValue != null)
59             {
60                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue((string)newValue));
61             }
62         },
63         defaultValueCreator:(bindable) =>
64         {
65             var textLabel = (TextLabel)bindable;
66             string temp;
67             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.FONT_FAMILY).Get(out temp);
68             return temp;
69         });
70         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
71         [EditorBrowsable(EditorBrowsableState.Never)]
72         public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
73         {
74             var textLabel = (TextLabel)bindable;
75             if (newValue != null)
76             {
77                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.FONT_STYLE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
78             }
79         },
80         defaultValueCreator:(bindable) =>
81         {
82             var textLabel = (TextLabel)bindable;
83             PropertyMap temp = new PropertyMap();
84             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.FONT_STYLE).Get(temp);
85             return temp;
86         });
87         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
88         [EditorBrowsable(EditorBrowsableState.Never)]
89         public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
90         {
91             var textLabel = (TextLabel)bindable;
92             if (newValue != null)
93             {
94                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.POINT_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
95             }
96         },
97         defaultValueCreator:(bindable) =>
98         {
99             var textLabel = (TextLabel)bindable;
100             float temp = 0.0f;
101             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.POINT_SIZE).Get(out temp);
102             return temp;
103         });
104         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
105         [EditorBrowsable(EditorBrowsableState.Never)]
106         public static readonly BindableProperty MultiLineProperty = BindableProperty.Create("MultiLine", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
107         {
108             var textLabel = (TextLabel)bindable;
109             if (newValue != null)
110             {
111                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.MULTI_LINE, new Tizen.NUI.PropertyValue((bool)newValue));
112             }
113         },
114         defaultValueCreator:(bindable) =>
115         {
116             var textLabel = (TextLabel)bindable;
117             bool temp = false;
118             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.MULTI_LINE).Get(out temp);
119             return temp;
120         });
121         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
122         [EditorBrowsable(EditorBrowsableState.Never)]
123         public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
124         {
125             var textLabel = (TextLabel)bindable;
126             string valueToString = "";
127             if (newValue != null)
128             {
129                 switch ((HorizontalAlignment)newValue)
130                 {
131                     case HorizontalAlignment.Begin: { valueToString = "BEGIN"; break; }
132                     case HorizontalAlignment.Center: { valueToString = "CENTER"; break; }
133                     case HorizontalAlignment.End: { valueToString = "END"; break; }
134                     default: { valueToString = "BEGIN"; break; }
135                 }
136                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
137             }
138         },
139         defaultValueCreator:(bindable) =>
140         {
141             var textLabel = (TextLabel)bindable;
142             string temp;
143             if (Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
144             {
145                 NUILog.Error("HorizontalAlignment get error!");
146             }
147             switch (temp)
148             {
149                 case "BEGIN": return HorizontalAlignment.Begin;
150                 case "CENTER":  return HorizontalAlignment.Center;
151                 case "END":  return HorizontalAlignment.End;
152                 default: return HorizontalAlignment.Begin;
153             }
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("VerticalAlignment", typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
158         {
159             var textLabel = (TextLabel)bindable;
160             string valueToString = "";
161             if (newValue != null)
162             {
163                 switch ((VerticalAlignment)newValue)
164                 {
165                     case VerticalAlignment.Top: { valueToString = "TOP"; break; }
166                     case VerticalAlignment.Center: { valueToString = "CENTER"; break; }
167                     case VerticalAlignment.Bottom: { valueToString = "BOTTOM"; break; }
168                     default: { valueToString = "BOTTOM"; break; }
169                 }
170                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
171             }
172         },
173         defaultValueCreator:(bindable) =>
174         {
175             var textLabel = (TextLabel)bindable;
176             string temp;
177             if (Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
178             {
179                 NUILog.Error("VerticalAlignment get error!");
180             }
181
182             switch (temp)
183             {
184                 case "TOP": return VerticalAlignment.Top;
185                 case "CENTER": return VerticalAlignment.Center;
186                 case "BOTTOM": return VerticalAlignment.Bottom;
187                 default: return VerticalAlignment.Bottom;
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 TextColorProperty = BindableProperty.Create("TextColor", typeof(Color), typeof(TextLabel), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
193         {
194             var textLabel = (TextLabel)bindable;
195             if (newValue != null)
196             {
197                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue((Color)newValue));
198             }
199         },
200         defaultValueCreator:(bindable) =>
201         {
202             var textLabel = (TextLabel)bindable;
203             Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
204             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.TEXT_COLOR).Get(temp);
205             return temp;
206         });
207         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
208         [EditorBrowsable(EditorBrowsableState.Never)]
209         public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create("ShadowOffset", typeof(Vector2), typeof(TextLabel), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
210         {
211             var textLabel = (TextLabel)bindable;
212             if (newValue != null)
213             {
214                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue((Vector2)newValue));
215             }
216         },
217         defaultValueCreator:(bindable) =>
218         {
219             var textLabel = (TextLabel)bindable;
220             Vector2 temp = new Vector2(0.0f, 0.0f);
221             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_OFFSET).Get(temp);
222             return temp;
223         });
224         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
225         [EditorBrowsable(EditorBrowsableState.Never)]
226         public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create("ShadowColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
227         {
228             var textLabel = (TextLabel)bindable;
229             if (newValue != null)
230             {
231                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
232             }
233         },
234         defaultValueCreator:(bindable) =>
235         {
236             var textLabel = (TextLabel)bindable;
237             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
238             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW_COLOR).Get(temp);
239             return temp;
240         });
241         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
242         [EditorBrowsable(EditorBrowsableState.Never)]
243         public static readonly BindableProperty UnderlineEnabledProperty = BindableProperty.Create("UnderlineEnabled", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
244         {
245             var textLabel = (TextLabel)bindable;
246             if (newValue != null)
247             {
248                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_ENABLED, new Tizen.NUI.PropertyValue((bool)newValue));
249             }
250         },
251         defaultValueCreator:(bindable) =>
252         {
253             var textLabel = (TextLabel)bindable;
254             bool temp = false;
255             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_ENABLED).Get(out temp);
256             return temp;
257         });
258         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
259         [EditorBrowsable(EditorBrowsableState.Never)]
260         public static readonly BindableProperty UnderlineColorProperty = BindableProperty.Create("UnderlineColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
261         {
262             var textLabel = (TextLabel)bindable;
263             if (newValue != null)
264             {
265                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
266             }
267         },
268         defaultValueCreator:(bindable) =>
269         {
270             var textLabel = (TextLabel)bindable;
271             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
272             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_COLOR).Get(temp);
273             return temp;
274         });
275         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
276         [EditorBrowsable(EditorBrowsableState.Never)]
277         public static readonly BindableProperty UnderlineHeightProperty = BindableProperty.Create("UnderlineHeight", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
278         {
279             var textLabel = (TextLabel)bindable;
280             if (newValue != null)
281             {
282                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_HEIGHT, new Tizen.NUI.PropertyValue((float)newValue));
283             }
284         },
285         defaultValueCreator:(bindable) =>
286         {
287             var textLabel = (TextLabel)bindable;
288             float temp = 0.0f;
289             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE_HEIGHT).Get(out temp);
290             return temp;
291         });
292         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
293         [EditorBrowsable(EditorBrowsableState.Never)]
294         public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
295         {
296             var textLabel = (TextLabel)bindable;
297             if (newValue != null)
298             {
299                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue((bool)newValue));
300             }
301         },
302         defaultValueCreator:(bindable) =>
303         {
304             var textLabel = (TextLabel)bindable;
305             bool temp = false;
306             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.ENABLE_MARKUP).Get(out temp);
307             return temp;
308         });
309         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
310         [EditorBrowsable(EditorBrowsableState.Never)]
311         public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create("EnableAutoScroll", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
312         {
313             var textLabel = (TextLabel)bindable;
314             if (newValue != null)
315             {
316                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.ENABLE_AUTO_SCROLL, new Tizen.NUI.PropertyValue((bool)newValue));
317             }
318         },
319         defaultValueCreator:(bindable) =>
320         {
321             var textLabel = (TextLabel)bindable;
322             bool temp = false;
323             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.ENABLE_AUTO_SCROLL).Get(out temp);
324             return temp;
325         });
326         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
327         [EditorBrowsable(EditorBrowsableState.Never)]
328         public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create("AutoScrollSpeed", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
329         {
330             var textLabel = (TextLabel)bindable;
331             if (newValue != null)
332             {
333                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_SPEED, new Tizen.NUI.PropertyValue((int)newValue));
334             }
335         },
336         defaultValueCreator:(bindable) =>
337         {
338             var textLabel = (TextLabel)bindable;
339             int temp = 0;
340             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_SPEED).Get(out temp);
341             return temp;
342         });
343         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
344         [EditorBrowsable(EditorBrowsableState.Never)]
345         public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create("AutoScrollLoopCount", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
346         {
347             var textLabel = (TextLabel)bindable;
348             if (newValue != null)
349             {
350                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Tizen.NUI.PropertyValue((int)newValue));
351             }
352         },
353         defaultValueCreator:(bindable) =>
354         {
355             var textLabel = (TextLabel)bindable;
356             int temp = 0;
357             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_LOOP_COUNT).Get(out temp);
358             return temp;
359         });
360         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
361         [EditorBrowsable(EditorBrowsableState.Never)]
362         public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create("AutoScrollGap", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
363         {
364             var textLabel = (TextLabel)bindable;
365             if (newValue != null)
366             {
367                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_GAP, new Tizen.NUI.PropertyValue((float)newValue));
368             }
369         },
370         defaultValueCreator:(bindable) =>
371         {
372             var textLabel = (TextLabel)bindable;
373             float temp = 0.0f;
374             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_GAP).Get(out temp);
375             return temp;
376         });
377         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
378         [EditorBrowsable(EditorBrowsableState.Never)]
379         public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create("LineSpacing", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
380         {
381             var textLabel = (TextLabel)bindable;
382             if (newValue != null)
383             {
384                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.LINE_SPACING, new Tizen.NUI.PropertyValue((float)newValue));
385             }
386         },
387         defaultValueCreator:(bindable) =>
388         {
389             var textLabel = (TextLabel)bindable;
390             float temp = 0.0f;
391             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.LINE_SPACING).Get(out temp);
392             return temp;
393         });
394         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
395         [EditorBrowsable(EditorBrowsableState.Never)]
396         public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
397         {
398             var textLabel = (TextLabel)bindable;
399             if (newValue != null)
400             {
401                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
402             }
403         },
404         defaultValueCreator:(bindable) =>
405         {
406             var textLabel = (TextLabel)bindable;
407             PropertyMap temp = new PropertyMap();
408             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.UNDERLINE).Get(temp);
409             return temp;
410         });
411         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
412         [EditorBrowsable(EditorBrowsableState.Never)]
413         public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
414         {
415             var textLabel = (TextLabel)bindable;
416             if (newValue != null)
417             {
418                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
419             }
420         },
421         defaultValueCreator:(bindable) =>
422         {
423             var textLabel = (TextLabel)bindable;
424             PropertyMap temp = new PropertyMap();
425             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.SHADOW).Get(temp);
426             return temp;
427         });
428         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
429         [EditorBrowsable(EditorBrowsableState.Never)]
430         public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
431         {
432             var textLabel = (TextLabel)bindable;
433             if (newValue != null)
434             {
435                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.EMBOSS, new Tizen.NUI.PropertyValue((string)newValue));
436             }
437         },
438         defaultValueCreator:(bindable) =>
439         {
440             var textLabel = (TextLabel)bindable;
441             string temp;
442             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.EMBOSS).Get(out temp);
443             return temp;
444         });
445         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
446         [EditorBrowsable(EditorBrowsableState.Never)]
447         public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
448         {
449             var textLabel = (TextLabel)bindable;
450             if (newValue != null)
451             {
452                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
453             }
454         },
455         defaultValueCreator:(bindable) =>
456         {
457             var textLabel = (TextLabel)bindable;
458             PropertyMap temp = new PropertyMap();
459             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.OUTLINE).Get(temp);
460             return temp;
461         });
462         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
463         [EditorBrowsable(EditorBrowsableState.Never)]
464         public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
465         {
466             var textLabel = (TextLabel)bindable;
467             if (newValue != null)
468             {
469                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue((float)newValue));
470             }
471         },
472         defaultValueCreator:(bindable) =>
473         {
474             var textLabel = (TextLabel)bindable;
475             float temp = 0.0f;
476             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.PIXEL_SIZE).Get(out temp);
477             return temp;
478         });
479         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
480         [EditorBrowsable(EditorBrowsableState.Never)]
481         public static readonly BindableProperty EllipsisProperty = BindableProperty.Create("Ellipsis", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
482         {
483             var textLabel = (TextLabel)bindable;
484             if (newValue != null)
485             {
486                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.ELLIPSIS, new Tizen.NUI.PropertyValue((bool)newValue));
487             }
488         },
489         defaultValueCreator:(bindable) =>
490         {
491             var textLabel = (TextLabel)bindable;
492             bool temp = false;
493             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.ELLIPSIS).Get(out temp);
494             return temp;
495         });
496         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
497         [EditorBrowsable(EditorBrowsableState.Never)]
498         public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create("AutoScrollLoopDelay", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
499         {
500             var textLabel = (TextLabel)bindable;
501             if (newValue != null)
502             {
503                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_LOOP_DELAY, new Tizen.NUI.PropertyValue((float)newValue));
504             }
505         },
506         defaultValueCreator:(bindable) =>
507         {
508             var textLabel = (TextLabel)bindable;
509             float temp = 0.0f;
510             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_LOOP_DELAY).Get(out temp);
511             return temp;
512         });
513         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
514         [EditorBrowsable(EditorBrowsableState.Never)]
515         public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create("AutoScrollStopMode", typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (bindable, oldValue, newValue) =>
516         {
517             var textLabel = (TextLabel)bindable;
518             if (newValue != null)
519             {
520                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_STOP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
521             }
522         },
523         defaultValueCreator:(bindable) =>
524         {
525             var textLabel = (TextLabel)bindable;
526             string temp;
527             if(Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.AUTO_SCROLL_STOP_MODE).Get(out temp) == false)
528             {
529                 NUILog.Error("AutoScrollStopMode get error!");
530             }
531             switch (temp)
532             {
533                 case "FINISH_LOOP": return AutoScrollStopMode.FinishLoop;
534                 case "IMMEDIATE": return AutoScrollStopMode.Immediate;
535                 default: return AutoScrollStopMode.FinishLoop;
536             }
537         });
538         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
539         [EditorBrowsable(EditorBrowsableState.Never)]
540         public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create("LineWrapMode", typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
541         {
542             var textLabel = (TextLabel)bindable;
543             if (newValue != null)
544             {
545                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue((int)newValue));
546             }
547         },
548         defaultValueCreator:(bindable) =>
549         {
550             var textLabel = (TextLabel)bindable;
551             int temp;
552             if (false == Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.LINE_WRAP_MODE).Get(out temp))
553             {
554                 NUILog.Error("LineWrapMode get error!");
555             }
556             return (LineWrapMode)temp;
557         });
558         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
559         [EditorBrowsable(EditorBrowsableState.Never)]
560         public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create("VerticalLineAlignment", typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
561         {
562             var textLabel = (TextLabel)bindable;
563             if (newValue != null)
564             {
565                 Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_LINE_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
566             }
567         },
568         defaultValueCreator:(bindable) =>
569         {
570             var textLabel = (TextLabel)bindable;
571             int temp = 0;
572             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_LINE_ALIGNMENT).Get(out temp);
573             return (VerticalLineAlignment)temp;
574         });
575
576
577         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
578         private string textLabelSid = null;
579         private bool systemlangTextFlag = false;
580         internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
581         {
582             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
583         }
584
585         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
586         {
587             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
588         }
589
590         /// <summary>
591         /// Downcasts a handle to textLabel handle
592         /// </summary>
593         /// <param name="handle"></param>
594         /// <returns></returns>
595         /// <since_tizen> 3 </since_tizen>
596         /// Please do not use! this will be deprecated!
597         /// Instead please use as keyword.
598         [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead! " +
599             "Like: " +
600             "BaseHandle handle = new TextLabel(\"Hello World!\"); " +
601             "TextLabel label = handle as TextLabel")]
602         [EditorBrowsable(EditorBrowsableState.Never)]
603         public static TextLabel DownCast(BaseHandle handle)
604         {
605             TextLabel ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TextLabel;
606
607             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
608             return ret;
609         }
610
611         /// <summary>
612         /// Dispose.
613         /// </summary>
614         /// <since_tizen> 3 </since_tizen>
615         protected override void Dispose(DisposeTypes type)
616         {
617             if (disposed)
618             {
619                 return;
620             }
621
622             if(type == DisposeTypes.Explicit)
623             {
624                 //Called by User
625                 //Release your own managed resources here.
626                 //You should release all of your own disposable objects here.
627             }
628
629             //Release your own unmanaged resources here.
630             //You should not access any managed member here except static instance.
631             //because the execution order of Finalizes is non-deterministic.
632
633             if (swigCPtr.Handle != global::System.IntPtr.Zero)
634             {
635                 if (swigCMemOwn)
636                 {
637                     swigCMemOwn = false;
638                     NDalicPINVOKE.delete_TextLabel(swigCPtr);
639                 }
640                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
641             }
642
643             base.Dispose(type);
644         }
645
646         internal new class Property
647         {
648             internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
649             internal static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
650             internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
651             internal static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
652             internal static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
653             internal static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
654             internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
655             internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
656             internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
657             internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
658             internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
659             internal static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
660             internal static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
661             internal static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
662             internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
663             internal static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
664             internal static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
665             internal static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
666             internal static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
667             internal static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
668             internal static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
669             internal static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
670             internal static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
671             internal static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
672             internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextLabel_Property_PIXEL_SIZE_get();
673             internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextLabel_Property_ELLIPSIS_get();
674             internal static readonly int AUTO_SCROLL_STOP_MODE = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_STOP_MODE_get();
675             internal static readonly int AUTO_SCROLL_LOOP_DELAY = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_DELAY_get();
676             internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextLabel_Property_LINE_COUNT_get();
677             internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextLabel_Property_LINE_WRAP_MODE_get();
678             internal static readonly int TEXT_DIRECTION = NDalicManualPINVOKE.TextLabel_Property_TEXT_DIRECTION_get();
679             internal static readonly int VERTICAL_LINE_ALIGNMENT = NDalicManualPINVOKE.TextLabel_Property_VERTICAL_LINE_ALIGNMENT_get();
680         }
681
682         /// <summary>
683         /// Creates the TextLabel control.
684         /// </summary>
685         /// <since_tizen> 3 </since_tizen>
686         public TextLabel() : this(NDalicPINVOKE.TextLabel_New__SWIG_0(), true)
687         {
688             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
689
690         }
691
692         /// <summary>
693         /// Creates the TextLabel control.
694         /// </summary>
695         /// <param name="text">The text to display</param>
696         /// <since_tizen> 3 </since_tizen>
697         public TextLabel(string text) : this(NDalicPINVOKE.TextLabel_New__SWIG_1(text), true)
698         {
699             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
700
701         }
702
703         internal TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true)
704         {
705             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
706         }
707
708         protected override void OnBindingContextChanged()
709         {
710             base.OnBindingContextChanged();
711         }
712
713         /// <summary>
714         /// The TranslatableText property.<br />
715         /// The text can set the SID value.<br />
716         /// </summary>
717         /// <exception cref='ArgumentNullException'>
718         /// ResourceManager about multilingual is null.
719         /// </exception>
720         /// <since_tizen> 4 </since_tizen>
721         public string TranslatableText
722         {
723             get
724             {
725                 return textLabelSid;
726             }
727             set
728             {
729                 if (NUIApplication.MultilingualResourceManager == null)
730                 {
731                     throw new ArgumentNullException("ResourceManager about multilingual is null");
732                 }
733                 string translatableText = null;
734                 textLabelSid = value;
735                 translatableText = NUIApplication.MultilingualResourceManager?.GetString(textLabelSid, new CultureInfo(SystemSettings.LocaleLanguage.Replace("_", "-")));
736                 if (translatableText != null)
737                 {
738                     Text = translatableText;
739                     if (systemlangTextFlag == false)
740                     {
741                         SystemSettings.LocaleLanguageChanged += new WeakEventHandler<LocaleLanguageChangedEventArgs>(SystemSettings_LocaleLanguageChanged).Handler;
742                         systemlangTextFlag = true;
743                     }
744                 }
745                 else
746                 {
747                     Text = "";
748                 }
749                 NotifyPropertyChanged();
750             }
751         }
752         private void SystemSettings_LocaleLanguageChanged(object sender, LocaleLanguageChangedEventArgs e)
753         {
754             Text = NUIApplication.MultilingualResourceManager?.GetString(textLabelSid, new CultureInfo(e.Value.Replace("_", "-")));
755         }
756
757         /// <summary>
758         /// The Text property.<br />
759         /// The text to display in the UTF-8 format.<br />
760         /// </summary>
761         /// <since_tizen> 3 </since_tizen>
762         public string Text
763         {
764             get
765             {
766                 return (string)GetValue(TextProperty);
767             }
768             set
769             {
770                 SetValue(TextProperty, value);
771                 NotifyPropertyChanged();
772             }
773         }
774
775         /// <summary>
776         /// The FontFamily property.<br />
777         /// The requested font family to use.<br />
778         /// </summary>
779         /// <since_tizen> 3 </since_tizen>
780         public string FontFamily
781         {
782             get
783             {
784                 return (string)GetValue(FontFamilyProperty);
785             }
786             set
787             {
788                 SetValue(FontFamilyProperty, value);
789                 NotifyPropertyChanged();
790             }
791         }
792
793         /// <summary>
794         /// The FontStyle property.<br />
795         /// The requested font style to use.<br />
796         /// </summary>
797         /// <since_tizen> 3 </since_tizen>
798         public PropertyMap FontStyle
799         {
800             get
801             {
802                 return (PropertyMap)GetValue(FontStyleProperty);
803             }
804             set
805             {
806                 SetValue(FontStyleProperty, value);
807                 NotifyPropertyChanged();
808             }
809         }
810
811         /// <summary>
812         /// The PointSize property.<br />
813         /// The size of font in points.<br />
814         /// </summary>
815         /// <since_tizen> 3 </since_tizen>
816         public float PointSize
817         {
818             get
819             {
820                 return (float)GetValue(PointSizeProperty);
821             }
822             set
823             {
824                 SetValue(PointSizeProperty, value);
825                 NotifyPropertyChanged();
826             }
827         }
828
829         /// <summary>
830         /// The MultiLine property.<br />
831         /// The single-line or multi-line layout option.<br />
832         /// </summary>
833         /// <since_tizen> 3 </since_tizen>
834         public bool MultiLine
835         {
836             get
837             {
838                 return (bool)GetValue(MultiLineProperty);
839             }
840             set
841             {
842                 SetValue(MultiLineProperty, value);
843                 NotifyPropertyChanged();
844             }
845         }
846
847         /// <summary>
848         /// The HorizontalAlignment property.<br />
849         /// The line horizontal alignment.<br />
850         /// </summary>
851         /// <since_tizen> 3 </since_tizen>
852         public HorizontalAlignment HorizontalAlignment
853         {
854             get
855             {
856                 return (HorizontalAlignment)GetValue(HorizontalAlignmentProperty);
857             }
858             set
859             {
860                 SetValue(HorizontalAlignmentProperty, value);
861                 NotifyPropertyChanged();
862             }
863         }
864
865         /// <summary>
866         /// The VerticalAlignment property.<br />
867         /// The line vertical alignment.<br />
868         /// </summary>
869         /// <since_tizen> 3 </since_tizen>
870         public VerticalAlignment VerticalAlignment
871         {
872             get
873             {
874                 return (VerticalAlignment)GetValue(VerticalAlignmentProperty);
875             }
876             set
877             {
878                 SetValue(VerticalAlignmentProperty, value);
879                 NotifyPropertyChanged();
880             }
881         }
882
883         /// <summary>
884         /// The TextColor property.<br />
885         /// The color of the text.<br />
886         /// Animation framework can be used to change the color of the text when not using mark up.<br />
887         /// Cannot animate the color when text is auto scrolling.<br />
888         /// </summary>
889         /// <since_tizen> 3 </since_tizen>
890         public Color TextColor
891         {
892             get
893             {
894                 return (Color)GetValue(TextColorProperty);
895             }
896             set
897             {
898                 SetValue(TextColorProperty, value);
899                 NotifyPropertyChanged();
900             }
901         }
902
903         /// <summary>
904         /// The ShadowOffset property.<br />
905         /// The drop shadow offset 0 indicates no shadow.<br />
906         /// </summary>
907         /// <since_tizen> 3 </since_tizen>
908         public Vector2 ShadowOffset
909         {
910             get
911             {
912                 return (Vector2)GetValue(ShadowOffsetProperty);
913             }
914             set
915             {
916                 SetValue(ShadowOffsetProperty, value);
917                 NotifyPropertyChanged();
918             }
919         }
920
921         /// <summary>
922         /// The ShadowColor property.<br />
923         /// The color of a drop shadow.<br />
924         /// </summary>
925         /// <since_tizen> 3 </since_tizen>
926         public Vector4 ShadowColor
927         {
928             get
929             {
930                 return (Vector4)GetValue(ShadowColorProperty);
931             }
932             set
933             {
934                 SetValue(ShadowColorProperty, value);
935                 NotifyPropertyChanged();
936             }
937         }
938
939         /// <summary>
940         /// The UnderlineEnabled property.<br />
941         /// The underline enabled flag.<br />
942         /// </summary>
943         /// <since_tizen> 3 </since_tizen>
944         public bool UnderlineEnabled
945         {
946             get
947             {
948                 return (bool)GetValue(UnderlineEnabledProperty);
949             }
950             set
951             {
952                 SetValue(UnderlineEnabledProperty, value);
953                 NotifyPropertyChanged();
954             }
955         }
956
957         /// <summary>
958         /// The UnderlineColor property.<br />
959         /// Overrides the underline height from font metrics.<br />
960         /// </summary>
961         /// <since_tizen> 3 </since_tizen>
962         public Vector4 UnderlineColor
963         {
964             get
965             {
966                 return (Vector4)GetValue(UnderlineColorProperty);
967             }
968             set
969             {
970                 SetValue(UnderlineColorProperty, value);
971                 NotifyPropertyChanged();
972             }
973         }
974
975         /// <summary>
976         /// The UnderlineHeight property.<br />
977         /// Overrides the underline height from font metrics.<br />
978         /// </summary>
979         /// <since_tizen> 3 </since_tizen>
980         public float UnderlineHeight
981         {
982             get
983             {
984                 return (float)GetValue(UnderlineHeightProperty);
985             }
986             set
987             {
988                 SetValue(UnderlineHeightProperty, value);
989                 NotifyPropertyChanged();
990             }
991         }
992
993         /// <summary>
994         /// The EnableMarkup property.<br />
995         /// Whether the mark-up processing is enabled.<br />
996         /// </summary>
997         /// <since_tizen> 3 </since_tizen>
998         public bool EnableMarkup
999         {
1000             get
1001             {
1002                 return (bool)GetValue(EnableMarkupProperty);
1003             }
1004             set
1005             {
1006                 SetValue(EnableMarkupProperty, value);
1007                 NotifyPropertyChanged();
1008             }
1009         }
1010
1011         /// <summary>
1012         /// The EnableAutoScroll property.<br />
1013         /// Starts or stops auto scrolling.<br />
1014         /// </summary>
1015         /// <since_tizen> 3 </since_tizen>
1016         public bool EnableAutoScroll
1017         {
1018             get
1019             {
1020                 return (bool)GetValue(EnableAutoScrollProperty);
1021             }
1022             set
1023             {
1024                 SetValue(EnableAutoScrollProperty, value);
1025                 NotifyPropertyChanged();
1026             }
1027         }
1028
1029         /// <summary>
1030         /// The AutoScrollSpeed property.<br />
1031         /// Sets the speed of scrolling in pixels per second.<br />
1032         /// </summary>
1033         /// <since_tizen> 3 </since_tizen>
1034         public int AutoScrollSpeed
1035         {
1036             get
1037             {
1038                 return (int)GetValue(AutoScrollSpeedProperty);
1039             }
1040             set
1041             {
1042                 SetValue(AutoScrollSpeedProperty, value);
1043                 NotifyPropertyChanged();
1044             }
1045         }
1046
1047         /// <summary>
1048         /// The AutoScrollLoopCount property.<br />
1049         /// Number of complete loops when scrolling enabled.<br />
1050         /// </summary>
1051         /// <since_tizen> 3 </since_tizen>
1052         public int AutoScrollLoopCount
1053         {
1054             get
1055             {
1056                 return (int)GetValue(AutoScrollLoopCountProperty);
1057             }
1058             set
1059             {
1060                 SetValue(AutoScrollLoopCountProperty, value);
1061                 NotifyPropertyChanged();
1062             }
1063         }
1064
1065         /// <summary>
1066         /// The AutoScrollGap property.<br />
1067         /// Gap before scrolling wraps.<br />
1068         /// </summary>
1069         /// <since_tizen> 3 </since_tizen>
1070         public float AutoScrollGap
1071         {
1072             get
1073             {
1074                 return (float)GetValue(AutoScrollGapProperty);
1075             }
1076             set
1077             {
1078                 SetValue(AutoScrollGapProperty, value);
1079                 NotifyPropertyChanged();
1080             }
1081         }
1082
1083         /// <summary>
1084         /// The LineSpacing property.<br />
1085         /// The default extra space between lines in points.<br />
1086         /// </summary>
1087         /// <since_tizen> 3 </since_tizen>
1088         public float LineSpacing
1089         {
1090             get
1091             {
1092                 return (float)GetValue(LineSpacingProperty);
1093             }
1094             set
1095             {
1096                 SetValue(LineSpacingProperty, value);
1097                 NotifyPropertyChanged();
1098             }
1099         }
1100
1101         /// <summary>
1102         /// The Underline property.<br />
1103         /// The default underline parameters.<br />
1104         /// </summary>
1105         /// <since_tizen> 3 </since_tizen>
1106         public PropertyMap Underline
1107         {
1108             get
1109             {
1110                 return (PropertyMap)GetValue(UnderlineProperty);
1111             }
1112             set
1113             {
1114                 SetValue(UnderlineProperty, value);
1115                 NotifyPropertyChanged();
1116             }
1117         }
1118
1119         /// <summary>
1120         /// The Shadow property.<br />
1121         /// The default shadow parameters.<br />
1122         /// </summary>
1123         /// <since_tizen> 3 </since_tizen>
1124         public PropertyMap Shadow
1125         {
1126             get
1127             {
1128                 return (PropertyMap)GetValue(ShadowProperty);
1129             }
1130             set
1131             {
1132                 SetValue(ShadowProperty, value);
1133                 NotifyPropertyChanged();
1134             }
1135         }
1136
1137         /// <summary>
1138         /// The Emboss property.<br />
1139         /// The default emboss parameters.<br />
1140         /// </summary>
1141         /// <since_tizen> 3 </since_tizen>
1142         public string Emboss
1143         {
1144             get
1145             {
1146                 return (string)GetValue(EmbossProperty);
1147             }
1148             set
1149             {
1150                 SetValue(EmbossProperty, value);
1151                 NotifyPropertyChanged();
1152             }
1153         }
1154
1155         /// <summary>
1156         /// The Outline property.<br />
1157         /// The default outline parameters.<br />
1158         /// </summary>
1159         /// <since_tizen> 3 </since_tizen>
1160         public PropertyMap Outline
1161         {
1162             get
1163             {
1164                 return (PropertyMap)GetValue(OutlineProperty);
1165             }
1166             set
1167             {
1168                 SetValue(OutlineProperty, value);
1169                 NotifyPropertyChanged();
1170             }
1171         }
1172
1173         /// <summary>
1174         /// The PixelSize property.<br />
1175         /// The size of font in pixels.<br />
1176         /// </summary>
1177         /// <since_tizen> 3 </since_tizen>
1178         public float PixelSize
1179         {
1180             get
1181             {
1182                 return (float)GetValue(PixelSizeProperty);
1183             }
1184             set
1185             {
1186                 SetValue(PixelSizeProperty, value);
1187                 NotifyPropertyChanged();
1188             }
1189         }
1190
1191         /// <summary>
1192         /// The Ellipsis property.<br />
1193         /// Enable or disable the ellipsis.<br />
1194         /// </summary>
1195         /// <since_tizen> 3 </since_tizen>
1196         public bool Ellipsis
1197         {
1198             get
1199             {
1200                 return (bool)GetValue(EllipsisProperty);
1201             }
1202             set
1203             {
1204                 SetValue(EllipsisProperty, value);
1205                 NotifyPropertyChanged();
1206             }
1207         }
1208
1209         /// <summary>
1210         /// The AutoScrollLoopDelay property.<br />
1211         /// Do something.<br />
1212         /// </summary>
1213         /// <since_tizen> 3 </since_tizen>
1214         public float AutoScrollLoopDelay
1215         {
1216             get
1217             {
1218                 return (float)GetValue(AutoScrollLoopDelayProperty);
1219             }
1220             set
1221             {
1222                 SetValue(AutoScrollLoopDelayProperty, value);
1223                 NotifyPropertyChanged();
1224             }
1225         }
1226
1227         /// <summary>
1228         /// The AutoScrollStopMode property.<br />
1229         /// Do something.<br />
1230         /// </summary>
1231         /// <since_tizen> 3 </since_tizen>
1232         public AutoScrollStopMode AutoScrollStopMode
1233         {
1234             get
1235             {
1236                 return (AutoScrollStopMode)GetValue(AutoScrollStopModeProperty);
1237             }
1238             set
1239             {
1240                 SetValue(AutoScrollStopModeProperty, value);
1241                 NotifyPropertyChanged();
1242             }
1243         }
1244
1245         /// <summary>
1246         /// The line count of the text.
1247         /// </summary>
1248         /// <since_tizen> 3 </since_tizen>
1249         public int LineCount
1250         {
1251             get
1252             {
1253                 int temp = 0;
1254                 GetProperty(TextLabel.Property.LINE_COUNT).Get(out temp);
1255                 return temp;
1256             }
1257         }
1258
1259         /// <summary>
1260         /// The LineWrapMode property.<br />
1261         /// line wrap mode when the text lines over layout width.<br />
1262         /// </summary>
1263         /// <since_tizen> 4 </since_tizen>
1264         public LineWrapMode LineWrapMode
1265         {
1266             get
1267             {
1268                 return (LineWrapMode)GetValue(LineWrapModeProperty);
1269             }
1270             set
1271             {
1272                 SetValue(LineWrapModeProperty, value);
1273                 NotifyPropertyChanged();
1274             }
1275         }
1276
1277         /// <summary>
1278         /// The text direction.
1279         /// </summary>
1280         /// <since_tizen> 5 </since_tizen>
1281         /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
1282         [EditorBrowsable(EditorBrowsableState.Never)]
1283         public TextDirection TextDirection
1284         {
1285             get
1286             {
1287                 int temp = 0;
1288                 GetProperty(TextLabel.Property.TEXT_DIRECTION).Get(out temp);
1289                 return (TextDirection)temp;
1290             }
1291         }
1292
1293         /// <summary>
1294         /// The text vertical line alignment.
1295         /// </summary>
1296         /// <since_tizen> 5 </since_tizen>
1297         /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
1298         [EditorBrowsable(EditorBrowsableState.Never)]
1299         public VerticalLineAlignment VerticalLineAlignment
1300         {
1301             get
1302             {
1303                 return (VerticalLineAlignment)GetValue(VerticalLineAlignmentProperty);
1304             }
1305             set
1306             {
1307                 SetValue(VerticalLineAlignmentProperty, value);
1308                 NotifyPropertyChanged();
1309             }
1310         }
1311     }
1312 }