[NUI] Deprecate swigCMemOwn which is not used
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / UIComponents / ToggleButton.cs
1 /*
2  * Copyright(c) 2018 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 using System;
18 using System.ComponentModel;
19 using System.Diagnostics.CodeAnalysis;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI
23 {
24     /// <summary>
25     /// A ToggleButton allows the user to change a setting between two or more states.
26     /// </summary>
27     /// <since_tizen> 3 </since_tizen>
28     /// This will be deprecated
29     [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
30     [EditorBrowsable(EditorBrowsableState.Never)]
31     public class ToggleButton : Tizen.NUI.UIComponents.Button
32     {
33         /// This will be deprecated
34         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
35         [EditorBrowsable(EditorBrowsableState.Never)]
36         public static readonly BindableProperty StateVisualsProperty = BindableProperty.Create(nameof(StateVisuals), typeof(PropertyArray), typeof(ToggleButton), new PropertyArray(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
37         {
38             var toggleButton = (ToggleButton)bindable;
39             if (newValue != null)
40             {
41                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)toggleButton.SwigCPtr, ToggleButton.Property.StateVisuals, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
42             }
43         }),
44         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
45         {
46             var toggleButton = (ToggleButton)bindable;
47             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
48             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)toggleButton.SwigCPtr, ToggleButton.Property.StateVisuals).Get(temp);
49             return temp;
50         }));
51
52         /// Only for XAML property binding. This will be changed as Inhouse API by ACR later.
53         /// This will be deprecated
54         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
55         [EditorBrowsable(EditorBrowsableState.Never)]
56         public static readonly BindableProperty TooltipsProperty = BindableProperty.Create(nameof(Tooltips), typeof(PropertyArray), typeof(ToggleButton), new PropertyArray(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
57         {
58             var toggleButton = (ToggleButton)bindable;
59             if (newValue != null)
60             {
61                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)toggleButton.SwigCPtr, ToggleButton.Property.TOOLTIPS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
62             }
63         }),
64         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
65         {
66             var toggleButton = (ToggleButton)bindable;
67             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
68             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)toggleButton.SwigCPtr, ToggleButton.Property.TOOLTIPS).Get(temp);
69             return temp;
70         }));
71
72         /// This will be deprecated
73         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
74         [EditorBrowsable(EditorBrowsableState.Never)]
75         public static readonly BindableProperty CurrentStateIndexProperty = BindableProperty.Create(nameof(CurrentStateIndex), typeof(int), typeof(ToggleButton), default(int), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
76         {
77             var toggleButton = (ToggleButton)bindable;
78             if (newValue != null)
79             {
80                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)toggleButton.SwigCPtr, ToggleButton.Property.CurrentStateIndex, new Tizen.NUI.PropertyValue((int)newValue));
81             }
82         }),
83         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
84         {
85             var toggleButton = (ToggleButton)bindable;
86             int temp = 0;
87             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)toggleButton.SwigCPtr, ToggleButton.Property.CurrentStateIndex).Get(out temp);
88             return temp;
89         }));
90
91
92         /// <summary>
93         /// Create an instance for toggleButton.
94         /// </summary>
95         /// <since_tizen> 3 </since_tizen>
96         /// This will be deprecated
97         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
98         [EditorBrowsable(EditorBrowsableState.Never)]
99         public ToggleButton() : this(Interop.ToggleButton.New(), true)
100         {
101             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
102         }
103
104         internal ToggleButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
105         {
106         }
107
108         /// <summary>
109         /// Gets and Sets the state visual array of toggle button.
110         /// </summary>
111         /// <since_tizen> 3 </since_tizen>
112         /// This will be deprecated
113         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
114         [EditorBrowsable(EditorBrowsableState.Never)]
115         public Tizen.NUI.PropertyArray StateVisuals
116         {
117             get
118             {
119                 return (PropertyArray)GetValue(StateVisualsProperty);
120             }
121             set
122             {
123                 SetValue(StateVisualsProperty, value);
124             }
125         }
126
127         /// <summary>
128         /// Gets and Sets the tooltips of toggle button.
129         /// </summary>
130         /// <since_tizen> 3 </since_tizen>
131         /// This will be deprecated
132         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
133         [EditorBrowsable(EditorBrowsableState.Never)]
134         public Tizen.NUI.PropertyArray Tooltips
135         {
136             get
137             {
138                 return (PropertyArray)GetValue(TooltipsProperty);
139             }
140             set
141             {
142                 SetValue(TooltipsProperty, 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         /// This will be deprecated
151         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
152         [EditorBrowsable(EditorBrowsableState.Never)]
153         public int CurrentStateIndex
154         {
155             get
156             {
157                 return (int)GetValue(CurrentStateIndexProperty);
158             }
159             set
160             {
161                 SetValue(CurrentStateIndexProperty, value);
162             }
163         }
164
165
166         /// This will not be public opened.
167         [EditorBrowsable(EditorBrowsableState.Never)]
168         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
169         {
170             Interop.ToggleButton.DeleteToggleButton(swigCPtr);
171         }
172
173         /// <summary>
174         /// This should be internal, please do not use.
175         /// </summary>
176         /// <since_tizen> 3 </since_tizen>
177         /// This will be deprecated
178         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
179         [EditorBrowsable(EditorBrowsableState.Never)]
180 #pragma warning disable CA1716, CA1052, CA1034 // Identifiers should not match keywords
181         public new class Property
182 #pragma warning restore CA1716, CA1052, CA1034 // Identifiers should not match keywords
183         {
184             /// <summary>
185             /// This should be internal, please do not use.
186             /// </summary>
187             /// <since_tizen> 3 </since_tizen>
188             /// This will be deprecated
189             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
190             [EditorBrowsable(EditorBrowsableState.Never)]
191             public static readonly int StateVisuals = Interop.ToggleButton.StateVisualsGet();
192             /// <summary>
193             /// This should be internal, please do not use.
194             /// </summary>
195             /// <since_tizen> 3 </since_tizen>
196             /// This will be deprecated
197             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
198             [EditorBrowsable(EditorBrowsableState.Never)]
199             public static readonly int TOOLTIPS = Interop.ToggleButton.TooltipsGet();
200             /// <summary>
201             /// This should be internal, please do not use.
202             /// </summary>
203             /// <since_tizen> 3 </since_tizen>
204             /// This will be deprecated
205             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
206             [EditorBrowsable(EditorBrowsableState.Never)]
207             public static readonly int CurrentStateIndex = Interop.ToggleButton.CurrentStateIndexGet();
208         }
209     }
210 }