[NUI] Deprecate Tizen.NUI.UIComponents (#1044)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / UIComponents / Slider.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.Runtime.InteropServices;
19 using System.ComponentModel;
20 using Tizen.NUI.BaseComponents;
21 using Tizen.NUI.Binding;
22 using Tizen.NUI.Binding.Internals;
23
24 namespace Tizen.NUI.UIComponents
25 {
26     /// <summary>
27     /// The slider is a control to enable sliding an indicator between two values.
28     /// </summary>
29     /// <since_tizen> 3 </since_tizen>
30     /// This will be deprecated
31     [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
32     [EditorBrowsable(EditorBrowsableState.Never)]
33     public class Slider : View
34     {
35         /// This will be deprecated
36         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
37         [EditorBrowsable(EditorBrowsableState.Never)]
38         public static readonly BindableProperty LowerBoundProperty = BindableProperty.Create("LowerBound", typeof(float), typeof(Slider), 0.0f, propertyChanged: (bindable, oldValue, newValue) =>
39         {
40             var slider = (Slider)bindable;
41             if (newValue != null)
42             {
43                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.LOWER_BOUND, new Tizen.NUI.PropertyValue((float)newValue));
44             }
45         },
46         defaultValueCreator:(bindable) =>
47         {
48             var slider = (Slider)bindable;
49             float temp = 0.0f;
50             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.LOWER_BOUND).Get(out temp);
51             return temp;
52         });
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 UpperBoundProperty = BindableProperty.Create("UpperBound", typeof(float), typeof(Slider), 1.0f, propertyChanged: (bindable, oldValue, newValue) => 
57         {
58             var slider = (Slider)bindable;
59             if (newValue != null)
60             {
61                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.UPPER_BOUND, new Tizen.NUI.PropertyValue((float)newValue));
62             }
63         },
64         defaultValueCreator:(bindable) =>
65         {
66             var slider = (Slider)bindable;
67             float temp = 0.0f;
68             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.UPPER_BOUND).Get(out temp);
69             return temp;
70         });
71         /// This will be deprecated
72         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
73         [EditorBrowsable(EditorBrowsableState.Never)]
74         public static readonly BindableProperty ValueProperty = BindableProperty.Create("Value", typeof(float), typeof(Slider), default(float), BindingMode.TwoWay, propertyChanged: (bindable, oldValue, newValue) =>
75         {
76             var slider = (Slider)bindable;
77             if (newValue != null)
78             {
79                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.VALUE, new Tizen.NUI.PropertyValue((float)newValue));
80             }
81         },
82         defaultValueCreator:(bindable) =>
83         {
84             var slider = (Slider)bindable;
85             float temp = 0.0f;
86             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.VALUE).Get(out temp);
87             return temp;
88         });
89         /// This will be deprecated
90         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
91         [EditorBrowsable(EditorBrowsableState.Never)]
92         public static readonly BindableProperty TrackVisualProperty = BindableProperty.Create("TrackVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
93         {
94             var slider = (Slider)bindable;
95             if (newValue != null)
96             {
97                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
98             }
99         },
100         defaultValueCreator:(bindable) =>
101         {
102             var slider = (Slider)bindable;
103             PropertyMap temp = new PropertyMap();
104             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.TRACK_VISUAL).Get(temp);
105             return temp;
106         });
107         /// This will be deprecated
108         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
109         [EditorBrowsable(EditorBrowsableState.Never)]
110         public static readonly BindableProperty HandleVisualProperty = BindableProperty.Create("HandleVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
111         {
112             var slider = (Slider)bindable;
113             if (newValue != null)
114             {
115                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.HANDLE_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
116             }
117         },
118         defaultValueCreator:(bindable) =>
119         {
120             var slider = (Slider)bindable;
121             PropertyMap temp = new PropertyMap();
122             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.HANDLE_VISUAL).Get(temp);
123             return temp;
124         });
125         /// This will be deprecated
126         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
127         [EditorBrowsable(EditorBrowsableState.Never)]
128         public static readonly BindableProperty ProgressVisualProperty = BindableProperty.Create("ProgressVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
129         {
130             var slider = (Slider)bindable;
131             if (newValue != null)
132             {
133                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
134             }
135         },
136         defaultValueCreator:(bindable) =>
137         {
138             var slider = (Slider)bindable;
139             PropertyMap temp = new PropertyMap();
140             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.PROGRESS_VISUAL).Get(temp);
141             return temp;
142         });
143         /// This will be deprecated
144         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
145         [EditorBrowsable(EditorBrowsableState.Never)]
146         public static readonly BindableProperty PopupVisualProperty = BindableProperty.Create("PopupVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
147         {
148             var slider = (Slider)bindable;
149             if (newValue != null)
150             {
151                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.POPUP_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
152             }
153         },
154         defaultValueCreator:(bindable) =>
155         {
156             var slider = (Slider)bindable;
157             PropertyMap temp = new PropertyMap();
158             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.POPUP_VISUAL).Get(temp);
159             return temp;
160         });
161         /// This will be deprecated
162         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
163         [EditorBrowsable(EditorBrowsableState.Never)]
164         public static readonly BindableProperty PopupArrowVisualProperty = BindableProperty.Create("PopupArrowVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
165         {
166             var slider = (Slider)bindable;
167             if (newValue != null)
168             {
169                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
170             }
171         },
172         defaultValueCreator:(bindable) =>
173         {
174             var slider = (Slider)bindable;
175             PropertyMap temp = new PropertyMap();
176             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.POPUP_ARROW_VISUAL).Get(temp);
177             return temp;
178         });
179         /// This will be deprecated
180         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
181         [EditorBrowsable(EditorBrowsableState.Never)]
182         public static readonly BindableProperty DisabledColorProperty = BindableProperty.Create("DisabledColor", typeof(Vector4), typeof(Slider), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) => 
183         {
184             var slider = (Slider)bindable;
185             if (newValue != null)
186             {
187                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.DISABLED_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
188             }
189         },
190         defaultValueCreator:(bindable) =>
191         {
192             var slider = (Slider)bindable;
193             Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
194             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.DISABLED_COLOR).Get(temp);
195             return temp;
196         });
197         /// This will be deprecated
198         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
199         [EditorBrowsable(EditorBrowsableState.Never)]
200         public static readonly BindableProperty ValuePrecisionProperty = BindableProperty.Create("ValuePrecision", typeof(int), typeof(Slider), default(int), propertyChanged: (bindable, oldValue, newValue) =>
201         {
202             var slider = (Slider)bindable;
203             if (newValue != null)
204             {
205                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.VALUE_PRECISION, new Tizen.NUI.PropertyValue((int)newValue));
206             }
207         },
208         defaultValueCreator:(bindable) =>
209         {
210             var slider = (Slider)bindable;
211             int temp = 0;
212             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.VALUE_PRECISION).Get(out temp);
213             return temp;
214         });
215         /// This will be deprecated
216         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
217         [EditorBrowsable(EditorBrowsableState.Never)]
218         public static readonly BindableProperty ShowPopupProperty = BindableProperty.Create("ShowPopup", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
219         {
220             var slider = (Slider)bindable;
221             if (newValue != null)
222             {
223                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SHOW_POPUP, new Tizen.NUI.PropertyValue((bool)newValue));
224             }
225         },
226         defaultValueCreator:(bindable) =>
227         {
228             var slider = (Slider)bindable;
229             bool temp = false;
230             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SHOW_POPUP).Get(out temp);
231             return temp;
232         });
233         /// This will be deprecated
234         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
235         [EditorBrowsable(EditorBrowsableState.Never)]
236         public static readonly BindableProperty ShowValueProperty = BindableProperty.Create("ShowValue", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
237         {
238             var slider = (Slider)bindable;
239             if (newValue != null)
240             {
241                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SHOW_VALUE, new Tizen.NUI.PropertyValue((bool)newValue));
242             }
243         },
244         defaultValueCreator:(bindable) =>
245         {
246             var slider = (Slider)bindable;
247             bool temp = false;
248             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SHOW_VALUE).Get(out temp);
249             return temp;
250         });
251         /// This will be deprecated
252         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
253         [EditorBrowsable(EditorBrowsableState.Never)]
254         public static readonly BindableProperty MarksProperty = BindableProperty.Create("Marks", typeof(PropertyArray), typeof(Slider), new PropertyArray(), propertyChanged: (bindable, oldValue, newValue) =>
255         {
256             var slider = (Slider)bindable;
257             if (newValue != null)
258             {
259                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.MARKS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
260             }
261         },
262         defaultValueCreator:(bindable) =>
263         {
264             var slider = (Slider)bindable;
265             Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
266             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.MARKS).Get(temp);
267             return temp;
268         });
269         /// This will be deprecated
270         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
271         [EditorBrowsable(EditorBrowsableState.Never)]
272         public static readonly BindableProperty MarkToleranceProperty = BindableProperty.Create("MarkTolerance", typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
273         {
274             var slider = (Slider)bindable;
275             if (newValue != null)
276             {
277                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.MARK_TOLERANCE, new Tizen.NUI.PropertyValue((float)newValue));
278             }
279         },
280         defaultValueCreator:(bindable) =>
281         {
282             var slider = (Slider)bindable;
283             float temp = 0.0f;
284             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.MARK_TOLERANCE).Get(out temp);
285             return temp;
286         });
287         /// This will be deprecated
288         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
289         [EditorBrowsable(EditorBrowsableState.Never)]
290         public static readonly BindableProperty SnapToMarksProperty = BindableProperty.Create("SnapToMarks", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) => 
291         {
292             var slider = (Slider)bindable;
293             if (newValue != null)
294             {
295                 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.PropertyValue((bool)newValue));
296             }
297         },
298         defaultValueCreator:(bindable) =>
299         {
300             var slider = (Slider)bindable;
301             bool temp = false;
302             Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SNAP_TO_MARKS).Get(out temp);
303             return temp;
304         });
305
306         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
307         private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
308         private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
309         private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
310         private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
311         private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
312         private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
313
314         /// <summary>
315         /// Creates the slider control.
316         /// </summary>
317         /// <since_tizen> 3 </since_tizen>
318         /// This will be deprecated
319         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
320         [EditorBrowsable(EditorBrowsableState.Never)]
321         public Slider() : this(Interop.Slider.Slider_New(), true)
322         {
323             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
324         }
325
326         internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.Slider.Slider_SWIGUpcast(cPtr), cMemoryOwn)
327         {
328             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
329         }
330
331         internal Slider(Slider handle) : this(Interop.Slider.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
332         {
333             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
334         }
335
336         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
337         private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
338         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
339         private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
340         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
341         private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
342
343         /// <summary>
344         /// An event emitted when the slider value changes.
345         /// </summary>
346         /// <since_tizen> 3 </since_tizen>
347         /// This will be deprecated
348         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
349         [EditorBrowsable(EditorBrowsableState.Never)]
350         public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
351         {
352             add
353             {
354                 if (_sliderValueChangedEventHandler == null)
355                 {
356                     _sliderValueChangedCallbackDelegate = (OnValueChanged);
357                     ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
358                 }
359                 _sliderValueChangedEventHandler += value;
360             }
361             remove
362             {
363                 _sliderValueChangedEventHandler -= value;
364                 if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
365                 {
366                     ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
367                 }
368             }
369         }
370
371         /// <summary>
372         /// An event emitted when the sliding is finished.
373         /// </summary>
374         /// <since_tizen> 3 </since_tizen>
375         /// This will be deprecated
376         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
377         [EditorBrowsable(EditorBrowsableState.Never)]
378         public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
379         {
380             add
381             {
382                 if (_sliderSlidingFinishedEventHandler == null)
383                 {
384                     _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
385                     SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
386                 }
387                 _sliderSlidingFinishedEventHandler += value;
388             }
389             remove
390             {
391                 _sliderSlidingFinishedEventHandler -= value;
392                 if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
393                 {
394                     SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
395                 }
396             }
397         }
398
399         /// <summary>
400         /// An event emitted when the slider handle reaches a mark.
401         /// </summary>
402         /// <since_tizen> 3 </since_tizen>
403         /// This will be deprecated
404         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
405         [EditorBrowsable(EditorBrowsableState.Never)]
406         public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
407         {
408             add
409             {
410                 if (_sliderMarkReachedEventHandler == null)
411                 {
412                     _sliderMarkReachedCallbackDelegate = (OnMarkReached);
413                     MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
414                 }
415                 _sliderMarkReachedEventHandler += value;
416             }
417             remove
418             {
419                 _sliderMarkReachedEventHandler -= value;
420                 if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
421                 {
422                     MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
423                 }
424             }
425         }
426
427         /// <summary>
428         /// The lower bound property.
429         /// </summary>
430         /// <since_tizen> 3 </since_tizen>
431         /// This will be deprecated
432         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
433         [EditorBrowsable(EditorBrowsableState.Never)]
434         public float LowerBound
435         {
436             get
437             {
438                 return (float)GetValue(LowerBoundProperty);
439             }
440             set
441             {
442                 SetValue(LowerBoundProperty, value);
443             }
444         }
445
446         /// <summary>
447         /// The upper bound property.
448         /// </summary>
449         /// <since_tizen> 3 </since_tizen>
450         /// This will be deprecated
451         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
452         [EditorBrowsable(EditorBrowsableState.Never)]
453         public float UpperBound
454         {
455             get
456             {
457                 return (float)GetValue(UpperBoundProperty);
458             }
459             set
460             {
461                 SetValue(UpperBoundProperty, value);
462             }
463         }
464
465         /// <summary>
466         /// The value property.
467         /// </summary>
468         /// <since_tizen> 3 </since_tizen>
469         /// This will be deprecated
470         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
471         [EditorBrowsable(EditorBrowsableState.Never)]
472         public float Value
473         {
474             get
475             {
476                 return (float)GetValue(ValueProperty);
477             }
478             set
479             {
480                 SetValueAndForceSendChangeSignal(ValueProperty, value);
481             }
482         }
483
484         /// <summary>
485         /// The track visual property.
486         /// </summary>
487         /// <since_tizen> 3 </since_tizen>
488         /// This will be deprecated
489         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
490         [EditorBrowsable(EditorBrowsableState.Never)]
491         public PropertyMap TrackVisual
492         {
493             get
494             {
495                 return (PropertyMap)GetValue(TrackVisualProperty);
496             }
497             set
498             {
499                 SetValue(TrackVisualProperty, value);
500             }
501         }
502
503         /// <summary>
504         /// The handle visual property.
505         /// </summary>
506         /// <since_tizen> 3 </since_tizen>
507         /// This will be deprecated
508         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
509         [EditorBrowsable(EditorBrowsableState.Never)]
510         public PropertyMap HandleVisual
511         {
512             get
513             {
514                 return (PropertyMap)GetValue(HandleVisualProperty);
515             }
516             set
517             {
518                 SetValue(HandleVisualProperty, value);
519             }
520         }
521
522         /// <summary>
523         /// The progress visual property.
524         /// </summary>
525         /// <since_tizen> 3 </since_tizen>
526         /// This will be deprecated
527         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
528         [EditorBrowsable(EditorBrowsableState.Never)]
529         public PropertyMap ProgressVisual
530         {
531             get
532             {
533                 return (PropertyMap)GetValue(ProgressVisualProperty);
534             }
535             set
536             {
537                 SetValue(ProgressVisualProperty, value);
538             }
539         }
540
541         /// <summary>
542         /// The popup visual property.
543         /// </summary>
544         /// <since_tizen> 3 </since_tizen>
545         /// This will be deprecated
546         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
547         [EditorBrowsable(EditorBrowsableState.Never)]
548         public PropertyMap PopupVisual
549         {
550             get
551             {
552                 return (PropertyMap)GetValue(PopupVisualProperty);
553             }
554             set
555             {
556                 SetValue(PopupVisualProperty, value);
557             }
558         }
559
560         /// <summary>
561         /// The popup arrow visual property.
562         /// </summary>
563         /// <since_tizen> 3 </since_tizen>
564         /// This will be deprecated
565         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
566         [EditorBrowsable(EditorBrowsableState.Never)]
567         public PropertyMap PopupArrowVisual
568         {
569             get
570             {
571                 return (PropertyMap)GetValue(PopupArrowVisualProperty);
572             }
573             set
574             {
575                 SetValue(PopupArrowVisualProperty, value);
576             }
577         }
578
579         /// <summary>
580         /// The disable color property.
581         /// </summary>
582         /// <since_tizen> 3 </since_tizen>
583         /// This will be deprecated
584         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
585         [EditorBrowsable(EditorBrowsableState.Never)]
586         public Vector4 DisabledColor
587         {
588             get
589             {
590                 return (Vector4)GetValue(DisabledColorProperty);
591             }
592             set
593             {
594                 SetValue(DisabledColorProperty, value);
595             }
596         }
597
598         /// <summary>
599         /// The value precision property.
600         /// </summary>
601         /// <since_tizen> 3 </since_tizen>
602         /// This will be deprecated
603         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
604         [EditorBrowsable(EditorBrowsableState.Never)]
605         public int ValuePrecision
606         {
607             get
608             {
609                 return (int)GetValue(ValuePrecisionProperty);
610             }
611             set
612             {
613                 SetValue(ValuePrecisionProperty, value);
614             }
615         }
616
617         /// <summary>
618         /// The show popup property.
619         /// </summary>
620         /// <since_tizen> 3 </since_tizen>
621         /// This will be deprecated
622         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
623         [EditorBrowsable(EditorBrowsableState.Never)]
624         public bool ShowPopup
625         {
626             get
627             {
628                 return (bool)GetValue(ShowPopupProperty);
629             }
630             set
631             {
632                 SetValue(ShowPopupProperty, value);
633             }
634         }
635
636         /// <summary>
637         /// The show value property.
638         /// </summary>
639         /// <since_tizen> 3 </since_tizen>
640         /// This will be deprecated
641         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
642         [EditorBrowsable(EditorBrowsableState.Never)]
643         public bool ShowValue
644         {
645             get
646             {
647                 return (bool)GetValue(ShowValueProperty);
648             }
649             set
650             {
651                 SetValue(ShowValueProperty, value);
652             }
653         }
654
655         /// <summary>
656         /// The marks property.
657         /// </summary>
658         /// <since_tizen> 3 </since_tizen>
659         /// This will be deprecated
660         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
661         [EditorBrowsable(EditorBrowsableState.Never)]
662         public Tizen.NUI.PropertyArray Marks
663         {
664             get
665             {
666                 return (PropertyArray)GetValue(MarksProperty);
667             }
668             set
669             {
670                 SetValue(MarksProperty, value);
671             }
672         }
673
674         /// <summary>
675         /// The snap to marks property.
676         /// </summary>
677         /// <since_tizen> 3 </since_tizen>
678         /// This will be deprecated
679         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
680         [EditorBrowsable(EditorBrowsableState.Never)]
681         public bool SnapToMarks
682         {
683             get
684             {
685                 return (bool)GetValue(SnapToMarksProperty);
686             }
687             set
688             {
689                 SetValue(SnapToMarksProperty, value);
690             }
691         }
692
693         /// <summary>
694         /// The mark tolerance property.
695         /// </summary>
696         /// <since_tizen> 3 </since_tizen>
697         /// This will be deprecated
698         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
699         [EditorBrowsable(EditorBrowsableState.Never)]
700         public float MarkTolerance
701         {
702             get
703             {
704                 return (float)GetValue(MarkToleranceProperty);
705             }
706             set
707             {
708                 SetValue(MarkToleranceProperty, value);
709             }
710         }
711
712         /// Only used by the IL of xaml, will never changed to not hidden.
713         [EditorBrowsable(EditorBrowsableState.Never)]
714         public override bool IsCreateByXaml
715         {
716             get
717             {
718                 return base.IsCreateByXaml;
719             }
720             set
721             {
722                 base.IsCreateByXaml = value;
723
724                 if (value == true)
725                 {
726                     this.ValueChanged += (obj, e) => {
727                         this.Value = e.SlideValue;
728                         return true;
729                     };
730                 }
731             }
732         }
733
734         /// <summary>
735         /// Downcasts an object handle to the slider.<br />
736         /// If the handle points to a slider, then the downcast produces a valid handle.<br />
737         /// If not, then the returned handle is left uninitialized.<br />
738         /// </summary>
739         /// <param name="handle">The handle to an object.</param>
740         /// <returns>The handle to a slider or an uninitialized handle.</returns>
741         /// <since_tizen> 3 </since_tizen>
742         /// This will be deprecated
743         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
744         [EditorBrowsable(EditorBrowsableState.Never)]
745         public static Slider DownCast(BaseHandle handle)
746         {
747             Slider ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Slider;
748             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
749             return ret;
750         }
751
752         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
753         {
754             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
755         }
756
757         /// <summary>
758         /// Gets the slider from the pointer.
759         /// </summary>
760         /// <param name="cPtr">The pointer of the slider.</param>
761         /// <returns>The object of the slider type.</returns>
762         internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
763         {
764             Slider ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Slider;
765             if (null == ret)
766             {
767                 ret = Registry.GetManagedBaseHandleFromRefObject(cPtr) as Slider;
768             }
769
770             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
771             return ret;
772         }
773
774         internal Slider Assign(Slider handle)
775         {
776             Slider ret = new Slider(Interop.Slider.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
777             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
778             return ret;
779         }
780
781         internal SliderValueChangedSignal ValueChangedSignal()
782         {
783             SliderValueChangedSignal ret = new SliderValueChangedSignal(Interop.Slider.Slider_ValueChangedSignal(swigCPtr), false);
784             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
785             return ret;
786         }
787
788         internal SliderValueChangedSignal SlidingFinishedSignal()
789         {
790             SliderValueChangedSignal ret = new SliderValueChangedSignal(Interop.Slider.Slider_SlidingFinishedSignal(swigCPtr), false);
791             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
792             return ret;
793         }
794
795         internal SliderMarkReachedSignal MarkReachedSignal()
796         {
797             SliderMarkReachedSignal ret = new SliderMarkReachedSignal(Interop.Slider.Slider_MarkReachedSignal(swigCPtr), false);
798             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
799             return ret;
800         }
801
802         /// <summary>
803         /// Dispose.
804         /// </summary>
805         /// <since_tizen> 3 </since_tizen>
806         /// This will be deprecated
807         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
808         [EditorBrowsable(EditorBrowsableState.Never)]
809         protected override void Dispose(DisposeTypes type)
810         {
811             if (disposed)
812             {
813                 return;
814             }
815
816             //Release your own unmanaged resources here.
817             //You should not access any managed member here except static instance.
818             //because the execution order of Finalizes is non-deterministic.
819             if (this != null)
820             {
821                 if (_sliderValueChangedCallbackDelegate != null)
822                 {
823                     ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
824                 }
825
826                 if (_sliderSlidingFinishedCallbackDelegate != null)
827                 {
828                     SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
829                 }
830
831                 if (_sliderMarkReachedCallbackDelegate != null)
832                 {
833                     MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
834                 }
835             }
836
837             if (swigCPtr.Handle != global::System.IntPtr.Zero)
838             {
839                 if (swigCMemOwn)
840                 {
841                     swigCMemOwn = false;
842                     Interop.Slider.delete_Slider(swigCPtr);
843                 }
844                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
845             }
846
847             base.Dispose(type);
848         }
849
850         // Callback for Slider ValueChanged signal
851         private bool OnValueChanged(IntPtr slider, float slideValue)
852         {
853             ValueChangedEventArgs e = new ValueChangedEventArgs();
854
855             // Populate all members of "e" (ValueChangedEventArgs) with real page
856             e.Slider = Slider.GetSliderFromPtr(slider);
857             e.SlideValue = slideValue;
858
859             if (_sliderValueChangedEventHandler != null)
860             {
861                 //here we send all page to user event handlers
862                 return _sliderValueChangedEventHandler(this, e);
863             }
864             return false;
865         }
866
867         // Callback for Slider SlidingFinished signal
868         private bool OnSlidingFinished(IntPtr slider, float slideValue)
869         {
870             SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
871
872             // Populate all members of "e" (SlidingFinishedEventArgs) with real page
873             e.Slider = Slider.GetSliderFromPtr(slider);
874             e.SlideValue = slideValue;
875
876             if (_sliderSlidingFinishedEventHandler != null)
877             {
878                 //here we send all page to user event handlers
879                 return _sliderSlidingFinishedEventHandler(this, e);
880             }
881             return false;
882         }
883
884         // Callback for Slider MarkReached signal
885         private bool OnMarkReached(IntPtr slider, int slideValue)
886         {
887             MarkReachedEventArgs e = new MarkReachedEventArgs();
888
889             // Populate all members of "e" (MarkReachedEventArgs) with real page
890             e.Slider = Slider.GetSliderFromPtr(slider);
891             e.SlideValue = slideValue;
892
893             if (_sliderMarkReachedEventHandler != null)
894             {
895                 //here we send all page to user event handlers
896                 return _sliderMarkReachedEventHandler(this, e);
897             }
898             return false;
899         }
900
901         /// <summary>
902         /// The ValueChanged event arguments.
903         /// </summary>
904         /// <since_tizen> 3 </since_tizen>
905         /// This will be deprecated
906         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
907         [EditorBrowsable(EditorBrowsableState.Never)]
908         public class ValueChangedEventArgs : EventArgs
909         {
910             private Slider _slider;
911             private float _slideValue;
912
913             /// <summary>
914             /// The slider.
915             /// </summary>
916             /// <since_tizen> 3 </since_tizen>
917             /// This will be deprecated
918             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
919             [EditorBrowsable(EditorBrowsableState.Never)]
920             public Slider Slider
921             {
922                 get
923                 {
924                     return _slider;
925                 }
926                 set
927                 {
928                     _slider = value;
929                 }
930             }
931
932             /// <summary>
933             /// The slider value.
934             /// </summary>
935             /// <since_tizen> 3 </since_tizen>
936             /// This will be deprecated
937             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
938             [EditorBrowsable(EditorBrowsableState.Never)]
939             public float SlideValue
940             {
941                 get
942                 {
943                     return _slideValue;
944                 }
945                 set
946                 {
947                     _slideValue = value;
948                 }
949             }
950         }
951
952         /// <summary>
953         /// The SlidingFinished event arguments.
954         /// </summary>
955         /// <since_tizen> 3 </since_tizen>
956         /// This will be deprecated
957         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
958         [EditorBrowsable(EditorBrowsableState.Never)]
959         public class SlidingFinishedEventArgs : EventArgs
960         {
961             private Slider _slider;
962             private float _slideValue;
963
964             /// <summary>
965             /// The slider.
966             /// </summary>
967             /// <since_tizen> 3 </since_tizen>
968             /// This will be deprecated
969             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
970             [EditorBrowsable(EditorBrowsableState.Never)]
971             public Slider Slider
972             {
973                 get
974                 {
975                     return _slider;
976                 }
977                 set
978                 {
979                     _slider = value;
980                 }
981             }
982
983             /// <summary>
984             /// The slider value.
985             /// </summary>
986             /// <since_tizen> 3 </since_tizen>
987             /// This will be deprecated
988             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
989             [EditorBrowsable(EditorBrowsableState.Never)]
990             public float SlideValue
991             {
992                 get
993                 {
994                     return _slideValue;
995                 }
996                 set
997                 {
998                     _slideValue = value;
999                 }
1000             }
1001         }
1002
1003         /// <summary>
1004         /// The MarkReached event arguments.
1005         /// </summary>
1006         /// <since_tizen> 3 </since_tizen>
1007         /// This will be deprecated
1008         [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
1009         [EditorBrowsable(EditorBrowsableState.Never)]
1010         public class MarkReachedEventArgs : EventArgs
1011         {
1012             private Slider _slider;
1013             private int _slideValue;
1014
1015             /// <summary>
1016             /// The slider.
1017             /// </summary>
1018             /// <since_tizen> 3 </since_tizen>
1019             /// This will be deprecated
1020             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
1021             [EditorBrowsable(EditorBrowsableState.Never)]
1022             public Slider Slider
1023             {
1024                 get
1025                 {
1026                     return _slider;
1027                 }
1028                 set
1029                 {
1030                     _slider = value;
1031                 }
1032             }
1033
1034             /// <summary>
1035             /// The slider value.
1036             /// </summary>
1037             /// <since_tizen> 3 </since_tizen>
1038             /// This will be deprecated
1039             [Obsolete("Deprecated in API6; Will be removed in API9. Please use Tizen.NUI.Components")]
1040             [EditorBrowsable(EditorBrowsableState.Never)]
1041             public int SlideValue
1042             {
1043                 get
1044                 {
1045                     return _slideValue;
1046                 }
1047                 set
1048                 {
1049                     _slideValue = value;
1050                 }
1051             }
1052         }
1053
1054         internal new class Property
1055         {
1056             internal static readonly int LOWER_BOUND = Interop.Slider.Slider_Property_LOWER_BOUND_get();
1057             internal static readonly int UPPER_BOUND = Interop.Slider.Slider_Property_UPPER_BOUND_get();
1058             internal static readonly int VALUE = Interop.Slider.Slider_Property_VALUE_get();
1059             internal static readonly int TRACK_VISUAL = Interop.Slider.Slider_Property_TRACK_VISUAL_get();
1060             internal static readonly int HANDLE_VISUAL = Interop.Slider.Slider_Property_HANDLE_VISUAL_get();
1061             internal static readonly int PROGRESS_VISUAL = Interop.Slider.Slider_Property_PROGRESS_VISUAL_get();
1062             internal static readonly int POPUP_VISUAL = Interop.Slider.Slider_Property_POPUP_VISUAL_get();
1063             internal static readonly int POPUP_ARROW_VISUAL = Interop.Slider.Slider_Property_POPUP_ARROW_VISUAL_get();
1064             internal static readonly int DISABLED_COLOR = Interop.Slider.Slider_Property_DISABLED_COLOR_get();
1065             internal static readonly int VALUE_PRECISION = Interop.Slider.Slider_Property_VALUE_PRECISION_get();
1066             internal static readonly int SHOW_POPUP = Interop.Slider.Slider_Property_SHOW_POPUP_get();
1067             internal static readonly int SHOW_VALUE = Interop.Slider.Slider_Property_SHOW_VALUE_get();
1068             internal static readonly int MARKS = Interop.Slider.Slider_Property_MARKS_get();
1069             internal static readonly int SNAP_TO_MARKS = Interop.Slider.Slider_Property_SNAP_TO_MARKS_get();
1070             internal static readonly int MARK_TOLERANCE = Interop.Slider.Slider_Property_MARK_TOLERANCE_get();
1071         }
1072     }
1073 }