1.[NUI 276] c# nui visual high level class refactorying.
[platform/core/csapi/nui.git] / Tizen.NUI / src / public / UIComponents / 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 // This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
17 //------------------------------------------------------------------------------
18 // <auto-generated />
19 //
20 // This file was automatically generated by SWIG (http://www.swig.org).
21 // Version 3.0.9
22 //
23 // Do not make changes to this file unless you know what you are doing--modify
24 // the SWIG interface file instead.
25 //------------------------------------------------------------------------------
26
27 namespace Tizen.NUI.UIComponents
28 {
29
30     /// <summary>
31     /// A control which renders a short text string.<br>
32     /// Text labels are lightweight, non-editable and do not respond to user input.<br>
33     /// </summary>
34     public class TextLabel : View
35     {
36         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
37
38         internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
39         {
40             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
41         }
42
43         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
44         {
45             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
46         }
47
48         ~TextLabel()
49         {
50             DisposeQueue.Instance.Add(this);
51         }
52
53         /// <summary>
54         /// Dispose
55         /// </summary>
56         public override void Dispose()
57         {
58             if (!Stage.IsInstalled())
59             {
60                 DisposeQueue.Instance.Add(this);
61                 return;
62             }
63
64             lock (this)
65             {
66                 if (swigCPtr.Handle != global::System.IntPtr.Zero)
67                 {
68                     if (swigCMemOwn)
69                     {
70                         swigCMemOwn = false;
71                         NDalicPINVOKE.delete_TextLabel(swigCPtr);
72                     }
73                     swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
74                 }
75                 global::System.GC.SuppressFinalize(this);
76                 base.Dispose();
77             }
78         }
79
80
81         internal class Property : global::System.IDisposable
82         {
83             private global::System.Runtime.InteropServices.HandleRef swigCPtr;
84             protected bool swigCMemOwn;
85
86             internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
87             {
88                 swigCMemOwn = cMemoryOwn;
89                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
90             }
91
92             internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
93             {
94                 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
95             }
96
97             ~Property()
98             {
99                 Dispose();
100             }
101
102             public virtual void Dispose()
103             {
104                 lock (this)
105                 {
106                     if (swigCPtr.Handle != global::System.IntPtr.Zero)
107                     {
108                         if (swigCMemOwn)
109                         {
110                             swigCMemOwn = false;
111                             NDalicPINVOKE.delete_TextLabel_Property(swigCPtr);
112                         }
113                         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
114                     }
115                     global::System.GC.SuppressFinalize(this);
116                 }
117             }
118
119             internal Property() : this(NDalicPINVOKE.new_TextLabel_Property(), true)
120             {
121                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
122             }
123
124             internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
125             internal static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
126             internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
127             internal static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
128             internal static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
129             internal static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
130             internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
131             internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
132             internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
133             internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
134             internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
135             internal static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
136             internal static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
137             internal static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
138             internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
139             internal static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
140             internal static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
141             internal static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
142             internal static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
143             internal static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
144             internal static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
145             internal static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
146             internal static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
147             internal static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
148
149         }
150
151         /// <summary>
152         /// Creates the TextLabel control.
153         /// </summary>
154         public TextLabel() : this(NDalicPINVOKE.TextLabel_New__SWIG_0(), true)
155         {
156             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
157
158         }
159
160         /// <summary>
161         /// Creates the TextLabel control.
162         /// </summary>
163         /// <param name="text">The text to display</param>
164         public TextLabel(string text) : this(NDalicPINVOKE.TextLabel_New__SWIG_1(text), true)
165         {
166             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
167
168         }
169         internal TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true)
170         {
171             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
172         }
173
174         internal TextLabel Assign(TextLabel handle)
175         {
176             TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_Assign(swigCPtr, TextLabel.getCPtr(handle)), false);
177             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
178             return ret;
179         }
180
181         /// <summary>
182         /// Downcasts a handle to TextLabel.
183         /// </summary>
184         /// <param name="handle">Handle to an object</param>
185         public new static TextLabel DownCast(BaseHandle handle)
186         {
187             TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_DownCast(BaseHandle.getCPtr(handle)), true);
188             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
189             return ret;
190         }
191
192         internal enum PropertyRange
193         {
194             PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
195             PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
196         }
197
198         /// <summary>
199         /// RenderingBackend property.<br>
200         /// The type of rendering e.g. bitmap-based.
201         /// </summary>
202         public int RenderingBackend
203         {
204             get
205             {
206                 int temp = 0;
207                 GetProperty(TextLabel.Property.RENDERING_BACKEND).Get(ref temp);
208                 return temp;
209             }
210             set
211             {
212                 SetProperty(TextLabel.Property.RENDERING_BACKEND, new Tizen.NUI.PropertyValue(value));
213             }
214         }
215
216         /// <summary>
217         /// Text property.<br>
218         /// The text to display in UTF-8 format.<br>
219         /// </summary>
220         public string Text
221         {
222             get
223             {
224                 string temp;
225                 GetProperty(TextLabel.Property.TEXT).Get(out temp);
226                 return temp;
227             }
228             set
229             {
230                 SetProperty(TextLabel.Property.TEXT, new Tizen.NUI.PropertyValue(value));
231             }
232         }
233
234         /// <summary>
235         /// FontFamily property.<br>
236         /// The requested font family to use.<br>
237         /// </summary>
238         public string FontFamily
239         {
240             get
241             {
242                 string temp;
243                 GetProperty(TextLabel.Property.FONT_FAMILY).Get(out temp);
244                 return temp;
245             }
246             set
247             {
248                 SetProperty(TextLabel.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
249             }
250         }
251
252         /// <summary>
253         /// FontStyle property.<br>
254         /// The requested font style to use.<br>
255         /// </summary>
256         public PropertyMap FontStyle
257         {
258             get
259             {
260                 PropertyMap temp = new PropertyMap();
261                 GetProperty(TextLabel.Property.FONT_STYLE).Get(temp);
262                 return temp;
263             }
264             set
265             {
266                 SetProperty(TextLabel.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
267             }
268         }
269
270         /// <summary>
271         /// PointSize property.<br>
272         /// The size of font in points.<br>
273         /// </summary>
274         public float PointSize
275         {
276             get
277             {
278                 float temp = 0.0f;
279                 GetProperty(TextLabel.Property.POINT_SIZE).Get(ref temp);
280                 return temp;
281             }
282             set
283             {
284                 SetProperty(TextLabel.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
285             }
286         }
287
288         /// <summary>
289         /// MultiLine property.<br>
290         /// The single-line or multi-line layout option.<br>
291         /// </summary>
292         public bool MultiLine
293         {
294             get
295             {
296                 bool temp = false;
297                 GetProperty(TextLabel.Property.MULTI_LINE).Get(ref temp);
298                 return temp;
299             }
300             set
301             {
302                 SetProperty(TextLabel.Property.MULTI_LINE, new Tizen.NUI.PropertyValue(value));
303             }
304         }
305
306         /// <summary>
307         /// HorizontalAlignment property.<br>
308         /// The line horizontal alignment.<br>
309         /// </summary>
310         public HorizontalAlignment HorizontalAlignment
311         {
312             get
313             {
314                 string temp;
315                 if (GetProperty(TextLabel.Property.HORIZONTAL_ALIGNMENT).Get(out temp) == false)
316                 {
317 #if DEBUG_ON
318                     Tizen.Log.Error("NUI", "HorizontalAlignment get error!");
319 #endif
320                 }
321                 switch (temp)
322                 {
323                     case "BEGIN":
324                         return HorizontalAlignment.Begin;
325                     case "CENTER":
326                         return HorizontalAlignment.Center;
327                     case "END":
328                         return HorizontalAlignment.End;
329                     default:
330                         return HorizontalAlignment.Begin;
331                 }
332             }
333             set
334             {
335                 string valueToString = "";
336                 switch (value)
337                 {
338                     case HorizontalAlignment.Begin:
339                     {
340                         valueToString = "BEGIN";
341                         break;
342                     }
343                     case HorizontalAlignment.Center:
344                     {
345                         valueToString = "CENTER";
346                         break;
347                     }
348                     case HorizontalAlignment.End:
349                     {
350                         valueToString = "END";
351                         break;
352                     }
353                     default:
354                     {
355                         valueToString = "BEGIN";
356                         break;
357                     }
358                 }
359                 SetProperty(TextLabel.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
360             }
361         }
362
363         /// <summary>
364         /// VerticalAlignment property.<br>
365         /// The line vertical alignment.<br>
366         /// </summary>
367         public VerticalAlignment VerticalAlignment
368         {
369             get
370             {
371                 string temp;
372                 if (GetProperty(TextLabel.Property.VERTICAL_ALIGNMENT).Get(out temp) == false)
373                 {
374 #if DEBUG_ON
375                     Tizen.Log.Error("NUI", "VerticalAlignment get error!");
376 #endif
377                 }
378
379                 switch (temp)
380                 {
381                     case "TOP":
382                         return VerticalAlignment.Top;
383                     case "CENTER":
384                         return VerticalAlignment.Center;
385                     case "BOTTOM":
386                         return VerticalAlignment.Bottom;
387                     default:
388                         return VerticalAlignment.Bottom;
389                 }
390             }
391             set
392             {
393                 string valueToString = "";
394                 switch (value)
395                 {
396                     case VerticalAlignment.Top:
397                     {
398                         valueToString = "TOP";
399                         break;
400                     }
401                     case VerticalAlignment.Center:
402                     {
403                         valueToString = "CENTER";
404                         break;
405                     }
406                     case VerticalAlignment.Bottom:
407                     {
408                         valueToString = "BOTTOM";
409                         break;
410                     }
411                     default:
412                     {
413                         valueToString = "BOTTOM";
414                         break;
415                     }
416                 }
417                 SetProperty(TextLabel.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
418             }
419         }
420
421         /// <summary>
422         /// TextColor property.<br>
423         /// The color of the text.<br>
424         /// </summary>
425         public Color TextColor
426         {
427             get
428             {
429                 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
430                 GetProperty(TextLabel.Property.TEXT_COLOR).Get(temp);
431                 return temp;
432             }
433             set
434             {
435                 SetProperty(TextLabel.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
436             }
437         }
438
439         /// <summary>
440         /// ShadowOffset property.<br>
441         /// The drop shadow offset 0 indicates no shadow.<br>
442         /// </summary>
443         public Vector2 ShadowOffset
444         {
445             get
446             {
447                 Vector2 temp = new Vector2(0.0f, 0.0f);
448                 GetProperty(TextLabel.Property.SHADOW_OFFSET).Get(temp);
449                 return temp;
450             }
451             set
452             {
453                 SetProperty(TextLabel.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
454             }
455         }
456
457         /// <summary>
458         /// ShadowColor property.<br>
459         /// The color of a drop shadow.<br>
460         /// </summary>
461         public Vector4 ShadowColor
462         {
463             get
464             {
465                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
466                 GetProperty(TextLabel.Property.SHADOW_COLOR).Get(temp);
467                 return temp;
468             }
469             set
470             {
471                 SetProperty(TextLabel.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
472             }
473         }
474
475         /// <summary>
476         /// UnderlineEnabled property.<br>
477         /// The underline enabled flag.<br>
478         /// </summary>
479         public bool UnderlineEnabled
480         {
481             get
482             {
483                 bool temp = false;
484                 GetProperty(TextLabel.Property.UNDERLINE_ENABLED).Get(ref temp);
485                 return temp;
486             }
487             set
488             {
489                 SetProperty(TextLabel.Property.UNDERLINE_ENABLED, new Tizen.NUI.PropertyValue(value));
490             }
491         }
492
493         /// <summary>
494         /// UnderlineColor property.<br>
495         /// Overrides the underline height from font metrics.<br>
496         /// </summary>
497         public Vector4 UnderlineColor
498         {
499             get
500             {
501                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
502                 GetProperty(TextLabel.Property.UNDERLINE_COLOR).Get(temp);
503                 return temp;
504             }
505             set
506             {
507                 SetProperty(TextLabel.Property.UNDERLINE_COLOR, new Tizen.NUI.PropertyValue(value));
508             }
509         }
510
511         /// <summary>
512         /// UnderlineHeight property.<br>
513         /// Overrides the underline height from font metrics.<br>
514         /// </summary>
515         public float UnderlineHeight
516         {
517             get
518             {
519                 float temp = 0.0f;
520                 GetProperty(TextLabel.Property.UNDERLINE_HEIGHT).Get(ref temp);
521                 return temp;
522             }
523             set
524             {
525                 SetProperty(TextLabel.Property.UNDERLINE_HEIGHT, new Tizen.NUI.PropertyValue(value));
526             }
527         }
528
529         /// <summary>
530         /// EnableMarkup property.<br>
531         /// Whether the mark-up processing is enabled.<br>
532         /// </summary>
533         public bool EnableMarkup
534         {
535             get
536             {
537                 bool temp = false;
538                 GetProperty(TextLabel.Property.ENABLE_MARKUP).Get(ref temp);
539                 return temp;
540             }
541             set
542             {
543                 SetProperty(TextLabel.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
544             }
545         }
546
547         /// <summary>
548         /// EnableAutoScroll property.<br>
549         /// Starts or stops auto scrolling.<br>
550         /// </summary>
551         public bool EnableAutoScroll
552         {
553             get
554             {
555                 bool temp = false;
556                 GetProperty(TextLabel.Property.ENABLE_AUTO_SCROLL).Get(ref temp);
557                 return temp;
558             }
559             set
560             {
561                 SetProperty(TextLabel.Property.ENABLE_AUTO_SCROLL, new Tizen.NUI.PropertyValue(value));
562             }
563         }
564
565         /// <summary>
566         /// AutoScrollSpeed property.<br>
567         /// Sets the speed of scrolling in pixels per second.<br>
568         /// </summary>
569         public int AutoScrollSpeed
570         {
571             get
572             {
573                 int temp = 0;
574                 GetProperty(TextLabel.Property.AUTO_SCROLL_SPEED).Get(ref temp);
575                 return temp;
576             }
577             set
578             {
579                 SetProperty(TextLabel.Property.AUTO_SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
580             }
581         }
582
583         /// <summary>
584         /// AutoScrollLoopCount property.<br>
585         /// Number of complete loops when scrolling enabled.<br>
586         /// </summary>
587         public int AutoScrollLoopCount
588         {
589             get
590             {
591                 int temp = 0;
592                 GetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_COUNT).Get(ref temp);
593                 return temp;
594             }
595             set
596             {
597                 SetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Tizen.NUI.PropertyValue(value));
598             }
599         }
600
601         /// <summary>
602         /// AutoScrollGap property.<br>
603         /// Gap before scrolling wraps.<br>
604         /// </summary>
605         public float AutoScrollGap
606         {
607             get
608             {
609                 float temp = 0.0f;
610                 GetProperty(TextLabel.Property.AUTO_SCROLL_GAP).Get(ref temp);
611                 return temp;
612             }
613             set
614             {
615                 SetProperty(TextLabel.Property.AUTO_SCROLL_GAP, new Tizen.NUI.PropertyValue(value));
616             }
617         }
618
619         /// <summary>
620         /// LineSpacing property.<br>
621         /// The default extra space between lines in points.<br>
622         /// </summary>
623         public float LineSpacing
624         {
625             get
626             {
627                 float temp = 0.0f;
628                 GetProperty(TextLabel.Property.LINE_SPACING).Get(ref temp);
629                 return temp;
630             }
631             set
632             {
633                 SetProperty(TextLabel.Property.LINE_SPACING, new Tizen.NUI.PropertyValue(value));
634             }
635         }
636
637         /// <summary>
638         /// Underline property.<br>
639         /// The default underline parameters.<br>
640         /// </summary>
641         public PropertyMap Underline
642         {
643             get
644             {
645                 PropertyMap temp = new PropertyMap();
646                 GetProperty(TextLabel.Property.UNDERLINE).Get(temp);
647                 return temp;
648             }
649             set
650             {
651                 SetProperty(TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
652             }
653         }
654
655         /// <summary>
656         /// Shadow property.<br>
657         /// The default shadow parameters.<br>
658         /// </summary>
659         public PropertyMap Shadow
660         {
661             get
662             {
663                 PropertyMap temp = new PropertyMap();
664                 GetProperty(TextLabel.Property.SHADOW).Get(temp);
665                 return temp;
666             }
667             set
668             {
669                 SetProperty(TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
670             }
671         }
672
673         /// <summary>
674         /// Emboss property.<br>
675         /// The default emboss parameters.<br>
676         /// </summary>
677         public string Emboss
678         {
679             get
680             {
681                 string temp;
682                 GetProperty(TextLabel.Property.EMBOSS).Get( out temp);
683                 return temp;
684             }
685             set
686             {
687                 SetProperty(TextLabel.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
688             }
689         }
690
691         /// <summary>
692         /// Outline property.<br>
693         /// The default outline parameters.<br>
694         /// </summary>
695         public string Outline
696         {
697             get
698             {
699                 string temp;
700                 GetProperty(TextLabel.Property.OUTLINE).Get(out temp);
701                 return temp;
702             }
703             set
704             {
705                 SetProperty(TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
706             }
707         }
708
709     }
710 }