2 * Copyright(c) 2018 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
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;
24 namespace Tizen.NUI.UIComponents
27 /// The slider is a control to enable sliding an indicator between two values.
29 /// <since_tizen> 3 </since_tizen>
30 public class Slider : View
32 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
33 [EditorBrowsable(EditorBrowsableState.Never)]
34 public static readonly BindableProperty LowerBoundProperty = BindableProperty.Create("LowerBound", typeof(float), typeof(Slider), 0.0f, propertyChanged: (bindable, oldValue, newValue) =>
36 var slider = (Slider)bindable;
39 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.LOWER_BOUND, new Tizen.NUI.PropertyValue((float)newValue));
42 defaultValueCreator:(bindable) =>
44 var slider = (Slider)bindable;
46 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.LOWER_BOUND).Get(out temp);
49 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
50 [EditorBrowsable(EditorBrowsableState.Never)]
51 public static readonly BindableProperty UpperBoundProperty = BindableProperty.Create("UpperBound", typeof(float), typeof(Slider), 1.0f, propertyChanged: (bindable, oldValue, newValue) =>
53 var slider = (Slider)bindable;
56 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.UPPER_BOUND, new Tizen.NUI.PropertyValue((float)newValue));
59 defaultValueCreator:(bindable) =>
61 var slider = (Slider)bindable;
63 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.UPPER_BOUND).Get(out temp);
66 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
67 [EditorBrowsable(EditorBrowsableState.Never)]
68 public static readonly BindableProperty ValueProperty = BindableProperty.Create("Value", typeof(float), typeof(Slider), default(float), BindingMode.TwoWay, propertyChanged: (bindable, oldValue, newValue) =>
70 var slider = (Slider)bindable;
73 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.VALUE, new Tizen.NUI.PropertyValue((float)newValue));
76 defaultValueCreator:(bindable) =>
78 var slider = (Slider)bindable;
80 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.VALUE).Get(out temp);
83 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
84 [EditorBrowsable(EditorBrowsableState.Never)]
85 public static readonly BindableProperty TrackVisualProperty = BindableProperty.Create("TrackVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
87 var slider = (Slider)bindable;
90 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
93 defaultValueCreator:(bindable) =>
95 var slider = (Slider)bindable;
96 PropertyMap temp = new PropertyMap();
97 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.TRACK_VISUAL).Get(temp);
100 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
101 [EditorBrowsable(EditorBrowsableState.Never)]
102 public static readonly BindableProperty HandleVisualProperty = BindableProperty.Create("HandleVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
104 var slider = (Slider)bindable;
105 if (newValue != null)
107 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.HANDLE_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
110 defaultValueCreator:(bindable) =>
112 var slider = (Slider)bindable;
113 PropertyMap temp = new PropertyMap();
114 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.HANDLE_VISUAL).Get(temp);
117 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
118 [EditorBrowsable(EditorBrowsableState.Never)]
119 public static readonly BindableProperty ProgressVisualProperty = BindableProperty.Create("ProgressVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
121 var slider = (Slider)bindable;
122 if (newValue != null)
124 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
127 defaultValueCreator:(bindable) =>
129 var slider = (Slider)bindable;
130 PropertyMap temp = new PropertyMap();
131 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.PROGRESS_VISUAL).Get(temp);
134 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
135 [EditorBrowsable(EditorBrowsableState.Never)]
136 public static readonly BindableProperty PopupVisualProperty = BindableProperty.Create("PopupVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
138 var slider = (Slider)bindable;
139 if (newValue != null)
141 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.POPUP_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
144 defaultValueCreator:(bindable) =>
146 var slider = (Slider)bindable;
147 PropertyMap temp = new PropertyMap();
148 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.POPUP_VISUAL).Get(temp);
151 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
152 [EditorBrowsable(EditorBrowsableState.Never)]
153 public static readonly BindableProperty PopupArrowVisualProperty = BindableProperty.Create("PopupArrowVisual", typeof(PropertyMap), typeof(Slider), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
155 var slider = (Slider)bindable;
156 if (newValue != null)
158 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
161 defaultValueCreator:(bindable) =>
163 var slider = (Slider)bindable;
164 PropertyMap temp = new PropertyMap();
165 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.POPUP_ARROW_VISUAL).Get(temp);
168 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
169 [EditorBrowsable(EditorBrowsableState.Never)]
170 public static readonly BindableProperty DisabledColorProperty = BindableProperty.Create("DisabledColor", typeof(Vector4), typeof(Slider), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
172 var slider = (Slider)bindable;
173 if (newValue != null)
175 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.DISABLED_COLOR, new Tizen.NUI.PropertyValue((Vector4)newValue));
178 defaultValueCreator:(bindable) =>
180 var slider = (Slider)bindable;
181 Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
182 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.DISABLED_COLOR).Get(temp);
185 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
186 [EditorBrowsable(EditorBrowsableState.Never)]
187 public static readonly BindableProperty ValuePrecisionProperty = BindableProperty.Create("ValuePrecision", typeof(int), typeof(Slider), default(int), propertyChanged: (bindable, oldValue, newValue) =>
189 var slider = (Slider)bindable;
190 if (newValue != null)
192 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.VALUE_PRECISION, new Tizen.NUI.PropertyValue((int)newValue));
195 defaultValueCreator:(bindable) =>
197 var slider = (Slider)bindable;
199 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.VALUE_PRECISION).Get(out temp);
202 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
203 [EditorBrowsable(EditorBrowsableState.Never)]
204 public static readonly BindableProperty ShowPopupProperty = BindableProperty.Create("ShowPopup", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
206 var slider = (Slider)bindable;
207 if (newValue != null)
209 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SHOW_POPUP, new Tizen.NUI.PropertyValue((bool)newValue));
212 defaultValueCreator:(bindable) =>
214 var slider = (Slider)bindable;
216 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SHOW_POPUP).Get(out temp);
219 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
220 [EditorBrowsable(EditorBrowsableState.Never)]
221 public static readonly BindableProperty ShowValueProperty = BindableProperty.Create("ShowValue", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
223 var slider = (Slider)bindable;
224 if (newValue != null)
226 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SHOW_VALUE, new Tizen.NUI.PropertyValue((bool)newValue));
229 defaultValueCreator:(bindable) =>
231 var slider = (Slider)bindable;
233 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SHOW_VALUE).Get(out temp);
236 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
237 [EditorBrowsable(EditorBrowsableState.Never)]
238 public static readonly BindableProperty MarksProperty = BindableProperty.Create("Marks", typeof(PropertyArray), typeof(Slider), new PropertyArray(), propertyChanged: (bindable, oldValue, newValue) =>
240 var slider = (Slider)bindable;
241 if (newValue != null)
243 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.MARKS, new Tizen.NUI.PropertyValue((PropertyArray)newValue));
246 defaultValueCreator:(bindable) =>
248 var slider = (Slider)bindable;
249 Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
250 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.MARKS).Get(temp);
253 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
254 [EditorBrowsable(EditorBrowsableState.Never)]
255 public static readonly BindableProperty MarkToleranceProperty = BindableProperty.Create("MarkTolerance", typeof(float), typeof(Slider), default(float), propertyChanged: (bindable, oldValue, newValue) =>
257 var slider = (Slider)bindable;
258 if (newValue != null)
260 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.MARK_TOLERANCE, new Tizen.NUI.PropertyValue((float)newValue));
263 defaultValueCreator:(bindable) =>
265 var slider = (Slider)bindable;
267 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.MARK_TOLERANCE).Get(out temp);
270 /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
271 [EditorBrowsable(EditorBrowsableState.Never)]
272 public static readonly BindableProperty SnapToMarksProperty = BindableProperty.Create("SnapToMarks", typeof(bool), typeof(Slider), false, propertyChanged: (bindable, oldValue, newValue) =>
274 var slider = (Slider)bindable;
275 if (newValue != null)
277 Tizen.NUI.Object.SetProperty(slider.swigCPtr, Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.PropertyValue((bool)newValue));
280 defaultValueCreator:(bindable) =>
282 var slider = (Slider)bindable;
284 Tizen.NUI.Object.GetProperty(slider.swigCPtr, Slider.Property.SNAP_TO_MARKS).Get(out temp);
288 private global::System.Runtime.InteropServices.HandleRef swigCPtr;
289 private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
290 private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
291 private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
292 private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
293 private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
294 private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
297 /// Creates the slider control.
299 /// <since_tizen> 3 </since_tizen>
300 public Slider() : this(Interop.Slider.Slider_New(), true)
302 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
305 internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.Slider.Slider_SWIGUpcast(cPtr), cMemoryOwn)
307 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
310 internal Slider(Slider handle) : this(Interop.Slider.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
312 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
315 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
316 private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
317 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
318 private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
319 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
320 private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
323 /// An event emitted when the slider value changes.
325 /// <since_tizen> 3 </since_tizen>
326 public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
330 if (_sliderValueChangedEventHandler == null)
332 _sliderValueChangedCallbackDelegate = (OnValueChanged);
333 ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
335 _sliderValueChangedEventHandler += value;
339 _sliderValueChangedEventHandler -= value;
340 if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
342 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
348 /// An event emitted when the sliding is finished.
350 /// <since_tizen> 3 </since_tizen>
351 public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
355 if (_sliderSlidingFinishedEventHandler == null)
357 _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
358 SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
360 _sliderSlidingFinishedEventHandler += value;
364 _sliderSlidingFinishedEventHandler -= value;
365 if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
367 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
373 /// An event emitted when the slider handle reaches a mark.
375 /// <since_tizen> 3 </since_tizen>
376 public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
380 if (_sliderMarkReachedEventHandler == null)
382 _sliderMarkReachedCallbackDelegate = (OnMarkReached);
383 MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
385 _sliderMarkReachedEventHandler += value;
389 _sliderMarkReachedEventHandler -= value;
390 if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
392 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
398 /// The lower bound property.
400 /// <since_tizen> 3 </since_tizen>
401 public float LowerBound
405 return (float)GetValue(LowerBoundProperty);
409 SetValue(LowerBoundProperty, value);
414 /// The upper bound property.
416 /// <since_tizen> 3 </since_tizen>
417 public float UpperBound
421 return (float)GetValue(UpperBoundProperty);
425 SetValue(UpperBoundProperty, value);
430 /// The value property.
432 /// <since_tizen> 3 </since_tizen>
437 return (float)GetValue(ValueProperty);
441 SetValueAndForceSendChangeSignal(ValueProperty, value);
446 /// The track visual property.
448 /// <since_tizen> 3 </since_tizen>
449 public PropertyMap TrackVisual
453 return (PropertyMap)GetValue(TrackVisualProperty);
457 SetValue(TrackVisualProperty, value);
462 /// The handle visual property.
464 /// <since_tizen> 3 </since_tizen>
465 public PropertyMap HandleVisual
469 return (PropertyMap)GetValue(HandleVisualProperty);
473 SetValue(HandleVisualProperty, value);
478 /// The progress visual property.
480 /// <since_tizen> 3 </since_tizen>
481 public PropertyMap ProgressVisual
485 return (PropertyMap)GetValue(ProgressVisualProperty);
489 SetValue(ProgressVisualProperty, value);
494 /// The popup visual property.
496 /// <since_tizen> 3 </since_tizen>
497 public PropertyMap PopupVisual
501 return (PropertyMap)GetValue(PopupVisualProperty);
505 SetValue(PopupVisualProperty, value);
510 /// The popup arrow visual property.
512 /// <since_tizen> 3 </since_tizen>
513 public PropertyMap PopupArrowVisual
517 return (PropertyMap)GetValue(PopupArrowVisualProperty);
521 SetValue(PopupArrowVisualProperty, value);
526 /// The disable color property.
528 /// <since_tizen> 3 </since_tizen>
529 public Vector4 DisabledColor
533 return (Vector4)GetValue(DisabledColorProperty);
537 SetValue(DisabledColorProperty, value);
542 /// The value precision property.
544 /// <since_tizen> 3 </since_tizen>
545 public int ValuePrecision
549 return (int)GetValue(ValuePrecisionProperty);
553 SetValue(ValuePrecisionProperty, value);
558 /// The show popup property.
560 /// <since_tizen> 3 </since_tizen>
561 public bool ShowPopup
565 return (bool)GetValue(ShowPopupProperty);
569 SetValue(ShowPopupProperty, value);
574 /// The show value property.
576 /// <since_tizen> 3 </since_tizen>
577 public bool ShowValue
581 return (bool)GetValue(ShowValueProperty);
585 SetValue(ShowValueProperty, value);
590 /// The marks property.
592 /// <since_tizen> 3 </since_tizen>
593 public Tizen.NUI.PropertyArray Marks
597 return (PropertyArray)GetValue(MarksProperty);
601 SetValue(MarksProperty, value);
606 /// The snap to marks property.
608 /// <since_tizen> 3 </since_tizen>
609 public bool SnapToMarks
613 return (bool)GetValue(SnapToMarksProperty);
617 SetValue(SnapToMarksProperty, value);
622 /// The mark tolerance property.
624 /// <since_tizen> 3 </since_tizen>
625 public float MarkTolerance
629 return (float)GetValue(MarkToleranceProperty);
633 SetValue(MarkToleranceProperty, value);
637 /// Only used by the IL of xaml, will never changed to not hidden.
638 [EditorBrowsable(EditorBrowsableState.Never)]
639 public override bool IsCreateByXaml
643 return base.IsCreateByXaml;
647 base.IsCreateByXaml = value;
651 this.ValueChanged += (obj, e) => {
652 this.Value = e.SlideValue;
660 /// Downcasts an object handle to the slider.<br />
661 /// If the handle points to a slider, then the downcast produces a valid handle.<br />
662 /// If not, then the returned handle is left uninitialized.<br />
664 /// <param name="handle">The handle to an object.</param>
665 /// <returns>The handle to a slider or an uninitialized handle.</returns>
666 /// <since_tizen> 3 </since_tizen>
667 public static Slider DownCast(BaseHandle handle)
669 Slider ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Slider;
670 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
674 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
676 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
680 /// Gets the slider from the pointer.
682 /// <param name="cPtr">The pointer of the slider.</param>
683 /// <returns>The object of the slider type.</returns>
684 internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
686 Slider ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Slider;
689 ret = Registry.GetManagedBaseHandleFromRefObject(cPtr) as Slider;
692 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
696 internal Slider Assign(Slider handle)
698 Slider ret = new Slider(Interop.Slider.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
699 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
703 internal SliderValueChangedSignal ValueChangedSignal()
705 SliderValueChangedSignal ret = new SliderValueChangedSignal(Interop.Slider.Slider_ValueChangedSignal(swigCPtr), false);
706 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
710 internal SliderValueChangedSignal SlidingFinishedSignal()
712 SliderValueChangedSignal ret = new SliderValueChangedSignal(Interop.Slider.Slider_SlidingFinishedSignal(swigCPtr), false);
713 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
717 internal SliderMarkReachedSignal MarkReachedSignal()
719 SliderMarkReachedSignal ret = new SliderMarkReachedSignal(Interop.Slider.Slider_MarkReachedSignal(swigCPtr), false);
720 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
727 /// <since_tizen> 3 </since_tizen>
728 protected override void Dispose(DisposeTypes type)
735 //Release your own unmanaged resources here.
736 //You should not access any managed member here except static instance.
737 //because the execution order of Finalizes is non-deterministic.
740 if (_sliderValueChangedCallbackDelegate != null)
742 ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
745 if (_sliderSlidingFinishedCallbackDelegate != null)
747 SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
750 if (_sliderMarkReachedCallbackDelegate != null)
752 MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
756 if (swigCPtr.Handle != global::System.IntPtr.Zero)
761 Interop.Slider.delete_Slider(swigCPtr);
763 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
769 // Callback for Slider ValueChanged signal
770 private bool OnValueChanged(IntPtr slider, float slideValue)
772 ValueChangedEventArgs e = new ValueChangedEventArgs();
774 // Populate all members of "e" (ValueChangedEventArgs) with real page
775 e.Slider = Slider.GetSliderFromPtr(slider);
776 e.SlideValue = slideValue;
778 if (_sliderValueChangedEventHandler != null)
780 //here we send all page to user event handlers
781 return _sliderValueChangedEventHandler(this, e);
786 // Callback for Slider SlidingFinished signal
787 private bool OnSlidingFinished(IntPtr slider, float slideValue)
789 SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
791 // Populate all members of "e" (SlidingFinishedEventArgs) with real page
792 e.Slider = Slider.GetSliderFromPtr(slider);
793 e.SlideValue = slideValue;
795 if (_sliderSlidingFinishedEventHandler != null)
797 //here we send all page to user event handlers
798 return _sliderSlidingFinishedEventHandler(this, e);
803 // Callback for Slider MarkReached signal
804 private bool OnMarkReached(IntPtr slider, int slideValue)
806 MarkReachedEventArgs e = new MarkReachedEventArgs();
808 // Populate all members of "e" (MarkReachedEventArgs) with real page
809 e.Slider = Slider.GetSliderFromPtr(slider);
810 e.SlideValue = slideValue;
812 if (_sliderMarkReachedEventHandler != null)
814 //here we send all page to user event handlers
815 return _sliderMarkReachedEventHandler(this, e);
821 /// The ValueChanged event arguments.
823 /// <since_tizen> 3 </since_tizen>
824 public class ValueChangedEventArgs : EventArgs
826 private Slider _slider;
827 private float _slideValue;
832 /// <since_tizen> 3 </since_tizen>
846 /// The slider value.
848 /// <since_tizen> 3 </since_tizen>
849 public float SlideValue
863 /// The SlidingFinished event arguments.
865 /// <since_tizen> 3 </since_tizen>
866 public class SlidingFinishedEventArgs : EventArgs
868 private Slider _slider;
869 private float _slideValue;
874 /// <since_tizen> 3 </since_tizen>
888 /// The slider value.
890 /// <since_tizen> 3 </since_tizen>
891 public float SlideValue
905 /// The MarkReached event arguments.
907 /// <since_tizen> 3 </since_tizen>
908 public class MarkReachedEventArgs : EventArgs
910 private Slider _slider;
911 private int _slideValue;
916 /// <since_tizen> 3 </since_tizen>
930 /// The slider value.
932 /// <since_tizen> 3 </since_tizen>
933 public int SlideValue
946 internal new class Property
948 internal static readonly int LOWER_BOUND = Interop.Slider.Slider_Property_LOWER_BOUND_get();
949 internal static readonly int UPPER_BOUND = Interop.Slider.Slider_Property_UPPER_BOUND_get();
950 internal static readonly int VALUE = Interop.Slider.Slider_Property_VALUE_get();
951 internal static readonly int TRACK_VISUAL = Interop.Slider.Slider_Property_TRACK_VISUAL_get();
952 internal static readonly int HANDLE_VISUAL = Interop.Slider.Slider_Property_HANDLE_VISUAL_get();
953 internal static readonly int PROGRESS_VISUAL = Interop.Slider.Slider_Property_PROGRESS_VISUAL_get();
954 internal static readonly int POPUP_VISUAL = Interop.Slider.Slider_Property_POPUP_VISUAL_get();
955 internal static readonly int POPUP_ARROW_VISUAL = Interop.Slider.Slider_Property_POPUP_ARROW_VISUAL_get();
956 internal static readonly int DISABLED_COLOR = Interop.Slider.Slider_Property_DISABLED_COLOR_get();
957 internal static readonly int VALUE_PRECISION = Interop.Slider.Slider_Property_VALUE_PRECISION_get();
958 internal static readonly int SHOW_POPUP = Interop.Slider.Slider_Property_SHOW_POPUP_get();
959 internal static readonly int SHOW_VALUE = Interop.Slider.Slider_Property_SHOW_VALUE_get();
960 internal static readonly int MARKS = Interop.Slider.Slider_Property_MARKS_get();
961 internal static readonly int SNAP_TO_MARKS = Interop.Slider.Slider_Property_SNAP_TO_MARKS_get();
962 internal static readonly int MARK_TOLERANCE = Interop.Slider.Slider_Property_MARK_TOLERANCE_get();