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