[Tizen] Add properties of TextLabel/Editor
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / BaseComponents / TextLabel.cs
1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 *
15 */
16
17 using System;
18
19 namespace Tizen.NUI.BaseComponents
20 {
21
22     /// <summary>
23     /// A control which renders a short text string.<br>
24     /// Text labels are lightweight, non-editable and do not respond to user input.<br>
25     /// </summary>
26     public class TextLabel : View
27     {
28         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
29
30         internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
31         {
32             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
33         }
34
35         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
36         {
37             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
38         }
39
40         /// <summary>
41         /// Dispose
42         /// </summary>
43         protected override void Dispose(DisposeTypes type)
44         {
45             if (disposed)
46             {
47                 return;
48             }
49
50             if(type == DisposeTypes.Explicit)
51             {
52                 //Called by User
53                 //Release your own managed resources here.
54                 //You should release all of your own disposable objects here.
55             }
56
57             //Release your own unmanaged resources here.
58             //You should not access any managed member here except static instance.
59             //because the execution order of Finalizes is non-deterministic.
60
61             if (swigCPtr.Handle != global::System.IntPtr.Zero)
62             {
63                 if (swigCMemOwn)
64                 {
65                     swigCMemOwn = false;
66                     NDalicPINVOKE.delete_TextLabel(swigCPtr);
67                 }
68                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
69             }
70
71             base.Dispose(type);
72         }
73
74         internal class Property
75         {
76             internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
77             internal static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
78             internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
79             internal static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
80             internal static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
81             internal static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
82             internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
83             internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
84             internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
85             internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
86             internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
87             internal static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
88             internal static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
89             internal static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
90             internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
91             internal static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
92             internal static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
93             internal static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
94             internal static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
95             internal static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
96             internal static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
97             internal static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
98             internal static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
99             internal static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
100             internal static readonly int PIXEL_SIZE = NDalicManualPINVOKE.TextLabel_Property_PIXEL_SIZE_get();
101             internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextLabel_Property_ELLIPSIS_get();
102             internal static readonly int AUTO_SCROLL_STOP_MODE = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_STOP_MODE_get();
103             internal static readonly int AUTO_SCROLL_LOOP_DELAY = NDalicManualPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_DELAY_get();
104 <<<<<<< HEAD
105             internal static readonly int TEXT_COLOR_ANIMATABLE = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_ANIMATABLE_get();
106             internal static readonly int LINE_COUNT = OUTLINE + 5;
107 =======
108             internal static readonly int LINE_COUNT = NDalicManualPINVOKE.TextLabel_Property_LINE_COUNT_get();
109             internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextLabel_Property_LINE_WRAP_MODE_get();
110 >>>>>>> parent of b621f76... Revert "[Tizen] Add properties of TextLabel/Editor"
111         }
112
113         /// <summary>
114         /// Creates the TextLabel control.
115         /// </summary>
116         public TextLabel() : this(NDalicPINVOKE.TextLabel_New__SWIG_0(), true)
117         {
118             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
119
120         }
121
122         /// <summary>
123         /// Creates the TextLabel control.
124         /// </summary>
125         /// <param name="text">The text to display</param>
126         public TextLabel(string text) : this(NDalicPINVOKE.TextLabel_New__SWIG_1(text), true)
127         {
128             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
129
130         }
131         internal TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true)
132         {
133             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
134         }
135
136
137         [Obsolete("Please do not use! this will be deprecated")]
138         public new static TextLabel DownCast(BaseHandle handle)
139         {
140             TextLabel ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as TextLabel;
141             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
142             return ret;
143         }
144
145         /// <summary>
146         /// Text property.<br>
147         /// The text to display in UTF-8 format.<br>
148         /// </summary>
149         public string Text
150         {
151             get
152             {
153                 string temp;
154                 GetProperty(TextLabel.Property.TEXT).Get(out temp);
155                 return temp;
156             }
157             set
158             {
159                 SetProperty(TextLabel.Property.TEXT, new Tizen.NUI.PropertyValue(value));
160             }
161         }
162
163         /// <summary>
164         /// FontFamily property.<br>
165         /// The requested font family to use.<br>
166         /// </summary>
167         public string FontFamily
168         {
169             get
170             {
171                 string temp;
172                 GetProperty(TextLabel.Property.FONT_FAMILY).Get(out temp);
173                 return temp;
174             }
175             set
176             {
177                 SetProperty(TextLabel.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
178             }
179         }
180
181         /// <summary>
182         /// FontStyle property.<br>
183         /// The requested font style to use.<br>
184         /// </summary>
185         public PropertyMap FontStyle
186         {
187             get
188             {
189                 PropertyMap temp = new PropertyMap();
190                 GetProperty(TextLabel.Property.FONT_STYLE).Get(temp);
191                 return temp;
192             }
193             set
194             {
195                 SetProperty(TextLabel.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
196             }
197         }
198
199         /// <summary>
200         /// PointSize property.<br>
201         /// The size of font in points.<br>
202         /// </summary>
203         public float PointSize
204         {
205             get
206             {
207                 float temp = 0.0f;
208                 GetProperty(TextLabel.Property.POINT_SIZE).Get(out temp);
209                 return temp;
210             }
211             set
212             {
213                 SetProperty(TextLabel.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
214             }
215         }
216
217         /// <summary>
218         /// MultiLine property.<br>
219         /// The single-line or multi-line layout option.<br>
220         /// </summary>
221         public bool MultiLine
222         {
223             get
224             {
225                 bool temp = false;
226                 GetProperty(TextLabel.Property.MULTI_LINE).Get(out temp);
227                 return temp;
228             }
229             set
230             {
231                 SetProperty(TextLabel.Property.MULTI_LINE, new Tizen.NUI.PropertyValue(value));
232             }
233         }
234
235         /// <summary>
236         /// HorizontalAlignment property.<br>
237         /// The line horizontal alignment.<br>
238         /// </summary>
239         public HorizontalAlignment HorizontalAlignment
240         {
241             get
242             {
243                 string temp;
244                 if (GetProperty(TextLabel.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
245                 {
246                     NUILog.Error("HorizontalAlignment get error!");
247                 }
248                 switch (temp)
249                 {
250                     case "BEGIN":
251                         return HorizontalAlignment.Begin;
252                     case "CENTER":
253                         return HorizontalAlignment.Center;
254                     case "END":
255                         return HorizontalAlignment.End;
256                     default:
257                         return HorizontalAlignment.Begin;
258                 }
259             }
260             set
261             {
262                 string valueToString = "";
263                 switch (value)
264                 {
265                     case HorizontalAlignment.Begin:
266                     {
267                         valueToString = "BEGIN";
268                         break;
269                     }
270                     case HorizontalAlignment.Center:
271                     {
272                         valueToString = "CENTER";
273                         break;
274                     }
275                     case HorizontalAlignment.End:
276                     {
277                         valueToString = "END";
278                         break;
279                     }
280                     default:
281                     {
282                         valueToString = "BEGIN";
283                         break;
284                     }
285                 }
286                 SetProperty(TextLabel.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
287             }
288         }
289
290         /// <summary>
291         /// VerticalAlignment property.<br>
292         /// The line vertical alignment.<br>
293         /// </summary>
294         public VerticalAlignment VerticalAlignment
295         {
296             get
297             {
298                 string temp;
299                 if (GetProperty(TextLabel.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
300                 {
301                     NUILog.Error("VerticalAlignment get error!");
302                 }
303
304                 switch (temp)
305                 {
306                     case "TOP":
307                         return VerticalAlignment.Top;
308                     case "CENTER":
309                         return VerticalAlignment.Center;
310                     case "BOTTOM":
311                         return VerticalAlignment.Bottom;
312                     default:
313                         return VerticalAlignment.Bottom;
314                 }
315             }
316             set
317             {
318                 string valueToString = "";
319                 switch (value)
320                 {
321                     case VerticalAlignment.Top:
322                     {
323                         valueToString = "TOP";
324                         break;
325                     }
326                     case VerticalAlignment.Center:
327                     {
328                         valueToString = "CENTER";
329                         break;
330                     }
331                     case VerticalAlignment.Bottom:
332                     {
333                         valueToString = "BOTTOM";
334                         break;
335                     }
336                     default:
337                     {
338                         valueToString = "BOTTOM";
339                         break;
340                     }
341                 }
342                 SetProperty(TextLabel.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
343             }
344         }
345
346         /// <summary>
347         /// TextColor property.<br>
348         /// The color of the text.<br>
349         /// </summary>
350         public Color TextColor
351         {
352             get
353             {
354                 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
355                 GetProperty(TextLabel.Property.TEXT_COLOR).Get(temp);
356                 return temp;
357             }
358             set
359             {
360                 SetProperty(TextLabel.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
361             }
362         }
363
364         /// <summary>
365         /// ShadowOffset property.<br>
366         /// The drop shadow offset 0 indicates no shadow.<br>
367         /// </summary>
368         public Vector2 ShadowOffset
369         {
370             get
371             {
372                 Vector2 temp = new Vector2(0.0f, 0.0f);
373                 GetProperty(TextLabel.Property.SHADOW_OFFSET).Get(temp);
374                 return temp;
375             }
376             set
377             {
378                 SetProperty(TextLabel.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
379             }
380         }
381
382         /// <summary>
383         /// ShadowColor property.<br>
384         /// The color of a drop shadow.<br>
385         /// </summary>
386         public Vector4 ShadowColor
387         {
388             get
389             {
390                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
391                 GetProperty(TextLabel.Property.SHADOW_COLOR).Get(temp);
392                 return temp;
393             }
394             set
395             {
396                 SetProperty(TextLabel.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
397             }
398         }
399
400         /// <summary>
401         /// UnderlineEnabled property.<br>
402         /// The underline enabled flag.<br>
403         /// </summary>
404         public bool UnderlineEnabled
405         {
406             get
407             {
408                 bool temp = false;
409                 GetProperty(TextLabel.Property.UNDERLINE_ENABLED).Get(out temp);
410                 return temp;
411             }
412             set
413             {
414                 SetProperty(TextLabel.Property.UNDERLINE_ENABLED, new Tizen.NUI.PropertyValue(value));
415             }
416         }
417
418         /// <summary>
419         /// UnderlineColor property.<br>
420         /// Overrides the underline height from font metrics.<br>
421         /// </summary>
422         public Vector4 UnderlineColor
423         {
424             get
425             {
426                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
427                 GetProperty(TextLabel.Property.UNDERLINE_COLOR).Get(temp);
428                 return temp;
429             }
430             set
431             {
432                 SetProperty(TextLabel.Property.UNDERLINE_COLOR, new Tizen.NUI.PropertyValue(value));
433             }
434         }
435
436         /// <summary>
437         /// UnderlineHeight property.<br>
438         /// Overrides the underline height from font metrics.<br>
439         /// </summary>
440         public float UnderlineHeight
441         {
442             get
443             {
444                 float temp = 0.0f;
445                 GetProperty(TextLabel.Property.UNDERLINE_HEIGHT).Get(out temp);
446                 return temp;
447             }
448             set
449             {
450                 SetProperty(TextLabel.Property.UNDERLINE_HEIGHT, new Tizen.NUI.PropertyValue(value));
451             }
452         }
453
454         /// <summary>
455         /// EnableMarkup property.<br>
456         /// Whether the mark-up processing is enabled.<br>
457         /// </summary>
458         public bool EnableMarkup
459         {
460             get
461             {
462                 bool temp = false;
463                 GetProperty(TextLabel.Property.ENABLE_MARKUP).Get(out temp);
464                 return temp;
465             }
466             set
467             {
468                 SetProperty(TextLabel.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
469             }
470         }
471
472         /// <summary>
473         /// EnableAutoScroll property.<br>
474         /// Starts or stops auto scrolling.<br>
475         /// </summary>
476         public bool EnableAutoScroll
477         {
478             get
479             {
480                 bool temp = false;
481                 GetProperty(TextLabel.Property.ENABLE_AUTO_SCROLL).Get(out temp);
482                 return temp;
483             }
484             set
485             {
486                 SetProperty(TextLabel.Property.ENABLE_AUTO_SCROLL, new Tizen.NUI.PropertyValue(value));
487             }
488         }
489
490         /// <summary>
491         /// AutoScrollSpeed property.<br>
492         /// Sets the speed of scrolling in pixels per second.<br>
493         /// </summary>
494         public int AutoScrollSpeed
495         {
496             get
497             {
498                 int temp = 0;
499                 GetProperty(TextLabel.Property.AUTO_SCROLL_SPEED).Get(out temp);
500                 return temp;
501             }
502             set
503             {
504                 SetProperty(TextLabel.Property.AUTO_SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
505             }
506         }
507
508         /// <summary>
509         /// AutoScrollLoopCount property.<br>
510         /// Number of complete loops when scrolling enabled.<br>
511         /// </summary>
512         public int AutoScrollLoopCount
513         {
514             get
515             {
516                 int temp = 0;
517                 GetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_COUNT).Get(out temp);
518                 return temp;
519             }
520             set
521             {
522                 SetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Tizen.NUI.PropertyValue(value));
523             }
524         }
525
526         /// <summary>
527         /// AutoScrollGap property.<br>
528         /// Gap before scrolling wraps.<br>
529         /// </summary>
530         public float AutoScrollGap
531         {
532             get
533             {
534                 float temp = 0.0f;
535                 GetProperty(TextLabel.Property.AUTO_SCROLL_GAP).Get(out temp);
536                 return temp;
537             }
538             set
539             {
540                 SetProperty(TextLabel.Property.AUTO_SCROLL_GAP, new Tizen.NUI.PropertyValue(value));
541             }
542         }
543
544         /// <summary>
545         /// LineSpacing property.<br>
546         /// The default extra space between lines in points.<br>
547         /// </summary>
548         public float LineSpacing
549         {
550             get
551             {
552                 float temp = 0.0f;
553                 GetProperty(TextLabel.Property.LINE_SPACING).Get(out temp);
554                 return temp;
555             }
556             set
557             {
558                 SetProperty(TextLabel.Property.LINE_SPACING, new Tizen.NUI.PropertyValue(value));
559             }
560         }
561
562         /// <summary>
563         /// Underline property.<br>
564         /// The default underline parameters.<br>
565         /// </summary>
566         public PropertyMap Underline
567         {
568             get
569             {
570                 PropertyMap temp = new PropertyMap();
571                 GetProperty(TextLabel.Property.UNDERLINE).Get(temp);
572                 return temp;
573             }
574             set
575             {
576                 SetProperty(TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
577             }
578         }
579
580         /// <summary>
581         /// Shadow property.<br>
582         /// The default shadow parameters.<br>
583         /// </summary>
584         public PropertyMap Shadow
585         {
586             get
587             {
588                 PropertyMap temp = new PropertyMap();
589                 GetProperty(TextLabel.Property.SHADOW).Get(temp);
590                 return temp;
591             }
592             set
593             {
594                 SetProperty(TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
595             }
596         }
597
598         /// <summary>
599         /// Emboss property.<br>
600         /// The default emboss parameters.<br>
601         /// </summary>
602         public string Emboss
603         {
604             get
605             {
606                 string temp;
607                 GetProperty(TextLabel.Property.EMBOSS).Get( out temp);
608                 return temp;
609             }
610             set
611             {
612                 SetProperty(TextLabel.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
613             }
614         }
615
616         /// <summary>
617         /// Outline property.<br>
618         /// The default outline parameters.<br>
619         /// </summary>
620         public string Outline
621         {
622             get
623             {
624                 string temp;
625                 GetProperty(TextLabel.Property.OUTLINE).Get(out temp);
626                 return temp;
627             }
628             set
629             {
630                 SetProperty(TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
631             }
632         }
633
634         /// <summary>
635         /// PixelSize property.<br>
636         /// The size of font in pixels.<br>
637         /// </summary>
638         public float PixelSize
639         {
640             get
641             {
642                 float temp = 0.0f;
643                 GetProperty(TextLabel.Property.PIXEL_SIZE).Get(out temp);
644                 return temp;
645             }
646             set
647             {
648                 SetProperty(TextLabel.Property.PIXEL_SIZE, new Tizen.NUI.PropertyValue(value));
649             }
650         }
651
652         /// <summary>
653         /// Ellipsis property.<br>
654         /// Enable or disable the ellipsis.<br>
655         /// </summary>
656         public bool Ellipsis
657         {
658             get
659             {
660                 bool temp = false;
661                 GetProperty(TextLabel.Property.ELLIPSIS).Get(out temp);
662                 return temp;
663             }
664             set
665             {
666                 SetProperty(TextLabel.Property.ELLIPSIS, new Tizen.NUI.PropertyValue(value));
667             }
668         }
669
670         /// <summary>
671         /// AutoScrollLoopDelay property.<br>
672         /// do something.<br>
673         /// </summary>
674         public float AutoScrollLoopDelay
675         {
676             get
677             {
678                 float temp = 0.0f;
679                 GetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_DELAY).Get(out temp);
680                 return temp;
681             }
682             set
683             {
684                 SetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_DELAY, new Tizen.NUI.PropertyValue(value));
685             }
686         }
687
688         /// <summary>
689         /// AutoScrollStopMode property.<br>
690         /// do something.<br>
691         /// </summary>
692         public AutoScrollStopMode AutoScrollStopMode
693         {
694             get
695             {
696                 string temp;
697                 if(GetProperty(TextLabel.Property.AUTO_SCROLL_STOP_MODE).Get(out temp) == false)
698                 {
699                     NUILog.Error("AutoScrollStopMode get error!");
700                 }
701                 switch (temp)
702                 {
703                     case "FINISH_LOOP":
704                     return AutoScrollStopMode.FinishLoop;
705                     case "IMMEDIATE":
706                     return AutoScrollStopMode.Immediate;
707                     default:
708                     return AutoScrollStopMode.FinishLoop;
709                 }
710             }
711             set
712             {
713                 SetProperty(TextLabel.Property.AUTO_SCROLL_STOP_MODE, new Tizen.NUI.PropertyValue((int)value));
714             }
715         }
716
717         /// <summary>
718         /// TextColorAnimatable property.<br>
719         /// The color of the text that can be animatated.<br>
720         /// Animation framework can be used to change the color of the text when not using mark up.<br>
721         /// Not possible when text is auto scrolling. <br>
722         /// </summary>
723         public Color TextColorAnimatable
724         {
725             get
726             {
727                 Color animatableColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
728                 GetProperty(TextLabel.Property.TEXT_COLOR_ANIMATABLE).Get(animatableColor);
729                 return animatableColor;
730             }
731             set
732             {
733                 SetProperty(TextLabel.Property.TEXT_COLOR_ANIMATABLE, new Tizen.NUI.PropertyValue(value));
734             }
735         }
736
737         /// The line count of text.
738         /// </summary>
739         public int LineCount
740         {
741             get
742             {
743                 int temp = 0;
744                 GetProperty(TextLabel.Property.LINE_COUNT).Get(out temp);
745                 return temp;
746             }
747         }
748
749         /// <summary>
750         /// LineWrapMode property.<br>
751         /// line wrap mode when the text lines over layout width.<br>
752         /// </summary>
753         public LineWrapMode LineWrapMode
754         {
755             get
756             {
757                 string temp;
758                 if(GetProperty(TextLabel.Property.LINE_WRAP_MODE).Get(out temp) == false)
759                 {
760                     NUILog.Error("LineWrapMode get error!");
761                 }
762                 switch (temp)
763                 {
764                     case "WORD":
765                     return LineWrapMode.Word;
766                     case "CHARACTER":
767                     return LineWrapMode.Character;
768                     default:
769                     return LineWrapMode.Word;
770                 }
771             }
772             set
773             {
774                 string temp = "";
775                 switch (value)
776                 {
777                     case LineWrapMode.Word:
778                     {
779                         temp = "WORD";
780                         break;
781                     }
782                     case LineWrapMode.Character:
783                     {
784                         temp = "CHARACTER";
785                         break;
786                     }
787                 }
788                 SetProperty(TextLabel.Property.LINE_WRAP_MODE, new Tizen.NUI.PropertyValue(temp));
789             }
790         }
791     }
792 }