Commit manual merge for dali-csharp.
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / Button.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 // Some have been manually changed
18
19 namespace Tizen.NUI.UIComponents
20 {
21
22     using System;
23     using System.Runtime.InteropServices;
24     using Tizen.NUI.BaseComponents;
25
26     /// <summary>
27     /// Button is a base class for different kinds of buttons.<br>
28     /// This class provides the disabled property and the clicked signal.<br>
29     /// A Clicked event handler is emitted when the button is touched and the touch point doesn't leave the boundary of the button.<br>
30     /// When the disabled property is set to true, no signal is emitted.<br>
31     /// 'Visual' describes not just traditional images like png, bmp but refers to whatever is used to show the button, it could be a color, gradient or some other kind of renderer.<br>
32     /// The button's appearance can be modified by setting properties for the various visuals/images.<br>
33     /// It is not mandatory to set all visuals. A button could be defined only by setting its background visual or by setting its background and selected visuals.<br>
34     /// The button visual is shown over the background visual.<br>
35     /// When pressed the unselected visuals are replaced by the selected visual.<br>
36     /// The text label is always placed on the top of all images.<br>
37     /// When the button is disabled, background, button and selected visuals are replaced by their disabled visuals.<br>
38     /// </summary>
39     public class Button : View
40     {
41         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
42
43         internal Button(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Button_SWIGUpcast(cPtr), cMemoryOwn)
44         {
45             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
46         }
47
48         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Button obj)
49         {
50             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
51         }
52
53         /// <summary>
54         /// To make Button instance be disposed.
55         /// </summary>
56         public override void Dispose()
57         {
58             if (!Window.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_Button(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         private EventHandlerWithReturnType<object, EventArgs, bool> _clickedEventHandler;
82         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
83         private delegate bool ClickedCallbackType(global::System.IntPtr data);
84         private ClickedCallbackType _clickedCallback;
85
86         /// <summary>
87         /// Clicked will be triggered when the button is touched and the touch point doesn't leave the boundary of the button.
88         /// </summary>
89         public event EventHandlerWithReturnType<object, EventArgs, bool> Clicked
90         {
91             add
92             {
93                 if (_clickedEventHandler == null)
94                 {
95                     _clickedCallback = OnClicked;
96                     ClickedSignal().Connect(_clickedCallback);
97                 }
98
99                 _clickedEventHandler += value;
100             }
101
102             remove
103             {
104                 _clickedEventHandler -= value;
105
106                 if (_clickedEventHandler == null && ClickedSignal().Empty() == false)
107                 {
108                     ClickedSignal().Disconnect(_clickedCallback);
109                 }
110             }
111         }
112
113
114         private bool OnClicked(IntPtr data)
115         {
116             if (_clickedEventHandler != null)
117             {
118                 return _clickedEventHandler(this, null);
119             }
120             return false;
121         }
122
123
124
125         private EventHandlerWithReturnType<object, EventArgs, bool> _pressedEventHandler;
126         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
127         private delegate bool PressedCallbackType(global::System.IntPtr data);
128         private PressedCallbackType _pressedCallback;
129
130         /// <summary>
131         /// Pressed will be triggered when the button is touched.
132         /// </summary>
133         public event EventHandlerWithReturnType<object, EventArgs, bool> Pressed
134         {
135             add
136             {
137                 if (_pressedEventHandler == null)
138                 {
139                     _pressedCallback = OnPressed;
140                     PressedSignal().Connect(_pressedCallback);
141                 }
142
143                 _pressedEventHandler += value;
144             }
145
146             remove
147             {
148                 _pressedEventHandler -= value;
149
150                 if (_pressedEventHandler == null && PressedSignal().Empty() == false)
151                 {
152                     this.PressedSignal().Disconnect(_pressedCallback);
153                 }
154             }
155         }
156
157         private bool OnPressed(IntPtr data)
158         {
159             if (_pressedEventHandler != null)
160             {
161                 return _pressedEventHandler(this, null);
162             }
163             return false;
164         }
165
166
167
168         private EventHandlerWithReturnType<object, EventArgs, bool> _releasedEventHandler;
169         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
170         private delegate bool ReleasedCallbackType(global::System.IntPtr data);
171         private ReleasedCallbackType _releasedCallback;
172
173         /// <summary>
174         /// Released will be triggered when the button is touched and the touch point leaves the boundary of the button.
175         /// </summary>
176         public event EventHandlerWithReturnType<object, EventArgs, bool> Released
177         {
178             add
179             {
180                 if (_releasedEventHandler == null)
181                 {
182                     _releasedCallback = OnReleased;
183                     ReleasedSignal().Connect(_releasedCallback);
184                 }
185                 _releasedEventHandler += value;
186             }
187
188             remove
189             {
190                 _releasedEventHandler -= value;
191
192                 if (_releasedEventHandler == null && ReleasedSignal().Empty() == false)
193                 {
194                     ReleasedSignal().Disconnect(_releasedCallback);
195                 }
196
197             }
198         }
199
200         private bool OnReleased(IntPtr data)
201         {
202             if (_releasedEventHandler != null)
203             {
204                 return _releasedEventHandler(this, null);
205             }
206             return false;
207         }
208
209
210         private EventHandlerWithReturnType<object, EventArgs, bool> _stateChangedEventHandler;
211         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
212         private delegate bool StateChangedCallback(global::System.IntPtr data);
213         private StateChangedCallback _stateChangedCallback;
214
215         /// <summary>
216         /// StateChanged will be triggered when the button's state is changed.
217         /// </summary>
218         public event EventHandlerWithReturnType<object, EventArgs, bool> StateChanged
219         {
220             add
221             {
222                 if (_stateChangedEventHandler == null)
223                 {
224                     _stateChangedCallback = OnStateChanged;
225                     StateChangedSignal().Connect(_stateChangedCallback);
226                 }
227
228                 _stateChangedEventHandler += value;
229             }
230
231             remove
232             {
233                 _stateChangedEventHandler -= value;
234
235                 if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false)
236                 {
237                     StateChangedSignal().Disconnect(_stateChangedCallback);
238                 }
239             }
240         }
241
242         private bool OnStateChanged(IntPtr data)
243         {
244             if (_stateChangedEventHandler != null)
245             {
246                 return _stateChangedEventHandler(this, null);
247             }
248             return false;
249         }
250
251
252
253         internal static Button GetButtonFromPtr(global::System.IntPtr cPtr)
254         {
255             Button ret = new Button(cPtr, false);
256             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
257             return ret;
258         }
259
260         /// <summary>
261         /// Gets/Sets the unselected button foreground/icon visual
262         /// </summary>
263         public Tizen.NUI.PropertyMap UnselectedVisual
264         {
265             get
266             {
267                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
268                 GetProperty(Button.Property.UNSELECTED_VISUAL).Get(temp);
269                 return temp;
270             }
271             set
272             {
273                 SetProperty(Button.Property.UNSELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
274             }
275         }
276
277         /// <summary>
278         /// Gets/Sets the selected button foreground/icon visual
279         /// </summary>
280         public Tizen.NUI.PropertyMap SelectedVisual
281         {
282             get
283             {
284                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
285                 GetProperty(Button.Property.SELECTED_VISUAL).Get(temp);
286                 return temp;
287             }
288             set
289             {
290                 SetProperty(Button.Property.SELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
291             }
292         }
293
294         /// <summary>
295         /// Gets/Sets the disabled selected state foreground/icon button visual
296         /// </summary>
297         public Tizen.NUI.PropertyMap DisabledSelectedVisual
298         {
299             get
300             {
301                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
302                 GetProperty(Button.Property.DISABLED_SELECTED_VISUAL).Get(temp);
303                 return temp;
304             }
305             set
306             {
307                 SetProperty(Button.Property.DISABLED_SELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
308             }
309         }
310
311         /// <summary>
312         /// Gets/Sets the disabled unselected state foreground/icon visual
313         /// </summary>
314         public Tizen.NUI.PropertyMap DisabledUnselectedVisual
315         {
316             get
317             {
318                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
319                 GetProperty(Button.Property.DISABLED_UNSELECTED_VISUAL).Get(temp);
320                 return temp;
321             }
322             set
323             {
324                 SetProperty(Button.Property.DISABLED_UNSELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
325             }
326         }
327
328         /// <summary>
329         /// Gets/Sets the disabled in the unselected state background, button visual
330         /// </summary>
331         public Tizen.NUI.PropertyMap UnselectedBackgroundVisual
332         {
333             get
334             {
335                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
336                 GetProperty(Button.Property.UNSELECTED_BACKGROUND_VISUAL).Get(temp);
337                 return temp;
338             }
339             set
340             {
341                 SetProperty(Button.Property.UNSELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
342             }
343         }
344
345         /// <summary>
346         /// Gets/Sets the selected background button visual
347         /// </summary>
348         public Tizen.NUI.PropertyMap SelectedBackgroundVisual
349         {
350             get
351             {
352                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
353                 GetProperty(Button.Property.SELECTED_BACKGROUND_VISUAL).Get(temp);
354                 return temp;
355             }
356             set
357             {
358                 SetProperty(Button.Property.SELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
359             }
360         }
361
362         /// <summary>
363         /// Gets/Sets the disabled while unselected background button visual
364         /// </summary>
365         public Tizen.NUI.PropertyMap DisabledUnselectedBackgroundVisual
366         {
367             get
368             {
369                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
370                 GetProperty(Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL).Get(temp);
371                 return temp;
372             }
373             set
374             {
375                 SetProperty(Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
376             }
377         }
378
379         /// <summary>
380         /// Gets/Sets the disabled while selected background button visual
381         /// </summary>
382         public Tizen.NUI.PropertyMap DisabledSelectedBackgroundVisual
383         {
384             get
385             {
386                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
387                 GetProperty(Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL).Get(temp);
388                 return temp;
389             }
390             set
391             {
392                 SetProperty(Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
393             }
394         }
395
396         /// <summary>
397         /// Gets/Sets the position of the the label in relation to the foreground/icon if both present
398         /// </summary>
399         public Align LabelRelativeAlignment
400         {
401             get
402             {
403                 string temp;
404                 if (GetProperty(Button.Property.LABEL_RELATIVE_ALIGNMENT).Get(out temp) == false)
405                 {
406 #if DEBUG_ON
407                     Tizen.Log.Error("NUI", "LabelRelativeAlignment get error!");
408 #endif
409                 }
410                 switch (temp)
411                 {
412                     case "BEGIN":
413                         return Align.Begin;
414                     case "END":
415                         return Align.End;
416                     case "TOP":
417                         return Align.Top;
418                     case "BOTTOM":
419                         return Align.Bottom;
420                     default:
421                         return Align.End;
422                 }
423             }
424             set
425             {
426                 string valueToString = "";
427                 switch (value)
428                 {
429                     case Align.Begin:
430                     {
431                         valueToString = "BEGIN";
432                         break;
433                     }
434                     case Align.End:
435                     {
436                         valueToString = "END";
437                         break;
438                     }
439                     case Align.Top:
440                     {
441                         valueToString = "TOP";
442                         break;
443                     }
444                     case Align.Bottom:
445                     {
446                         valueToString = "BOTTOM";
447                         break;
448                     }
449                     default:
450                     {
451                         valueToString = "END";
452                         break;
453                     }
454                 }
455                 SetProperty(Button.Property.LABEL_RELATIVE_ALIGNMENT, new Tizen.NUI.PropertyValue(valueToString));
456             }
457         }
458
459         /// <summary>
460         /// Gets/Sets the padding around the text
461         /// </summary>
462         public Vector4 LabelPadding
463         {
464             get
465             {
466                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
467                 GetProperty(Button.Property.LABEL_PADDING).Get(temp);
468                 return temp;
469             }
470             set
471             {
472                 SetProperty(Button.Property.LABEL_PADDING, new Tizen.NUI.PropertyValue(value));
473             }
474         }
475
476         /// <summary>
477         /// Gets/Sets the padding around the foreground visual
478         /// </summary>
479         public Vector4 VisualPadding
480         {
481             get
482             {
483                 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
484                 GetProperty(Button.Property.VISUAL_PADDING).Get(temp);
485                 return temp;
486             }
487             set
488             {
489                 SetProperty(Button.Property.VISUAL_PADDING, new Tizen.NUI.PropertyValue(value));
490             }
491         }
492
493         internal class Property : global::System.IDisposable
494         {
495             private global::System.Runtime.InteropServices.HandleRef swigCPtr;
496             protected bool swigCMemOwn;
497
498             internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
499             {
500                 swigCMemOwn = cMemoryOwn;
501                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
502             }
503
504             internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
505             {
506                 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
507             }
508
509             ~Property()
510             {
511                 DisposeQueue.Instance.Add(this);
512             }
513
514             public virtual void Dispose()
515             {
516                 if (!Window.IsInstalled()) {
517                     DisposeQueue.Instance.Add(this);
518                     return;
519                 }
520
521                 lock (this)
522                 {
523                     if (swigCPtr.Handle != global::System.IntPtr.Zero)
524                     {
525                         if (swigCMemOwn)
526                         {
527                             swigCMemOwn = false;
528                             NDalicPINVOKE.delete_Button_Property(swigCPtr);
529                         }
530                         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
531                     }
532                     global::System.GC.SuppressFinalize(this);
533                 }
534             }
535
536             internal static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
537             internal static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
538             internal static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
539             internal static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
540             internal static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
541             internal static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
542             internal static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
543             internal static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
544             internal static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
545             internal static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
546             internal static readonly int VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
547             //changed
548             internal Property() : this(NDalicPINVOKE.new_Button_Property(), true)
549             {
550                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
551             }
552
553             internal static readonly int DISABLED = NDalicPINVOKE.Button_Property_DISABLED_get();
554             internal static readonly int AUTO_REPEATING = NDalicPINVOKE.Button_Property_AUTO_REPEATING_get();
555             internal static readonly int INITIAL_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
556             internal static readonly int NEXT_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
557             internal static readonly int TOGGLABLE = NDalicPINVOKE.Button_Property_TOGGLABLE_get();
558             internal static readonly int SELECTED = NDalicPINVOKE.Button_Property_SELECTED_get();
559             internal static readonly int UNSELECTED_COLOR = NDalicPINVOKE.Button_Property_UNSELECTED_COLOR_get();
560             internal static readonly int SELECTED_COLOR = NDalicPINVOKE.Button_Property_SELECTED_COLOR_get();
561             internal static readonly int LABEL = NDalicPINVOKE.Button_Property_LABEL_get();
562             internal static readonly int LABEL_TEXT = NDalicPINVOKE.Button_Property_LABEL_TEXT_get();
563
564         }
565
566         /// <summary>
567         /// Creates an uninitialized Button.<br>
568         /// Only derived versions can be instantiated.<br>
569         /// </summary>
570         public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true)
571         {
572             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
573         }
574
575         internal Button(Button button) : this(NDalicPINVOKE.new_Button__SWIG_1(Button.getCPtr(button)), true)
576         {
577             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
578         }
579
580         internal Button Assign(Button button)
581         {
582             Button ret = new Button(NDalicPINVOKE.Button_Assign(swigCPtr, Button.getCPtr(button)), false);
583             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
584             return ret;
585         }
586
587         /// <summary>
588         /// Downcasts a handle to Button handle.<br>
589         /// If handle points to a Button, the downcast produces valid handle.<br>
590         /// If not the returned handle is left uninitialized.<br>
591         /// </summary>
592         /// <param name="handle">Handle to an object</param>
593         /// <returns>A handle to a Button or an uninitialized handle</returns>
594         public new static Button DownCast(BaseHandle handle)
595         {
596             Button ret = new Button(NDalicPINVOKE.Button_DownCast(BaseHandle.getCPtr(handle)), true);
597             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
598             return ret;
599         }
600
601         internal bool IsDisabled()
602         {
603             bool ret = NDalicPINVOKE.Button_IsDisabled(swigCPtr);
604             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
605             return ret;
606         }
607
608         internal bool IsAutoRepeating()
609         {
610             bool ret = NDalicPINVOKE.Button_IsAutoRepeating(swigCPtr);
611             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
612             return ret;
613         }
614
615         internal float GetInitialAutoRepeatingDelay()
616         {
617             float ret = NDalicPINVOKE.Button_GetInitialAutoRepeatingDelay(swigCPtr);
618             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
619             return ret;
620         }
621
622         internal float GetNextAutoRepeatingDelay()
623         {
624             float ret = NDalicPINVOKE.Button_GetNextAutoRepeatingDelay(swigCPtr);
625             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
626             return ret;
627         }
628
629         internal bool IsTogglableButton()
630         {
631             bool ret = NDalicPINVOKE.Button_IsTogglableButton(swigCPtr);
632             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
633             return ret;
634         }
635
636         internal bool IsSelected()
637         {
638             bool ret = NDalicPINVOKE.Button_IsSelected(swigCPtr);
639             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
640             return ret;
641         }
642
643         /// <summary>
644         /// Retrieves button's animation time.
645         /// </summary>
646         /// <returns></returns>
647         public float GetAnimationTime()
648         {
649             float ret = NDalicPINVOKE.Button_GetAnimationTime(swigCPtr);
650             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
651             return ret;
652         }
653
654         internal string GetLabelText()
655         {
656             string ret = NDalicPINVOKE.Button_GetLabelText(swigCPtr);
657             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
658             return ret;
659         }
660
661         internal void SetLabel(View label)
662         {
663             NDalicPINVOKE.Button_SetLabel(swigCPtr, View.getCPtr(label));
664             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
665         }
666
667         internal void SetButtonImage(Image image)
668         {
669             NDalicPINVOKE.Button_SetButtonImage(swigCPtr, Image.getCPtr(image));
670             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
671         }
672
673         internal void SetSelectedImage(Image image)
674         {
675             NDalicPINVOKE.Button_SetSelectedImage(swigCPtr, Image.getCPtr(image));
676             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
677         }
678
679         internal View GetButtonImage()
680         {
681             View ret = new View(NDalicPINVOKE.Button_GetButtonImage(swigCPtr), true);
682             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
683             return ret;
684         }
685
686         internal View GetSelectedImage()
687         {
688             View ret = new View(NDalicPINVOKE.Button_GetSelectedImage(swigCPtr), true);
689             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
690             return ret;
691         }
692
693         internal ButtonSignal PressedSignal()
694         {
695             ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_PressedSignal(swigCPtr), false);
696             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
697             return ret;
698         }
699
700         internal ButtonSignal ReleasedSignal()
701         {
702             ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ReleasedSignal(swigCPtr), false);
703             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
704             return ret;
705         }
706
707         internal ButtonSignal ClickedSignal()
708         {
709             ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ClickedSignal(swigCPtr), false);
710             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
711             return ret;
712         }
713
714         internal ButtonSignal StateChangedSignal()
715         {
716             ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_StateChangedSignal(swigCPtr), false);
717             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
718             return ret;
719         }
720
721         internal enum PropertyRange
722         {
723             PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
724             PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
725         }
726
727         /// <summary>
728         /// Gets/Sets the button as disabled.
729         /// </summary>
730         public bool Disabled
731         {
732             get
733             {
734                 bool temp = false;
735                 GetProperty(Button.Property.DISABLED).Get(ref temp);
736                 return temp;
737             }
738             set
739             {
740                 SetProperty(Button.Property.DISABLED, new Tizen.NUI.PropertyValue(value));
741             }
742         }
743
744         /// <summary>
745         /// If the autorepeating property is set to true then the togglable property is set to false.
746         /// </summary>
747         public bool AutoRepeating
748         {
749             get
750             {
751                 bool temp = false;
752                 GetProperty(Button.Property.AUTO_REPEATING).Get(ref temp);
753                 return temp;
754             }
755             set
756             {
757                 SetProperty(Button.Property.AUTO_REPEATING, new Tizen.NUI.PropertyValue(value));
758             }
759         }
760
761         /// <summary>
762         /// By default this value is set to 0.15 seconds.
763         /// </summary>
764         public float InitialAutoRepeatingDelay
765         {
766             get
767             {
768                 float temp = 0.0f;
769                 GetProperty(Button.Property.INITIAL_AUTO_REPEATING_DELAY).Get(ref temp);
770                 return temp;
771             }
772             set
773             {
774                 SetProperty(Button.Property.INITIAL_AUTO_REPEATING_DELAY, new Tizen.NUI.PropertyValue(value));
775             }
776         }
777
778         /// <summary>
779         /// default this value is set to 0.05 seconds.
780         /// </summary>
781         public float NextAutoRepeatingDelay
782         {
783             get
784             {
785                 float temp = 0.0f;
786                 GetProperty(Button.Property.NEXT_AUTO_REPEATING_DELAY).Get(ref temp);
787                 return temp;
788             }
789             set
790             {
791                 SetProperty(Button.Property.NEXT_AUTO_REPEATING_DELAY, new Tizen.NUI.PropertyValue(value));
792             }
793         }
794
795         /// <summary>
796         /// If the togglable property is set to true, then the autorepeating property is set to false.
797         /// </summary>
798         public bool Togglable
799         {
800             get
801             {
802                 bool temp = false;
803                 GetProperty(Button.Property.TOGGLABLE).Get(ref temp);
804                 return temp;
805             }
806             set
807             {
808                 SetProperty(Button.Property.TOGGLABLE, new Tizen.NUI.PropertyValue(value));
809             }
810         }
811
812         /// <summary>
813         /// /Gets/Sets the togglable button as either selected or unselected, togglable property must be set to true.
814         /// </summary>
815         public bool Selected
816         {
817             get
818             {
819                 bool temp = false;
820                 GetProperty(Button.Property.SELECTED).Get(ref temp);
821                 return temp;
822             }
823             set
824             {
825                 SetProperty(Button.Property.SELECTED, new Tizen.NUI.PropertyValue(value));
826             }
827         }
828
829         /// <summary>
830         /// Gets/Sets unselected color.
831         /// </summary>
832         public Color UnselectedColor
833         {
834             get
835             {
836                 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
837                 GetProperty(Button.Property.UNSELECTED_COLOR).Get(temp);
838                 return temp;
839             }
840             set
841             {
842                 SetProperty(Button.Property.UNSELECTED_COLOR, new Tizen.NUI.PropertyValue(value));
843             }
844         }
845
846         /// <summary>
847         /// Gets/Sets selected color.
848         /// </summary>
849         public Color SelectedColor
850         {
851             get
852             {
853                 Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
854                 GetProperty(Button.Property.SELECTED_COLOR).Get(temp);
855                 return temp;
856             }
857             set
858             {
859                 SetProperty(Button.Property.SELECTED_COLOR, new Tizen.NUI.PropertyValue(value));
860             }
861         }
862
863         /// <summary>
864         /// Gets/Sets label.
865         /// </summary>
866         public Tizen.NUI.PropertyMap Label
867         {
868             get
869             {
870                 Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
871                 GetProperty(Button.Property.LABEL).Get(temp);
872                 return temp;
873             }
874             set
875             {
876                 SetProperty(Button.Property.LABEL, new Tizen.NUI.PropertyValue(value));
877             }
878         }
879
880         /// <summary>
881         /// Gets/Sets text of label.
882         /// </summary>
883         public string LabelText
884         {
885             get
886             {
887                 string temp;
888                 GetProperty(Button.Property.LABEL_TEXT).Get(out temp);
889                 return temp;
890             }
891             set
892             {
893                 SetProperty(Button.Property.LABEL_TEXT, new Tizen.NUI.PropertyValue(value));
894             }
895         }
896
897         /// <summary>
898         /// Enumeration for describing the position the text label can be in relation to the control(and foreground/icon).
899         /// </summary>
900         public enum Align
901         {
902             /// <summary>
903             /// At the start of the control before the foreground/icon
904             /// </summary>
905             Begin,
906             /// <summary>
907             /// At the end of the control after the foreground/icon
908             /// </summary>
909             End,
910             /// <summary>
911             /// At the top of the control above the foreground/icon
912             /// </summary>
913             Top,
914             /// <summary>
915             /// At the bottom of the control below the foreground/icon
916             /// </summary>
917             Bottom
918         }
919
920     }
921
922 }