Release 4.0.0-preview1-00301
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / UIComponents / ToggleButton.cs
1 /*
2  * Copyright(c) 2017 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 using Tizen.NUI.BaseComponents;
19
20 namespace Tizen.NUI
21 {
22
23     /// <summary>
24     /// A ToggleButton allows the user to change a setting between two or more states.
25     /// </summary>
26     public class ToggleButton : Tizen.NUI.UIComponents.Button
27     {
28         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
29
30         internal ToggleButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ToggleButton_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(ToggleButton 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         /// <param name="type">The dispose type</param>
44         /// <since_tizen> 3 </since_tizen>
45         protected override void Dispose(DisposeTypes type)
46         {
47             if (disposed)
48             {
49                 return;
50             }
51
52             if (type == DisposeTypes.Explicit)
53             {
54                 //Called by User
55                 //Release your own managed resources here.
56                 //You should release all of your own disposable objects here.
57
58             }
59
60             //Release your own unmanaged resources here.
61             //You should not access any managed member here except static instance.
62             //because the execution order of Finalizes is non-deterministic.
63
64             if (swigCPtr.Handle != global::System.IntPtr.Zero)
65             {
66                 if (swigCMemOwn)
67                 {
68                     swigCMemOwn = false;
69                     NDalicPINVOKE.delete_ToggleButton(swigCPtr);
70                 }
71                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
72             }
73
74             base.Dispose(type);
75         }
76
77         /// <summary>
78         /// This should be internal, please do not use.
79         /// </summary>
80         /// <since_tizen> 3 </since_tizen>
81         public new class Property
82         {
83             /// <summary>
84             /// This should be internal, please do not use.
85             /// </summary>
86             /// <since_tizen> 3 </since_tizen>
87             public static readonly int STATE_VISUALS = NDalicPINVOKE.ToggleButton_Property_STATE_VISUALS_get();
88             /// <summary>
89             /// This should be internal, please do not use.
90             /// </summary>
91             /// <since_tizen> 3 </since_tizen>
92             public static readonly int TOOLTIPS = NDalicPINVOKE.ToggleButton_Property_TOOLTIPS_get();
93             /// <summary>
94             /// This should be internal, please do not use.
95             /// </summary>
96             /// <since_tizen> 3 </since_tizen>
97             public static readonly int CURRENT_STATE_INDEX = NDalicPINVOKE.ToggleButton_Property_CURRENT_STATE_INDEX_get();
98         }
99
100         /// <summary>
101         /// Create an instance for toggleButton.
102         /// </summary>
103         /// <since_tizen> 3 </since_tizen>
104         public ToggleButton() : this(NDalicPINVOKE.ToggleButton_New(), true)
105         {
106             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
107
108         }
109
110         /// <summary>
111         /// Gets and Sets the state visual array of toggle button.
112         /// </summary>
113         /// <since_tizen> 3 </since_tizen>
114         public Tizen.NUI.PropertyArray StateVisuals
115         {
116             get
117             {
118                 Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
119                 GetProperty(ToggleButton.Property.STATE_VISUALS).Get(temp);
120                 return temp;
121             }
122             set
123             {
124                 SetProperty(ToggleButton.Property.STATE_VISUALS, new Tizen.NUI.PropertyValue(value));
125             }
126         }
127
128         /// <summary>
129         /// Gets and Sets the tooltips of toggle button.
130         /// </summary>
131         /// <since_tizen> 3 </since_tizen>
132         public Tizen.NUI.PropertyArray Tooltips
133         {
134             get
135             {
136                 Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
137                 GetProperty(ToggleButton.Property.TOOLTIPS).Get(temp);
138                 return temp;
139             }
140             set
141             {
142                 SetProperty(ToggleButton.Property.TOOLTIPS, new Tizen.NUI.PropertyValue(value));
143             }
144         }
145
146         /// <summary>
147         /// Gets and Sets the current state index of toggle button.
148         /// </summary>
149         /// <since_tizen> 3 </since_tizen>
150         public int CurrentStateIndex
151         {
152             get
153             {
154                 int temp = 0;
155                 GetProperty(ToggleButton.Property.CURRENT_STATE_INDEX).Get(out temp);
156                 return temp;
157             }
158             set
159             {
160                 SetProperty(ToggleButton.Property.CURRENT_STATE_INDEX, new Tizen.NUI.PropertyValue(value));
161             }
162         }
163
164     }
165
166 }